@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/date-picker/base/base-date-picker-constants.ts", "../../src/date-picker/base/base-date-picker.ts", "../../src/date-picker/base/base-date-picker-utils.ts", "../../src/date-picker/base/base-date-picker-adapter.ts", "../../src/date-picker/base/base-date-picker-foundation.ts"],
|
|
4
|
+
"sourcesContent": ["import IMask, { Masked, InputMask } from 'imask';\nimport { DayOfWeek, ICalendarDateSelectEventData } from '../../calendar';\n\nexport declare type DatePickerParseCallback = (value: string) => Date | null;\nexport declare type DatePickerFormatCallback = (value: Date | null) => string;\nexport declare type DatePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.MaskedPatternOptions>) => string;\nexport declare type DatePickerValueMode = 'object' | 'string' | 'iso-string';\n\nexport interface IDatePickerCalendarDropdownConfig<T> {\n value?: T | null;\n min?: Date | null;\n max?: Date | null;\n disabledDates?: Date | Date[] | null;\n popupClasses: string | string[];\n closeCallback: () => void;\n selectCallback: (value: ICalendarDateSelectEventData) => void;\n activeChangeCallback: (id: string) => void;\n disableDayCallback: (date: Date) => boolean;\n showToday: boolean;\n showClear: boolean;\n todayCallback: () => void;\n clearCallback: () => void;\n disabledDaysOfWeek?: DayOfWeek[] | null;\n}\n\n\nconst observedAttributes = {\n MIN: 'min',\n MAX: 'max',\n OPEN: 'open',\n DISABLED: 'disabled',\n POPUP_CLASSES: 'popup-classes',\n MASKED: 'masked',\n MASK_FORMAT: 'mask-format',\n SHOW_MASK_FORMAT: 'show-mask-format',\n VALUE_MODE: 'value-mode',\n ALLOW_INVALID_DATE: 'allow-invalid-date',\n SHOW_TODAY: 'show-today',\n SHOW_CLEAR: 'show-clear',\n DISABLED_DAYS_OF_WEEK: 'disabled-days-of-week',\n YEAR_RANGE: 'year-range',\n LOCALE: 'locale'\n};\n\nconst attributes = {\n TOGGLE: 'forge-date-picker-toggle'\n};\n\nconst selectors = {\n INPUT: 'input',\n TOGGLE: '[forge-date-picker-toggle],[data-forge-date-picker-toggle]'\n};\n\nexport const BASE_DATE_PICKER_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors\n};\n", "import { coerceBoolean, ensureChild, FoundationProperty, coerceNumberArray } from '@tylertech/forge-core';\nimport { DayOfWeek } from '../../calendar/calendar-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DATE_PICKER_CONSTANTS, DatePickerFormatCallback, DatePickerParseCallback, DatePickerPrepareMaskCallback, DatePickerValueMode } from './base-date-picker-constants';\nimport { BaseDatePickerFoundation } from './base-date-picker-foundation';\nimport { IBaseDatePickerAdapter } from './base-date-picker-adapter';\n\nexport interface IBaseDatePickerComponent<TValue> extends IBaseComponent {\n value: TValue | null | undefined;\n min: Date | string | null | undefined;\n max: Date | string | null | undefined;\n disabledDates: Date | Date[] | null | undefined;\n open: boolean;\n parseCallback: DatePickerParseCallback;\n formatCallback: DatePickerFormatCallback;\n prepareMaskCallback: DatePickerPrepareMaskCallback;\n disableDayCallback: (date: Date) => boolean;\n popupClasses: string | string[];\n disabled: boolean;\n masked: boolean;\n maskFormat: string;\n showMaskFormat: boolean;\n valueMode: DatePickerValueMode;\n notifyInputValueChanges: boolean;\n allowInvalidDate: boolean;\n showToday: boolean;\n showClear: boolean;\n disabledDaysOfWeek: DayOfWeek[];\n yearRange: string;\n locale: string | undefined;\n}\n\nexport abstract class BaseDatePickerComponent<TPublicValue, TPrivateValue, TFoundation extends BaseDatePickerFoundation<IBaseDatePickerAdapter, TPublicValue, TPrivateValue>> extends BaseComponent implements IBaseDatePickerComponent<TPublicValue> {\n protected _foundation: TFoundation;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.querySelector(BASE_DATE_PICKER_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, BASE_DATE_PICKER_CONSTANTS.selectors.INPUT).then(() => {\n this._foundation.initialize();\n });\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 BASE_DATE_PICKER_CONSTANTS.observedAttributes.MIN:\n this.min = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MAX:\n this.max = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.POPUP_CLASSES:\n this.popupClasses = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MASKED:\n this.masked = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_MASK_FORMAT:\n this.showMaskFormat = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MASK_FORMAT:\n this.maskFormat = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.VALUE_MODE:\n this.valueMode = newValue as DatePickerValueMode;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.ALLOW_INVALID_DATE:\n this.allowInvalidDate = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_TODAY:\n this.showToday = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_CLEAR:\n this.showClear = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.DISABLED_DAYS_OF_WEEK:\n this.disabledDaysOfWeek = coerceNumberArray(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.YEAR_RANGE:\n this.yearRange = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.LOCALE:\n this.locale = newValue;\n break;\n }\n }\n\n /** Gets/sets the value of the component. */\n @FoundationProperty()\n public declare value: TPublicValue | null | undefined;\n\n /** Gets/sets the minimum date the calendar will allow. */\n @FoundationProperty()\n public declare min: Date | string | null | undefined;\n\n /** Gets/sets the maximum date the calendar will allow. */\n @FoundationProperty()\n public declare max: Date | string | null | undefined;\n\n /** Gets/sets the dates that are restricted from being selected. */\n @FoundationProperty()\n public declare disabledDates: Date | Date[] | null | undefined;\n\n /** Gets/sets whether the calendar dropdown is open. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the CSS classes that are applied to the popup element. */\n @FoundationProperty()\n public declare popupClasses: string | string[];\n\n /** Gets/sets whether the date picker is disabled or not. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the input mask is applied or not. */\n @FoundationProperty()\n public declare masked: boolean;\n\n /** Gets/sets the mask format that displayed in the input. Default is `MM/DD/YYYY` */\n @FoundationProperty()\n public declare maskFormat: string;\n\n /** Gets/sets whether the mask format is displayed in the input or not. Only applies if `masked` is `true`. */\n @FoundationProperty()\n public declare showMaskFormat: boolean;\n\n /** Gets/sets the type for the `value` property and `forge-date-picker-change` event. */\n @FoundationProperty()\n public declare valueMode: DatePickerValueMode;\n\n /** Gets/sets whether the native input will be notified of value changes via the `input` and `change` events. */\n @FoundationProperty()\n public declare notifyInputValueChanges: boolean;\n\n /** Gets/sets whether to allow an invalid date to be input. When true, the date picker will not clear out the value of the input if the date was invalid (i.e. could not be parsed). */\n @FoundationProperty()\n public declare allowInvalidDate: boolean;\n\n /** Gets/sets whether the today button is visible in the popup. */\n @FoundationProperty()\n public declare showToday: boolean;\n\n /** Gets/sets whether the clear button is visible in the popup. */\n @FoundationProperty()\n public declare showClear: boolean;\n\n /** Sets the callback to use for parsing a date value string to a `Date` object. */\n @FoundationProperty()\n public declare parseCallback: DatePickerParseCallback;\n\n /** Sets the callback to use for formatting `Date` value to a custom string format. */\n @FoundationProperty()\n public declare formatCallback: DatePickerFormatCallback;\n\n /** Sets the callback to use when altering default mask entry. */\n @FoundationProperty()\n public declare prepareMaskCallback: DatePickerPrepareMaskCallback;\n\n /** Sets the days of the week to disable from selection. */\n @FoundationProperty()\n public declare disabledDaysOfWeek: DayOfWeek[];\n\n /** Sets the callback to use for testing whether a specific date should be disabled or not. */\n @FoundationProperty()\n public declare disableDayCallback: (date: Date) => boolean;\n\n /** Sets the year range. */\n @FoundationProperty()\n public declare yearRange: string;\n\n /** Sets the locale to use. */\n @FoundationProperty()\n public declare locale: string | undefined;\n}\n", "export function createToggleElement(iconName: string): HTMLElement {\n const iconButtonElement = document.createElement('forge-icon-button');\n iconButtonElement.type = 'button';\n iconButtonElement.tabIndex = -1;\n iconButtonElement.setAttribute('aria-label', 'Toggle calendar');\n iconButtonElement.slot = 'end';\n iconButtonElement.density = 'medium';\n\n const iconElement = document.createElement('forge-icon');\n iconElement.name = iconName;\n iconButtonElement.appendChild(iconElement);\n\n return iconButtonElement;\n}\n", "import { randomChars } from '@tylertech/forge-core';\nimport { CALENDAR_CONSTANTS, DateRange, DayOfWeek, ICalendarComponent, ICalendarDateSelectEventData } from '../../calendar';\nimport { ICalendarDropdown, ICalendarDropdownPopupConfig } from '../../calendar/calendar-dropdown';\nimport { BaseAdapter, IBaseAdapter, IDateInputMaskOptions } from '../../core';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ICON_BUTTON_CONSTANTS, IIconButtonComponent } from '../../icon-button';\nimport { TEXT_FIELD_CONSTANTS } from '../../text-field';\nimport { BASE_DATE_PICKER_CONSTANTS } from './base-date-picker-constants';\nimport { createToggleElement } from './base-date-picker-utils';\n\nexport interface IBaseDatePickerAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAccessibility(): void;\n destroy(): void;\n setActiveDescendant(id: string): void;\n\n // Mask\n initializeMask(options: IDateInputMaskOptions): void;\n destroyMask(): void;\n\n // Toggle\n tryCreateToggle(): void;\n addToggleListener(type: string, listener: (event: Event) => void): void;\n removeToggleListener(type: string, listener: (event: Event) => void): void;\n \n // Input\n addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n setInputValueChangedListener(context: any, listener: (value: any) => void): void;\n hasInputElement(): boolean;\n tryFocusInput(): void;\n tryBlurInput(): void;\n isInputDisabled(): boolean;\n isInputFocused(target?: EventTarget | null): boolean;\n setDisabled(value: boolean): void;\n getInputValue(): string;\n setInputValue(value: string, emitEvents: boolean): void;\n selectInputText(): void;\n emitInputEvent(type: string, data?: any): void;\n \n // Calendar\n attachCalendar(calendarConfig: Partial<ICalendarComponent>, dropdownConfig?: ICalendarDropdownPopupConfig): void;\n detachCalendar(): void;\n goToCalendarDate(date: Date): void;\n addDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void;\n removeDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void;\n setCalendarValue(value: Date | DateRange | null | undefined): void;\n setCalendarMinDate(value: Date | null | undefined): void;\n setCalendarMaxDate(value: Date | null | undefined): void;\n setCalendarDisabledDates(value: Date | Date[] | null | undefined): void;\n setCalendarDisabledDaysOfWeek(value: DayOfWeek[]): void;\n setCalendarDisableDayCallback(disableDayCallback: (date: Date) => boolean): void;\n setCalendarActiveDate(date: Date): void;\n getCalendarActiveDate(): Date | undefined;\n setCalendarYearRange(value: string): void;\n setCalendarLocale(locale: string | undefined): void;\n propagateCalendarKey(evt: KeyboardEvent): void;\n}\nexport abstract class BaseDatePickerAdapter<T extends BaseComponent> extends BaseAdapter<T> implements IBaseDatePickerAdapter {\n protected _identifier: string;\n protected _calendarDropdown?: ICalendarDropdown;\n protected _toggleElement?: HTMLElement;\n protected _valueChangeListeners: Array<() => void> = [];\n\n constructor(component: T) {\n super(component);\n this._identifier = randomChars();\n }\n\n // Initialization\n public abstract initializeAccessibility(): void;\n protected abstract _initializeInput(): void;\n protected abstract _initializeCalendarDropdown(): void;\n \n // Mask\n public abstract initializeMask(options: IDateInputMaskOptions): void;\n public abstract destroyMask(): void;\n\n // Calendar\n public abstract setActiveDescendant(id: string): void;\n \n // Input\n public abstract hasInputElement(): boolean;\n public abstract hasInputElement(): boolean;\n public abstract tryFocusInput(): void;\n public abstract tryBlurInput(): void;\n public abstract isInputDisabled(): boolean;\n public abstract isInputFocused(target?: EventTarget | null): boolean;\n public abstract setDisabled(value: boolean): void;\n public abstract addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n public abstract removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n public abstract setInputValueChangedListener(context: any, listener: (value: any) => void): void;\n public abstract getInputValue(): string;\n public abstract setInputValue(value: string, emitEvents: boolean): void;\n public abstract selectInputText(): void;\n public abstract emitInputEvent(type: string, data?: any): void;\n\n public initialize(): void {\n this._initializeInput();\n }\n\n public destroy(): void {\n this._calendarDropdown?.destroy();\n this.destroyValueChangeListener();\n }\n\n public destroyValueChangeListener(): void {\n this._valueChangeListeners.forEach(cb => cb());\n }\n\n public addToggleListener(type: string, listener: (event: Event) => void): void {\n this._toggleElement?.addEventListener(type, listener);\n }\n\n public removeToggleListener(type: string, listener: (event: Event) => void): void {\n this._toggleElement?.removeEventListener(type, listener);\n }\n\n public attachCalendar(calendarConfig: Partial<ICalendarComponent>, dropdownConfig?: ICalendarDropdownPopupConfig): void {\n this._calendarDropdown?.destroy();\n this._initializeCalendarDropdown();\n\n if (!this._calendarDropdown) {\n throw new Error('CalendarDropdown was not initialized.');\n }\n\n if (dropdownConfig) {\n Object.assign(this._calendarDropdown, dropdownConfig);\n }\n\n this._calendarDropdown.open(calendarConfig);\n this._calendarDropdown.dropdownElement?.style.setProperty('--forge-calendar-width', '320px');\n this._calendarDropdown.calendar?.style.setProperty('margin', '8px');\n }\n\n public detachCalendar(): void {\n if (this._calendarDropdown && this._calendarDropdown.isOpen) {\n this._calendarDropdown.close();\n }\n }\n\n public goToCalendarDate(date: Date): void {\n this._calendarDropdown?.calendar?.goToDate(date, true);\n }\n\n public addDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void {\n this._calendarDropdown?.calendar?.addEventListener(CALENDAR_CONSTANTS.events.DATE_SELECT, listener);\n }\n\n public removeDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void {\n this._calendarDropdown?.calendar?.removeEventListener(CALENDAR_CONSTANTS.events.DATE_SELECT, listener);\n }\n\n public setCalendarValue(value: Date | DateRange | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.value = value;\n }\n }\n\n public setCalendarMinDate(value: Date | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.min = value;\n }\n }\n\n public setCalendarMaxDate(value: Date | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.max = value;\n }\n }\n\n public setCalendarDisabledDates(value: Date | Date[] | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDates = value;\n }\n }\n\n public setCalendarDisabledDaysOfWeek(value: DayOfWeek[]): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDaysOfWeek = value;\n }\n }\n\n public setCalendarDisableDayCallback(disableDayCallback: (date: Date) => boolean): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDateBuilder = disableDayCallback;\n }\n }\n\n public setCalendarActiveDate(date: Date): void {\n this._calendarDropdown?.calendar?.setActiveDate(date);\n }\n\n public getCalendarActiveDate(): Date | undefined {\n return this._calendarDropdown?.calendar?.activeDate;\n }\n\n public setCalendarYearRange(value: string): void {\n if (this._calendarDropdown?.calendar?.yearRange) {\n this._calendarDropdown.calendar.yearRange = value;\n }\n }\n\n public setCalendarLocale(locale: string | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.locale = locale;\n }\n }\n\n public propagateCalendarKey(evt: KeyboardEvent): void {\n this._calendarDropdown?.calendar?.handleKey(evt);\n }\n\n public tryCreateToggle(): void {\n const textField = this._component.querySelector('forge-text-field');\n const toggleElement = this._component.querySelector(BASE_DATE_PICKER_CONSTANTS.selectors.TOGGLE);\n if (textField) {\n const existingIconButton = textField.querySelector(`${ICON_BUTTON_CONSTANTS.elementName}[slot=end]`);\n if (existingIconButton || toggleElement) {\n this._toggleElement = (existingIconButton || toggleElement) as IIconButtonComponent;\n return;\n }\n\n const iconButtonElement = this._createToggleElement();\n textField.appendChild(iconButtonElement);\n this._toggleElement = iconButtonElement;\n } else if (toggleElement) {\n this._toggleElement = toggleElement as HTMLElement;\n }\n }\n\n protected _createToggleElement(): HTMLElement {\n return createToggleElement('insert_invitation');\n }\n\n protected _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the Forge text-field, if so, let's target our popup around\n // one if its internal elements for best alignment\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName);\n if (textField?.popoverTargetElement) {\n return textField.popoverTargetElement;\n }\n\n return this._component.querySelector('input') || this._component;\n }\n}\n", "import { ICustomElementFoundation, isValidDate, Platform } from '@tylertech/forge-core';\nimport { ICalendarComponent, ICalendarDropdownPopupConfig } from '../../calendar';\nimport { CalendarMode, DayOfWeek, ICalendarDateSelectEventData } from '../../calendar/calendar-constants';\nimport { DateRange } from '../../calendar/core/date-range';\nimport { formatDate, parseDateString } from '../../core/utils/date-utils';\nimport { DEFAULT_DATE_MASK, IDateInputMaskOptions } from '../../core/mask/date-input-mask';\nimport { IBaseDatePickerAdapter } from './base-date-picker-adapter';\nimport { BASE_DATE_PICKER_CONSTANTS, DatePickerFormatCallback, DatePickerParseCallback, DatePickerPrepareMaskCallback, DatePickerValueMode } from './base-date-picker-constants';\n\nexport interface IBaseDatePickerFoundation<TValue> extends ICustomElementFoundation {\n value: TValue | null | undefined;\n min: Date | string | null | undefined;\n max: Date | string | null | undefined;\n disabledDates: Date | Date[] | null | undefined;\n open: boolean;\n parseCallback: DatePickerParseCallback;\n formatCallback: DatePickerFormatCallback;\n prepareMaskCallback: DatePickerPrepareMaskCallback;\n popupClasses: string | string[];\n disabled: boolean;\n masked: boolean;\n maskFormat: string;\n showMaskFormat: boolean;\n valueMode: DatePickerValueMode;\n notifyInputValueChanges: boolean;\n allowInvalidDate: boolean;\n showToday: boolean;\n showClear: boolean;\n yearRange: string;\n locale: string | undefined;\n}\n\nexport abstract class BaseDatePickerFoundation<TAdapter extends IBaseDatePickerAdapter, TPublicValue, TPrivateValue = TPublicValue> implements IBaseDatePickerFoundation<TPublicValue> {\n // State\n protected abstract _mode: CalendarMode;\n protected _value?: TPrivateValue | null = null;\n protected _min?: Date | null = null;\n protected _max?: Date | null = null;\n protected _disabledDates?: Date | Date[] | null = null;\n protected _open = false;\n protected _parseCallback: DatePickerParseCallback;\n protected _formatCallback: DatePickerFormatCallback;\n protected _prepareMaskCallback: DatePickerPrepareMaskCallback;\n protected _disableDayCallback: (date: Date) => boolean;\n protected _popupClasses: string | string[];\n protected _disabled = false;\n protected _masked = true;\n protected _maskFormat = DEFAULT_DATE_MASK;\n protected _showMaskFormat = false;\n protected _valueMode: DatePickerValueMode = 'object';\n protected _notifyInputValueChanges = true;\n protected _allowInvalidDate = false;\n protected _showToday = false;\n protected _showClear = false;\n protected _disabledDaysOfWeek: DayOfWeek[];\n protected _yearRange = '-50:+50';\n protected _locale: string | undefined;\n protected _isInitialized = false;\n\n // Listeners\n private _inputListener: (evt: Event) => void;\n private _inputKeydownListener: (evt: KeyboardEvent) => void;\n private _inputFocusListener: (evt: FocusEvent) => void;\n private _inputBlurListener: (evt: FocusEvent) => void;\n private _inputValueChangedListener: (value: string) => void;\n private _toggleMousedownListener: (evt: MouseEvent) => void;\n private _dropdownCloseListener: () => void;\n private _activeChangeListener: (id: string) => void;\n private _todayListener: () => void;\n private _clearListener: () => void;\n private _dateSelectListener: (evt: CustomEvent<ICalendarDateSelectEventData>) => void;\n \n constructor(protected _adapter: TAdapter) {\n this._inputListener = evt => this._onInput(evt);\n this._inputKeydownListener = evt => this._onInputKeydown(evt);\n this._inputFocusListener = evt => this._onInputFocus(evt);\n this._inputBlurListener = evt => this._onInputBlur(evt);\n this._inputValueChangedListener = value => this._onInputValueChanged(value);\n this._dropdownCloseListener = () => this._onDropdownClose();\n this._toggleMousedownListener = evt => this._onToggleMousedown(evt);\n this._dateSelectListener = evt => this._onDateSelected(evt.detail);\n this._activeChangeListener = id => this._onActiveDescendantChanged(id);\n this._todayListener = () => this._onToday();\n this._clearListener = () => this._onClear();\n }\n\n protected _initializeState?(): void;\n public abstract value: TPublicValue | null | undefined;\n protected abstract _emitChangeEvent(value: TPrivateValue | null | undefined, force?: boolean): boolean;\n protected abstract _emitOpenEvent(): void;\n protected abstract _emitCloseEvent(): void;\n protected abstract _onToday(): void;\n protected abstract _onClear(): void;\n protected abstract _getCurrentValue(): TPrivateValue | null | undefined;\n protected abstract _setFormattedInputValue(suppressValueChanges?: boolean): void;\n protected abstract _onInputValueChanged(value: string): void;\n protected abstract _handleInput(value: string): void;\n protected abstract _setValue(value: Date | null): void;\n protected abstract _onDateSelected(event: ICalendarDateSelectEventData): void;\n protected abstract _applyDisabledDates(): void;\n protected abstract _applyDisabledDaysOfWeek(): void;\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.initializeAccessibility();\n\n if (!this._adapter.hasInputElement()) {\n throw new Error('Unable to locate child <input> element.');\n }\n\n this._initializeState?.();\n this._adapter.tryCreateToggle();\n\n if (!this._masked) {\n this._setInputChangeListeners();\n }\n\n this._initializeListeners();\n this._setFormattedInputValue(true);\n this._applyDisabled();\n this._applyMask();\n this._initializeValueChangedListeners();\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n this._destroyListeners();\n\n if (this._masked) {\n this._adapter.destroyMask();\n }\n\n this._closeCalendar();\n this._adapter.destroy();\n }\n\n protected _initializeListeners(): void {\n this._adapter.addToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.addInputListener('keydown', this._inputKeydownListener, true);\n this._adapter.addInputListener('focus', this._inputFocusListener);\n this._adapter.addInputListener('blur', this._inputBlurListener);\n }\n\n protected _initializeValueChangedListeners(): void {\n this._adapter.setInputValueChangedListener(this, this._inputValueChangedListener);\n }\n\n protected _setInputChangeListeners(): void {\n this._adapter.addInputListener('input', this._inputListener);\n }\n\n protected _removeInputChangeListeners(): void {\n this._adapter.removeInputListener('input', this._inputListener);\n }\n\n protected _destroyListeners(): void {\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.removeInputListener('keydown', this._inputKeydownListener, true);\n this._adapter.removeInputListener('focus', this._inputFocusListener);\n this._adapter.removeInputListener('blur', this._inputBlurListener);\n this._removeInputChangeListeners();\n }\n\n protected _onInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n protected _onInputFocus(evt: FocusEvent): void {\n if (this.masked && this.showMaskFormat) {\n this._applyMask();\n }\n\n this._adapter.selectInputText();\n }\n \n protected _onInputBlur(evt: FocusEvent): 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._closeCalendar(true);\n }\n }\n\n protected _openCalendar(emitOpenEvent = false): void {\n this._formatInputValue();\n\n const calendarConfig: Partial<ICalendarComponent> = {\n mode: this._mode,\n value: this._getCurrentValue() as Date | Date[] | DateRange | null | undefined,\n min: this._min,\n max: this._max,\n disabledDates: this._disabledDates,\n yearRange: this._yearRange,\n todayButton: this._showToday,\n clearButton: this._showClear,\n todayCallback: this._todayListener,\n clearCallback: this._clearListener,\n disabledDateBuilder: this._disableDayCallback,\n disabledDaysOfWeek: this._disabledDaysOfWeek,\n preventFocus: true,\n menuAnimation: 'fade',\n fixedHeight: true,\n selectionFollowsMonth: true,\n locale: this._locale\n };\n const dropdownConfig: ICalendarDropdownPopupConfig = {\n popupClasses: this._popupClasses,\n closeCallback: this._dropdownCloseListener,\n activeChangeCallback: this._activeChangeListener\n };\n\n // If the max date is in the past, set the calendar to the min date\n const currentDate = new Date().getTime();\n if (this._min && this._max && this._max.getTime() < currentDate) {\n calendarConfig.year = this._min.getFullYear();\n calendarConfig.month = this._min.getMonth();\n }\n\n this._adapter.attachCalendar(calendarConfig, dropdownConfig);\n this._adapter.addDateSelectListener(this._dateSelectListener);\n this._open = true;\n this._adapter.setHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN);\n\n if (emitOpenEvent) {\n this._emitOpenEvent();\n }\n }\n\n protected _closeCalendar(emitCloseEvent = false): void {\n this._open = false;\n this._adapter.removeHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN);\n this._adapter.removeDateSelectListener(this._dateSelectListener);\n this._adapter.detachCalendar();\n if (emitCloseEvent) {\n this._emitCloseEvent();\n }\n }\n\n protected _onInputKeydown(evt: KeyboardEvent): void {\n // Handle keyboard shortcuts that make use of the shift key first\n if (evt.shiftKey) {\n switch (evt.key) {\n case 'Delete':\n case 'Backspace':\n evt.preventDefault();\n this._onClear();\n if (this._open) {\n this._closeCalendar(true);\n }\n return;\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'm':\n case 'M':\n case 'y':\n case 'Y':\n case 'd':\n case 'D':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n return;\n }\n break;\n }\n }\n\n switch (evt.key) {\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeCalendar(true);\n }\n break;\n case 'ArrowDown':\n evt.preventDefault();\n if (!this._open) {\n this._adapter.selectInputText();\n this._openCalendar(true);\n } else {\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'ArrowUp':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case 'Home':\n case 'End':\n if (this._open) {\n if (evt.key === 'Enter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n // If we have an input mask applied, we want to make sure it doesn't receive the key events for left and right keys\n const isLeftRight = ['ArrowLeft', 'ArrowRight'].includes(evt.key);\n if (this._masked && isLeftRight) {\n evt.stopImmediatePropagation();\n }\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'n':\n case 't':\n evt.preventDefault();\n this._onToday();\n if (this._open) {\n this._closeCalendar(true);\n }\n break;\n case 'PageUp':\n case 'PageDown':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'Tab':\n if (this._open) {\n const activeDate = this._adapter.getCalendarActiveDate();\n if (activeDate) {\n this._onDateSelected({\n date: activeDate,\n selected: true,\n type: 'date'\n });\n }\n }\n break;\n }\n }\n\n protected _getSanitizedDateString(value: string): string {\n return value.replace(/_|[a-z]|[A-Z]/g, '').replace(/\\/$|\\/\\/$/, '');\n }\n\n private _onToggleMousedown(evt: Event): void {\n if (this._disabled) {\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._closeCalendar(true);\n } else {\n if (!Platform.isMobile) {\n this._adapter.tryFocusInput();\n } else {\n this._adapter.tryBlurInput();\n }\n\n this._openCalendar(true);\n }\n }\n\n private _onDropdownClose(): void {\n this._closeCalendar(true);\n }\n\n private _onActiveDescendantChanged(id: string): void {\n this._adapter.setActiveDescendant(id);\n }\n\n protected _formatInputValue(): void {\n const inputValue = this._adapter.getInputValue();\n if (inputValue) {\n const parsedDate = this._parseDateString(inputValue);\n if (isValidDate(parsedDate) && this._isDateValueAcceptable(parsedDate)) {\n const formattedDate = this._formatDate(parsedDate);\n if (formattedDate && formattedDate !== inputValue) {\n this._adapter.setInputValue(formattedDate, this._notifyInputValueChanges);\n }\n } else {\n if (!this._allowInvalidDate) {\n this._adapter.setInputValue('', this._notifyInputValueChanges);\n }\n }\n }\n }\n\n protected _formatDate(date: Date | null | undefined): string {\n if (!isValidDate(date)) {\n return '';\n }\n return typeof this._formatCallback === 'function' ? this._formatCallback(date) : formatDate(date);\n }\n\n protected _parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, '');\n if (!value || !value.length) {\n return null;\n }\n const parsedDate = typeof this._parseCallback === 'function' ? this._parseCallback(value) : parseDateString(value);\n return isValidDate(parsedDate) ? parsedDate : null;\n }\n\n protected _coerceDateValue(value?: Date | string | null): Date | null | undefined {\n if (typeof value === 'string') {\n return this._parseDateString(value);\n }\n return value;\n }\n\n protected _getTypedValue(value: Date | null | undefined): Date | string | null | undefined {\n switch (this._valueMode) {\n case 'object':\n return value;\n case 'string':\n return this._formatDate(value);\n case 'iso-string':\n if (value) {\n // Remove the time portion of the date\n value.setHours(0, 0, 0, 0);\n }\n return value ? value.toISOString() : null;\n default:\n return value;\n }\n }\n\n protected _isDateValueAcceptable(value?: Date | null): boolean {\n if (!value || this._allowInvalidDate) {\n return true;\n }\n\n const passesMinDate = (): boolean => this._min && !this._allowInvalidDate ? this._min.getTime() <= value.getTime() : true;\n const passesMaxDate = (): boolean => this._max && !this._allowInvalidDate ? this._max.getTime() >= value.getTime() : true;\n const disabledDates = (): Date[] => Array.isArray(this._disabledDates) ? this._disabledDates : this._disabledDates ? [this._disabledDates] : [];\n const isNotDisabled = (): boolean => !disabledDates().some(bd => bd.getTime() === value.getTime());\n const dayNotDisabled = (): boolean => !(this._disabledDaysOfWeek && this._disabledDaysOfWeek.includes(value.getDay()));\n const dateNotDisabledThroughCallback = (): boolean => typeof this._disableDayCallback !== 'function' || !this._disableDayCallback(value);\n\n return passesMinDate() && passesMaxDate() && isNotDisabled() && dayNotDisabled() && dateNotDisabledThroughCallback();\n }\n\n protected _initializeMask(): void {\n const options: IDateInputMaskOptions = {\n showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),\n pattern: this._maskFormat,\n onChange: (value: string) => this._handleInput(value)\n };\n\n if (this._prepareMaskCallback) {\n options.prepareCallback = (value, masked, flags, maskInstance) => {\n return this._prepareMaskCallback.call(null, value, masked, flags, maskInstance);\n };\n }\n\n this._adapter.initializeMask(options);\n }\n\n private _applyMask(): void {\n if (this._masked) {\n this._initializeMask();\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n }\n }\n\n protected _applyMin(): void {\n if (this._isInitialized) {\n this._adapter.setCalendarMinDate(this._min);\n }\n }\n protected _applyMax(): void {\n if (this._isInitialized) {\n this._adapter.setCalendarMaxDate(this._max);\n }\n }\n\n private _applyDisableDayCallback(): void {\n this._adapter.setCalendarDisableDayCallback(this._disableDayCallback);\n }\n\n private _applyDisabled(): void {\n this._adapter.setDisabled(this._disabled);\n }\n\n public get valueMode(): DatePickerValueMode {\n return this._valueMode;\n }\n public set valueMode(value: DatePickerValueMode) {\n if (this._valueMode !== value) {\n const isValidMode = ['object', 'string', 'iso-string'].includes(value);\n if (!isValidMode) {\n return;\n }\n this._valueMode = value;\n this._emitChangeEvent(this._value);\n this._adapter.setHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.VALUE_MODE, this._valueMode);\n }\n }\n\n public get min(): Date | string | null | undefined {\n return this._min ? new Date(this._min.getTime()) : null;\n }\n public set min(value: Date | string | null | undefined) {\n if (this._min !== value) {\n const date = this._coerceDateValue(value);\n this._min = !!date ? new Date(date.getTime()) : null;\n this._applyMin();\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarMinDate(this._min);\n }\n }\n }\n\n public get max(): Date | string | null | undefined {\n return this._max ? new Date(this._max.getTime()) : null;\n }\n public set max(value: Date | string | null | undefined) {\n if (this._max !== value) {\n this._max = this._coerceDateValue(value);\n this._applyMax();\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarMaxDate(this._max);\n }\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (this._isInitialized) {\n this._open = value;\n if (this._open) {\n this._openCalendar();\n } else {\n this._closeCalendar();\n }\n }\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 }\n }\n\n public get disabledDates(): Date | Date[] | null | undefined {\n if (!this._disabledDates) {\n return null;\n }\n\n if (Array.isArray(this._disabledDates)) {\n return this._disabledDates.map(d => new Date(d.getTime()));\n }\n\n return new Date(this._disabledDates.getTime());\n }\n\n public set disabledDates(value: Date | Date[] | null | undefined) {\n if (!value) {\n this._disabledDates = null;\n } else if (Array.isArray(value)) {\n this._disabledDates = value.map(d => new Date(d.getTime()));\n } else {\n this._disabledDates = new Date(value.getTime());\n }\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarDisabledDates(this._disabledDates);\n }\n\n this._applyDisabledDates();\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 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._removeInputChangeListeners();\n this._applyMask();\n } else {\n this._adapter.destroyMask();\n this._setInputChangeListeners();\n this._formatInputValue();\n }\n }\n }\n }\n\n public get maskFormat(): string {\n return this._maskFormat;\n }\n public set maskFormat(value: string) {\n if (this._maskFormat !== value) {\n this._maskFormat = value;\n if (this._isInitialized) {\n this._applyMask();\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 notifyInputValueChanges(): boolean {\n return this._notifyInputValueChanges;\n }\n public set notifyInputValueChanges(value: boolean) {\n this._notifyInputValueChanges = value;\n }\n\n public get allowInvalidDate(): boolean {\n return this._allowInvalidDate;\n }\n public set allowInvalidDate(value: boolean) {\n if (this._allowInvalidDate !== value) {\n this._allowInvalidDate = value;\n this._adapter.toggleHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.ALLOW_INVALID_DATE, this._allowInvalidDate);\n }\n }\n\n public get disabledDaysOfWeek(): DayOfWeek[] {\n return this._disabledDaysOfWeek;\n }\n public set disabledDaysOfWeek(value: DayOfWeek[]) {\n if (this._disabledDaysOfWeek !== value) {\n this._disabledDaysOfWeek = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarDisabledDaysOfWeek(this._disabledDaysOfWeek);\n }\n\n this._applyDisabledDaysOfWeek();\n }\n }\n\n public get disableDayCallback(): (date: Date) => boolean {\n return this._disableDayCallback;\n }\n public set disableDayCallback(value: (date: Date) => boolean) {\n if (value !== this._disableDayCallback) {\n this._disableDayCallback = value;\n this._applyDisableDayCallback();\n }\n }\n\n public get parseCallback(): DatePickerParseCallback {\n return this._parseCallback;\n }\n public set parseCallback(cb: DatePickerParseCallback) {\n this._parseCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get formatCallback(): DatePickerFormatCallback {\n return this._formatCallback;\n }\n public set formatCallback(cb: DatePickerFormatCallback) {\n this._formatCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get prepareMaskCallback(): DatePickerPrepareMaskCallback {\n return this._prepareMaskCallback;\n }\n public set prepareMaskCallback(cb: DatePickerPrepareMaskCallback) {\n this._prepareMaskCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get showToday(): boolean {\n return this._showToday;\n }\n public set showToday(value: boolean) {\n this._showToday = value;\n }\n\n public get showClear(): boolean {\n return this._showClear;\n }\n public set showClear(value: boolean) {\n this._showClear = value;\n }\n\n public get yearRange(): string {\n return this._yearRange;\n }\n public set yearRange(value: string) {\n if (this._yearRange !== value) {\n this._yearRange = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarYearRange(this._yearRange);\n }\n }\n }\n\n public get locale(): string | undefined {\n return this._locale;\n }\n public set locale(value: string | undefined) {\n if (this._locale !== value) {\n this._locale = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarLocale(this._locale);\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["observedAttributes", "attributes", "selectors", "BASE_DATE_PICKER_CONSTANTS", "BaseDatePickerComponent", "BaseComponent", "BASE_DATE_PICKER_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumberArray", "__decorateClass", "FoundationProperty", "createToggleElement", "iconName", "iconButtonElement", "iconElement", "BaseDatePickerAdapter", "BaseAdapter", "component", "randomChars", "_a", "cb", "type", "listener", "calendarConfig", "dropdownConfig", "_b", "_c", "date", "CALENDAR_CONSTANTS", "value", "disableDayCallback", "locale", "evt", "textField", "toggleElement", "BASE_DATE_PICKER_CONSTANTS", "existingIconButton", "ICON_BUTTON_CONSTANTS", "iconButtonElement", "createToggleElement", "TEXT_FIELD_CONSTANTS", "BaseDatePickerFoundation", "_adapter", "DEFAULT_DATE_MASK", "evt", "value", "id", "_a", "emitOpenEvent", "calendarConfig", "dropdownConfig", "currentDate", "BASE_DATE_PICKER_CONSTANTS", "emitCloseEvent", "isLeftRight", "activeDate", "Platform", "inputValue", "parsedDate", "isValidDate", "formattedDate", "date", "formatDate", "parseDateString", "passesMinDate", "passesMaxDate", "disabledDates", "isNotDisabled", "bd", "dayNotDisabled", "dateNotDisabledThroughCallback", "options", "masked", "flags", "maskInstance", "d", "cb"]
|
|
7
|
+
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as n,c as d,d as s}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as n,c as d,d as s}from"./chunk.FBDRM4YN.js";import{a as i,b as a}from"./chunk.UQQQSJVM.js";import{a as o,e as t}from"./chunk.BIQTNLIF.js";import{d as e}from"./chunk.M3QDAYD2.js";var f=`${a}mini-drawer`,c={HOVER:"hover"},l={elementName:f,attributes:c};var w='<template><div class="forge-drawer__root" part="root"><div class="forge-drawer forge-drawer--mini" part="container"><slot name="header"></slot><div class="forge-drawer__content" part="content"><slot></slot></div><slot name="footer"></slot></div></div></template>',b='.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:"touch";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-drawer__content::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer__root{z-index:1;z-index:var(--forge-z-index-surface,1);height:100%}.forge-drawer--mini{width:56px;width:var(--forge-drawer-mini-width,56px);z-index:1;z-index:var(--forge-z-index-surface,1);-webkit-transition:width .2s cubic-bezier(.4, 0, .2, 1);transition:width .2s cubic-bezier(.4, 0, .2, 1)}.forge-drawer--mini .forge-drawer__content{overflow:hidden}.forge-drawer--closed{width:0}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important;width:56px;width:var(--forge-drawer-mini-width,56px);overflow:visible!important;--forge-divider-margin:4px 0}:host([direction=right]){min-width:56px;min-width:var(--forge-drawer-mini-width,56px);width:auto}:host([direction=right]) .forge-drawer__root{position:relative}:host(:not([open])){display:none}:host([hover]) .forge-drawer--right{position:absolute;right:0}:host([hover]) .forge-drawer:hover{width:256px!important;width:var(--forge-drawer-width,256px)!important;-webkit-transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s;transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s}:host([hover]) .forge-drawer:hover .forge-drawer__content{overflow:auto;overflow:overlay}',r=class extends s{constructor(){super();t(this,w,b),this._foundation=new d(new n(this))}};r=e([i({name:l.elementName})],r);function D(){o(r)}export{l as a,r as b,D as c};
|
|
7
|
+
//# sourceMappingURL=chunk.4NABD6XG.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/drawer/mini-drawer/mini-drawer-constants.ts", "../../src/drawer/mini-drawer/mini-drawer.ts", "../../src/drawer/mini-drawer/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}mini-drawer`;\n\nconst attributes = {\n HOVER: 'hover'\n};\n\nexport const MINI_DRAWER_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BaseDrawerAdapter, BaseDrawerComponent, BaseDrawerFoundation, IBaseDrawerComponent } from '../base';\nimport { MINI_DRAWER_CONSTANTS } from './mini-drawer-constants';\n\nconst template = '<template><div class=\\\"forge-drawer__root\\\" part=\\\"root\\\"><div class=\\\"forge-drawer forge-drawer--mini\\\" part=\\\"container\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-drawer__content::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer__root{z-index:1;z-index:var(--forge-z-index-surface,1);height:100%}.forge-drawer--mini{width:56px;width:var(--forge-drawer-mini-width,56px);z-index:1;z-index:var(--forge-z-index-surface,1);-webkit-transition:width .2s cubic-bezier(.4, 0, .2, 1);transition:width .2s cubic-bezier(.4, 0, .2, 1)}.forge-drawer--mini .forge-drawer__content{overflow:hidden}.forge-drawer--closed{width:0}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important;width:56px;width:var(--forge-drawer-mini-width,56px);overflow:visible!important}:host([direction=right]){min-width:56px;min-width:var(--forge-drawer-mini-width,56px);width:auto}:host([direction=right]) .forge-drawer__root{position:relative}:host(:not([open])){display:none}:host([hover]) .forge-drawer--right{position:absolute;right:0}:host([hover]) .forge-drawer:hover{width:256px!important;width:var(--forge-drawer-width,256px)!important;-webkit-transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s;transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s}:host([hover]) .forge-drawer:hover .forge-drawer__content{overflow:auto;overflow:overlay}';\n\nexport interface IMiniDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-mini-drawer': IMiniDrawerComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-mini-drawer>` custom element.\n * \n * @tag forge-mini-drawer\n */\n@CustomElement({\n name: MINI_DRAWER_CONSTANTS.elementName\n})\nexport class MiniDrawerComponent extends BaseDrawerComponent<BaseDrawerFoundation> implements IMiniDrawerComponent {\n protected _foundation: BaseDrawerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BaseDrawerFoundation(new BaseDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MiniDrawerComponent } from './mini-drawer';\n\nexport * from './mini-drawer-constants';\nexport * from './mini-drawer';\n\nexport function defineMiniDrawerComponent(): void {\n defineCustomElement(MiniDrawerComponent);\n}\n"],
|
|
5
|
-
"mappings": "4LAEA,IAAMA,EAA2C,GAAGC,eAE9CC,EAAa,CACjB,MAAO,OACT,EAEaC,EAAwB,CACnC,YAAAH,EACA,WAAAE,CACF,ECPA,IAAME,EAAW,yQACXC,EAAS,
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}mini-drawer`;\n\nconst attributes = {\n HOVER: 'hover'\n};\n\nexport const MINI_DRAWER_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BaseDrawerAdapter, BaseDrawerComponent, BaseDrawerFoundation, IBaseDrawerComponent } from '../base';\nimport { MINI_DRAWER_CONSTANTS } from './mini-drawer-constants';\n\nconst template = '<template><div class=\\\"forge-drawer__root\\\" part=\\\"root\\\"><div class=\\\"forge-drawer forge-drawer--mini\\\" part=\\\"container\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-drawer__content::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer__root{z-index:1;z-index:var(--forge-z-index-surface,1);height:100%}.forge-drawer--mini{width:56px;width:var(--forge-drawer-mini-width,56px);z-index:1;z-index:var(--forge-z-index-surface,1);-webkit-transition:width .2s cubic-bezier(.4, 0, .2, 1);transition:width .2s cubic-bezier(.4, 0, .2, 1)}.forge-drawer--mini .forge-drawer__content{overflow:hidden}.forge-drawer--closed{width:0}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important;width:56px;width:var(--forge-drawer-mini-width,56px);overflow:visible!important;--forge-divider-margin:4px 0}:host([direction=right]){min-width:56px;min-width:var(--forge-drawer-mini-width,56px);width:auto}:host([direction=right]) .forge-drawer__root{position:relative}:host(:not([open])){display:none}:host([hover]) .forge-drawer--right{position:absolute;right:0}:host([hover]) .forge-drawer:hover{width:256px!important;width:var(--forge-drawer-width,256px)!important;-webkit-transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s;transition:width .3s cubic-bezier(.4, 0, .2, 1) .3s}:host([hover]) .forge-drawer:hover .forge-drawer__content{overflow:auto;overflow:overlay}';\n\nexport interface IMiniDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-mini-drawer': IMiniDrawerComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-mini-drawer>` custom element.\n * \n * @tag forge-mini-drawer\n */\n@CustomElement({\n name: MINI_DRAWER_CONSTANTS.elementName\n})\nexport class MiniDrawerComponent extends BaseDrawerComponent<BaseDrawerFoundation> implements IMiniDrawerComponent {\n protected _foundation: BaseDrawerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BaseDrawerFoundation(new BaseDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MiniDrawerComponent } from './mini-drawer';\n\nexport * from './mini-drawer-constants';\nexport * from './mini-drawer';\n\nexport function defineMiniDrawerComponent(): void {\n defineCustomElement(MiniDrawerComponent);\n}\n"],
|
|
5
|
+
"mappings": "4LAEA,IAAMA,EAA2C,GAAGC,eAE9CC,EAAa,CACjB,MAAO,OACT,EAEaC,EAAwB,CACnC,YAAAH,EACA,WAAAE,CACF,ECPA,IAAME,EAAW,yQACXC,EAAS,k3IAkBFC,EAAN,cAAkCC,CAA0E,CAGjH,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAqB,IAAIC,EAAkB,IAAI,CAAC,CACzE,CACF,EARaJ,EAANK,EAAA,CAHNC,EAAc,CACb,KAAMC,EAAsB,WAC9B,CAAC,GACYP,GChBN,SAASQ,GAAkC,CAChDC,EAAoBC,CAAmB,CACzC",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "MINI_DRAWER_CONSTANTS", "template", "styles", "MiniDrawerComponent", "BaseDrawerComponent", "attachShadowTemplate", "BaseDrawerFoundation", "BaseDrawerAdapter", "__decorateClass", "CustomElement", "MINI_DRAWER_CONSTANTS", "defineMiniDrawerComponent", "defineCustomElement", "MiniDrawerComponent"]
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as S}from"./chunk.INQZNXG6.js";import{a as k}from"./chunk.KZMXTOLO.js";import{b as O}from"./chunk.F3FWXBDS.js";import{c as m}from"./chunk.EWT2PBEP.js";import{d as y}from"./chunk.L7BSLZCB.js";import{a as I}from"./chunk.KIQZLNDG.js";import{a as B,b as P}from"./chunk.KD4DVSJR.js";import{k as L,n as T}from"./chunk.QG5EYBS3.js";import{a as v}from"./chunk.ZY3ETQ3D.js";import{a}from"./chunk.NVUMRW44.js";import{j as d,l as _,m as h}from"./chunk.UVXKHQQZ.js";import{a as A}from"./chunk.NHOGZDLN.js";import{f as p,k as E}from"./chunk.TPXXHX5J.js";import{k as l}from"./chunk.J2M2MXP2.js";import{a as g,d as s}from"./chunk.M3QDAYD2.js";var C={TYPE:"type",DISABLED:"disabled",POPOVER_ICON:"popover-icon",ANCHOR:"anchor",HREF:"href",TARGET:"target",DOWNLOAD:"download",REL:"rel",DENSE:"dense",TABINDEX:"tabindex"},N=g({},C),D={ROOT:"forge-button",POPOVER_ICON:"forge-button__popover-icon"},w={ROOT:"[part=root]",END_SLOT:"slot[name=end]"},r={observedAttributes:C,attributes:N,selectors:w,classes:D};var R=P(B(S(k(E)))),n=class extends R{constructor(){super();y.define(m)}static get observedAttributes(){return Object.values(r.observedAttributes)}connectedCallback(){super.connectedCallback(),this._foundation.initialize()}attributeChangedCallback(t,i,o){switch(t){case r.observedAttributes.TYPE:this.type=o;return;case r.observedAttributes.DISABLED:this.disabled=l(o);return;case r.observedAttributes.POPOVER_ICON:this.popoverIcon=l(o);return;case r.observedAttributes.ANCHOR:this.anchor=l(o);return;case r.observedAttributes.HREF:this.href=o;return;case r.observedAttributes.TARGET:this.target=o;return;case r.observedAttributes.DOWNLOAD:this.download=o;return;case r.observedAttributes.REL:this.rel=o;return;case r.observedAttributes.DENSE:this.dense=l(o);return}super.attributeChangedCallback(t,i,o)}labelClickedCallback(){this._foundation.click({animateStateLayer:!0})}labelChangedCallback(t){this[h]({ariaLabel:t},{setAttribute:!this.hasAttribute("aria-label")})}get form(){return this[d].form}get name(){var t;return(t=this.getAttribute("name"))!=null?t:""}set name(t){this.setAttribute("name",t)}get value(){var t;return(t=this.getAttribute("value"))!=null?t:""}set value(t){this.setAttribute("value",t)}click(){this._foundation.click({animateStateLayer:!0})}focus(t){this._foundation.focus(t)}};n.formAssociated=!0,s([a()],n.prototype,"type",2),s([a()],n.prototype,"disabled",2),s([a()],n.prototype,"popoverIcon",2),s([a()],n.prototype,"anchor",2),s([a()],n.prototype,"href",2),s([a()],n.prototype,"target",2),s([a()],n.prototype,"download",2),s([a()],n.prototype,"rel",2),s([a()],n.prototype,"dense",2);var H=class{constructor(e){this._adapter=e;this._type="button";this._disabled=!1;this._popoverIcon=!1;this._anchor=!1;this._href="";this._target="";this._download="";this._rel="";this._dense=!1;this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._anchorFocusListener=()=>this._adapter.focusHost(),this._adapter.addHostListener("keydown",this._keydownListener)}initialize(){this._adapter.initialize(),this._anchor?this._adapter.addAnchorEventListener("focus",this._anchorFocusListener):this._adapter.addHostListener("click",this._clickListener)}click({animateStateLayer:e=!1}={}){this._disabled||(this._anchor?this._adapter.clickAnchor():this._adapter.clickHost(),e&&this._adapter.animateStateLayer())}focus(e){this._adapter.focusHost(e),(e==null?void 0:e.focusVisible)!==!1&&this._adapter.forceFocusVisible()}async _onClick(e){let t=this._type==="submit"||this._type==="reset";!t&&this._adapter.hasPopoverTarget()&&this._adapter.managePopover()||(await new Promise(i=>setTimeout(i)),!(e.defaultPrevented||this._disabled)&&t&&this._adapter.clickFormButton(this._type))}async _onKeydown(e){if(e.key===" "&&!this._anchor){e.preventDefault(),this.click();return}await new Promise(t=>setTimeout(t)),!(e.defaultPrevented||this._disabled)&&e.key==="Enter"&&(this._anchor?this._adapter.clickAnchor():this.click())}_toggleAnchor(){this._anchor?(this._adapter.initializeAnchor(),this._manageAnchorListeners(),this.disabled=!1):(this._adapter.removeAnchor(),this._manageAnchorListeners())}_manageAnchorListeners(){this._anchor?(this._adapter.removeHostListener("click",this._clickListener),this._adapter.addAnchorEventListener("focus",this._anchorFocusListener)):(this._adapter.addHostListener("click",this._clickListener),this._adapter.removeAnchorEventListener("focus",this._anchorFocusListener))}get type(){return this._type}set type(e){this._type!==e&&(this._type=e,this._adapter.setHostAttribute(r.attributes.TYPE,e))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._anchor&&(e=!1),this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(r.attributes.DISABLED,e))}get popoverIcon(){return this._popoverIcon}set popoverIcon(e){e=!!e,this._popoverIcon!==e&&(this._popoverIcon=e,this._adapter.toggleDefaultPopoverIcon(this._popoverIcon),this._adapter.toggleHostAttribute(r.attributes.POPOVER_ICON,e))}get anchor(){return this._anchor}set anchor(e){e=!!e,this._anchor!==e&&(this._anchor=e,this._toggleAnchor(),this._adapter.toggleHostAttribute(r.attributes.ANCHOR,e))}get href(){return this._href}set href(e){e=(e!=null?e:"").trim(),this._href!==e&&(this._href=e,this.anchor=this._href.length>0,this._anchor&&this._adapter.setAnchorProperty("href",this._href),this._adapter.toggleHostAttribute(r.attributes.HREF,!!this._href,this._href))}get target(){return this._target}set target(e){this._target!==e&&(this._target=e!=null?e:"_self",this._adapter.setAnchorProperty("target",e),this._adapter.toggleHostAttribute(r.attributes.TARGET,!!this._target,this._target))}get download(){return this._download}set download(e){this._download!==e&&(this._download=e,this._adapter.setAnchorProperty("download",this._download),this._adapter.toggleHostAttribute(r.attributes.DOWNLOAD,!!this._download,this._download))}get rel(){return this._rel}set rel(e){this._rel!==e&&(this._rel=e,this._adapter.setAnchorProperty("rel",this._rel),this._adapter.toggleHostAttribute(r.attributes.REL,!!this._rel,this._rel))}get dense(){return this._dense}set dense(e){e=!!e,this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(r.attributes.DENSE,e))}};var F=class extends v{constructor(t){super(t);this._rootElement=p(this._component,r.selectors.ROOT),this._focusIndicatorElement=p(this._component,O.elementName),this._stateLayerElement=p(this._component,I.elementName),this._endSlotElement=p(this._component,r.selectors.END_SLOT)}initialize(){this._applyHostSemantics()}initializeAnchor(){this._anchorElement=this._createAnchorRootElement(),this._rootElement.insertAdjacentElement("afterend",this._anchorElement),this._applyHostSemantics()}removeAnchor(){var t;(t=this._anchorElement)==null||t.remove(),this._anchorElement=void 0,this._applyHostSemantics()}setAnchorProperty(t,i){this._anchorElement&&(this._anchorElement[t]=i)}setDisabled(t){if(this._anchorElement){this.hasHostAttribute("aria-disabled")&&this.removeHostAttribute("aria-disabled"),this._focusIndicatorElement.isConnected||this._rootElement.append(this._focusIndicatorElement),this._stateLayerElement.isConnected||(this._stateLayerElement.disabled&&(this._stateLayerElement.disabled=!1),this._rootElement.append(this._stateLayerElement));return}t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement),this._component[_]=!t,this._component[h]({ariaDisabled:t?"true":null})}clickAnchor(){var t;(t=this._anchorElement)==null||t.click()}clickHost(){HTMLElement.prototype.click.call(this._component)}forceFocusVisible(){this._focusIndicatorElement.active=!0}clickFormButton(t){var i;if(this._component.form)if(t==="submit"){this._component[d].setFormValue(this._component.value);let o=document.createElement("button");o.type=t,T(this._component,o,L),this._component.form.addEventListener("submit",c=>{Object.defineProperty(c,"submitter",{configurable:!0,enumerable:!0,get:()=>this._component})},{capture:!0,once:!0}),this._component.insertAdjacentElement("afterend",o),o.click(),o.remove()}else t==="reset"&&((i=this._component.form)==null||i.reset())}addAnchorEventListener(t,i){this._rootElement.addEventListener(t,i)}removeAnchorEventListener(t,i){this._rootElement.removeEventListener(t,i)}hasPopoverTarget(){return this._component.hasAttribute("popovertarget")||!!this._component.popoverTargetElement}managePopover(){if(this._component.form||!this.hasPopoverTarget()||!A())return!1;let t=this._locatePopoverTargetElement();if(!t)return!1;let i=this._component.getAttribute("popovertargetaction")||"toggle",o=t.matches(":popover-open");switch(i){case"show":return o||t.showPopover(),!0;case"hide":return o&&t.hidePopover(),!1;case"toggle":default:let c=t.togglePopover();if(c&&t.popover!=="manual"){let f=u=>{u.stopPropagation(),t.matches(":popover-open")&&t.hidePopover()};this._component.addEventListener("click",f,{capture:!0,once:!0}),t.addEventListener("beforetoggle",async()=>{await new Promise(u=>setTimeout(u)),this._component.removeEventListener("click",f,{capture:!0})},{once:!0})}return c}}toggleDefaultPopoverIcon(t){if(t){if(!this._endSlotElement.querySelector("forge-icon")){let o=document.createElement("forge-icon");o.classList.add(r.classes.POPOVER_ICON),o.name=m.name,this._endSlotElement.append(o)}}else{let i=this._endSlotElement.querySelector("forge-icon");i==null||i.remove()}}animateStateLayer(){var t;this._stateLayerElement.disabled||(t=this._stateLayerElement)==null||t.playAnimation()}_locatePopoverTargetElement(){var i;let t=(i=this._component.popoverTargetElement)!=null?i:null;if(!t){let o=this._component.ownerDocument.getRootNode();if(!o)return null;let c=this._component.getAttribute("popovertarget");t=o.querySelector(`#${c}`)}return t}_applyHostSemantics(){let t=this._component.getAttribute("role"),i=!t||["button","link"].includes(t);this._component[h]({role:this._anchorElement?"link":"button"},{setAttribute:i}),this._component[_]=!!this._anchorElement||!this._component.disabled}_createAnchorRootElement(){let t=document.createElement("a");return t.setAttribute("aria-hidden","true"),t.tabIndex=-1,this._component.href&&(t.href=this._component.href),this._component.target&&(t.target=this._component.target),this._component.download&&(t.download=this._component.download),this._component.rel&&(t.rel=this._component.rel),t}};export{r as a,n as b,H as c,F as d};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as k}from"./chunk.2AM2BKEO.js";import{a as S}from"./chunk.INQZNXG6.js";import{b as O}from"./chunk.VBJ4WUVH.js";import{c as m}from"./chunk.RLQB7224.js";import{d as y}from"./chunk.CIUPY66Y.js";import{a as I}from"./chunk.AN2E2SSN.js";import{a as B,b as P}from"./chunk.2WRAXA3H.js";import{k as L,n as T}from"./chunk.QG5EYBS3.js";import{a as v}from"./chunk.6GSVB5NB.js";import{a}from"./chunk.NVUMRW44.js";import{j as d,l as _,m as h}from"./chunk.UQQQSJVM.js";import{a as A}from"./chunk.NHOGZDLN.js";import{f as p,k as g}from"./chunk.BIQTNLIF.js";import{k as l}from"./chunk.J2M2MXP2.js";import{a as E,d as s}from"./chunk.M3QDAYD2.js";var C={TYPE:"type",DISABLED:"disabled",POPOVER_ICON:"popover-icon",ANCHOR:"anchor",HREF:"href",TARGET:"target",DOWNLOAD:"download",REL:"rel",DENSE:"dense",TABINDEX:"tabindex"},N=E({},C),D={ROOT:"forge-button",POPOVER_ICON:"forge-button__popover-icon"},w={ROOT:"[part=root]",END_SLOT:"slot[name=end]"},r={observedAttributes:C,attributes:N,selectors:w,classes:D};var R=P(B(S(k(g)))),n=class extends R{constructor(){super();y.define(m)}static get observedAttributes(){return Object.values(r.observedAttributes)}connectedCallback(){super.connectedCallback(),this._foundation.initialize()}attributeChangedCallback(t,i,o){switch(t){case r.observedAttributes.TYPE:this.type=o;return;case r.observedAttributes.DISABLED:this.disabled=l(o);return;case r.observedAttributes.POPOVER_ICON:this.popoverIcon=l(o);return;case r.observedAttributes.ANCHOR:this.anchor=l(o);return;case r.observedAttributes.HREF:this.href=o;return;case r.observedAttributes.TARGET:this.target=o;return;case r.observedAttributes.DOWNLOAD:this.download=o;return;case r.observedAttributes.REL:this.rel=o;return;case r.observedAttributes.DENSE:this.dense=l(o);return}super.attributeChangedCallback(t,i,o)}labelClickedCallback(){this._foundation.click({animateStateLayer:!0})}labelChangedCallback(t){this[h]({ariaLabel:t},{setAttribute:!this.hasAttribute("aria-label")})}get form(){return this[d].form}get name(){var t;return(t=this.getAttribute("name"))!=null?t:""}set name(t){this.setAttribute("name",t)}get value(){var t;return(t=this.getAttribute("value"))!=null?t:""}set value(t){this.setAttribute("value",t)}click(){this._foundation.click({animateStateLayer:!0})}focus(t){this._foundation.focus(t)}};n.formAssociated=!0,s([a()],n.prototype,"type",2),s([a()],n.prototype,"disabled",2),s([a()],n.prototype,"popoverIcon",2),s([a()],n.prototype,"anchor",2),s([a()],n.prototype,"href",2),s([a()],n.prototype,"target",2),s([a()],n.prototype,"download",2),s([a()],n.prototype,"rel",2),s([a()],n.prototype,"dense",2);var H=class{constructor(e){this._adapter=e;this._type="button";this._disabled=!1;this._popoverIcon=!1;this._anchor=!1;this._href="";this._target="";this._download="";this._rel="";this._dense=!1;this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._anchorFocusListener=()=>this._adapter.focusHost(),this._adapter.addHostListener("keydown",this._keydownListener)}initialize(){this._adapter.initialize(),this._anchor?this._adapter.addAnchorEventListener("focus",this._anchorFocusListener):this._adapter.addHostListener("click",this._clickListener)}click({animateStateLayer:e=!1}={}){this._disabled||(this._anchor?this._adapter.clickAnchor():this._adapter.clickHost(),e&&this._adapter.animateStateLayer())}focus(e){this._adapter.focusHost(e),(e==null?void 0:e.focusVisible)!==!1&&this._adapter.forceFocusVisible()}async _onClick(e){let t=this._type==="submit"||this._type==="reset";!t&&this._adapter.hasPopoverTarget()&&this._adapter.managePopover()||(await new Promise(i=>setTimeout(i)),!(e.defaultPrevented||this._disabled)&&t&&this._adapter.clickFormButton(this._type))}async _onKeydown(e){if(e.key===" "&&!this._anchor){e.preventDefault(),this.click();return}await new Promise(t=>setTimeout(t)),!(e.defaultPrevented||this._disabled)&&e.key==="Enter"&&(this._anchor?this._adapter.clickAnchor():this.click())}_toggleAnchor(){this._anchor?(this._adapter.initializeAnchor(),this._manageAnchorListeners(),this.disabled=!1):(this._adapter.removeAnchor(),this._manageAnchorListeners())}_manageAnchorListeners(){this._anchor?(this._adapter.removeHostListener("click",this._clickListener),this._adapter.addAnchorEventListener("focus",this._anchorFocusListener)):(this._adapter.addHostListener("click",this._clickListener),this._adapter.removeAnchorEventListener("focus",this._anchorFocusListener))}get type(){return this._type}set type(e){this._type!==e&&(this._type=e,this._adapter.setHostAttribute(r.attributes.TYPE,e))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._anchor&&(e=!1),this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(r.attributes.DISABLED,e))}get popoverIcon(){return this._popoverIcon}set popoverIcon(e){e=!!e,this._popoverIcon!==e&&(this._popoverIcon=e,this._adapter.toggleDefaultPopoverIcon(this._popoverIcon),this._adapter.toggleHostAttribute(r.attributes.POPOVER_ICON,e))}get anchor(){return this._anchor}set anchor(e){e=!!e,this._anchor!==e&&(this._anchor=e,this._toggleAnchor(),this._adapter.toggleHostAttribute(r.attributes.ANCHOR,e))}get href(){return this._href}set href(e){e=(e!=null?e:"").trim(),this._href!==e&&(this._href=e,this.anchor=this._href.length>0,this._anchor&&this._adapter.setAnchorProperty("href",this._href),this._adapter.toggleHostAttribute(r.attributes.HREF,!!this._href,this._href))}get target(){return this._target}set target(e){this._target!==e&&(this._target=e!=null?e:"_self",this._adapter.setAnchorProperty("target",e),this._adapter.toggleHostAttribute(r.attributes.TARGET,!!this._target,this._target))}get download(){return this._download}set download(e){this._download!==e&&(this._download=e,this._adapter.setAnchorProperty("download",this._download),this._adapter.toggleHostAttribute(r.attributes.DOWNLOAD,!!this._download,this._download))}get rel(){return this._rel}set rel(e){this._rel!==e&&(this._rel=e,this._adapter.setAnchorProperty("rel",this._rel),this._adapter.toggleHostAttribute(r.attributes.REL,!!this._rel,this._rel))}get dense(){return this._dense}set dense(e){e=!!e,this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(r.attributes.DENSE,e))}};var F=class extends v{constructor(t){super(t);this._rootElement=p(this._component,r.selectors.ROOT),this._focusIndicatorElement=p(this._component,O.elementName),this._stateLayerElement=p(this._component,I.elementName),this._endSlotElement=p(this._component,r.selectors.END_SLOT)}initialize(){this._applyHostSemantics()}initializeAnchor(){this._anchorElement=this._createAnchorRootElement(),this._rootElement.insertAdjacentElement("afterend",this._anchorElement),this._applyHostSemantics()}removeAnchor(){var t;(t=this._anchorElement)==null||t.remove(),this._anchorElement=void 0,this._applyHostSemantics()}setAnchorProperty(t,i){this._anchorElement&&(this._anchorElement[t]=i)}setDisabled(t){if(this._anchorElement){this.hasHostAttribute("aria-disabled")&&this.removeHostAttribute("aria-disabled"),this._focusIndicatorElement.isConnected||this._rootElement.append(this._focusIndicatorElement),this._stateLayerElement.isConnected||(this._stateLayerElement.disabled&&(this._stateLayerElement.disabled=!1),this._rootElement.append(this._stateLayerElement));return}t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement),this._component[_]=!t,this._component[h]({ariaDisabled:t?"true":null})}clickAnchor(){var t;(t=this._anchorElement)==null||t.click()}clickHost(){HTMLElement.prototype.click.call(this._component)}forceFocusVisible(){this._focusIndicatorElement.active=!0}clickFormButton(t){var i;if(this._component.form)if(t==="submit"){this._component[d].setFormValue(this._component.value);let o=document.createElement("button");o.type=t,T(this._component,o,L),this._component.form.addEventListener("submit",c=>{Object.defineProperty(c,"submitter",{configurable:!0,enumerable:!0,get:()=>this._component})},{capture:!0,once:!0}),this._component.insertAdjacentElement("afterend",o),o.click(),o.remove()}else t==="reset"&&((i=this._component.form)==null||i.reset())}addAnchorEventListener(t,i){this._rootElement.addEventListener(t,i)}removeAnchorEventListener(t,i){this._rootElement.removeEventListener(t,i)}hasPopoverTarget(){return this._component.hasAttribute("popovertarget")||!!this._component.popoverTargetElement}managePopover(){if(this._component.form||!this.hasPopoverTarget()||!A())return!1;let t=this._locatePopoverTargetElement();if(!t)return!1;let i=this._component.getAttribute("popovertargetaction")||"toggle",o=t.matches(":popover-open");switch(i){case"show":return o||t.showPopover(),!0;case"hide":return o&&t.hidePopover(),!1;case"toggle":default:let c=t.togglePopover();if(c&&t.popover!=="manual"){let f=u=>{u.stopPropagation(),t.matches(":popover-open")&&t.hidePopover()};this._component.addEventListener("click",f,{capture:!0,once:!0}),t.addEventListener("beforetoggle",async()=>{await new Promise(u=>setTimeout(u)),this._component.removeEventListener("click",f,{capture:!0})},{once:!0})}return c}}toggleDefaultPopoverIcon(t){if(t){if(!this._endSlotElement.querySelector("forge-icon")){let o=document.createElement("forge-icon");o.classList.add(r.classes.POPOVER_ICON),o.name=m.name,this._endSlotElement.append(o)}}else{let i=this._endSlotElement.querySelector("forge-icon");i==null||i.remove()}}animateStateLayer(){var t;this._stateLayerElement.disabled||(t=this._stateLayerElement)==null||t.playAnimation()}_locatePopoverTargetElement(){var i;let t=(i=this._component.popoverTargetElement)!=null?i:null;if(!t){let o=this._component.ownerDocument.getRootNode();if(!o)return null;let c=this._component.getAttribute("popovertarget");t=o.querySelector(`#${c}`)}return t}_applyHostSemantics(){let t=this._component.getAttribute("role"),i=!t||["button","link"].includes(t);this._component[h]({role:this._anchorElement?"link":"button"},{setAttribute:i}),this._component[_]=!!this._anchorElement||!this._component.disabled}_createAnchorRootElement(){let t=document.createElement("a");return t.setAttribute("aria-hidden","true"),t.tabIndex=-1,this._component.href&&(t.href=this._component.href),this._component.target&&(t.target=this._component.target),this._component.download&&(t.download=this._component.download),this._component.rel&&(t.rel=this._component.rel),t}};export{r as a,n as b,H as c,F as d};
|
|
7
|
+
//# sourceMappingURL=chunk.4UU6PWR2.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/button/base/base-button-constants.ts", "../../src/button/base/base-button.ts", "../../src/button/base/base-button-foundation.ts", "../../src/button/base/base-button-adapter.ts"],
|
|
4
|
-
"sourcesContent": ["const observedAttributes = {\n TYPE: 'type',\n DISABLED: 'disabled',\n POPOVER_ICON: 'popover-icon',\n ANCHOR: 'anchor',\n HREF: 'href',\n TARGET: 'target',\n DOWNLOAD: 'download',\n REL: 'rel',\n DENSE: 'dense',\n TABINDEX: 'tabindex'\n} as const;\n\nconst attributes = {\n ...observedAttributes\n} as const;\n\nconst classes = {\n ROOT: 'forge-button',\n POPOVER_ICON: 'forge-button__popover-icon'\n} as const;\n\nconst selectors = {\n ROOT:'[part=root]',\n END_SLOT: 'slot[name=end]'\n} as const;\n\nexport const BASE_BUTTON_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors,\n classes\n} as const;\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonTarget = '_blank' | '_self' | '_parent' | '_top';\nexport type ButtonClickOptions = { animateStateLayer?: boolean };\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { IconRegistry } from '../../icon/icon-registry';\nimport { WithFocusable, IWithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ExperimentalFocusOptions, internals, setDefaultAria } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonType } from './base-button-constants';\nimport { BaseButtonFoundation } from './base-button-foundation';\nimport { WithLabelAwareness, IWithLabelAwareness } from '../../core/mixins/label/with-label-aware';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\n\nexport interface IBaseButton extends IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n name: string;\n value: string;\n dense: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n form: HTMLFormElement | null;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nconst BaseButtonClass = WithDefaultAria(WithElementInternals(WithLabelAwareness(WithFocusable(BaseComponent))));\n\nexport abstract class BaseButton<T extends BaseButtonFoundation<IBaseButtonAdapter>> extends BaseButtonClass implements IBaseButton {\n public static get observedAttributes(): string[] {\n return Object.values(BASE_BUTTON_CONSTANTS.observedAttributes);\n }\n\n public static readonly formAssociated = true;\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowDropDown);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_BUTTON_CONSTANTS.observedAttributes.TYPE:\n this.type = newValue as ButtonType;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.POPOVER_ICON:\n this.popoverIcon = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.HREF:\n this.href = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.TARGET:\n this.target = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DOWNLOAD:\n this.download = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.REL:\n this.rel = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DENSE:\n this.dense = coerceBoolean(newValue);\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public labelClickedCallback(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({ ariaLabel: value }, { setAttribute: !this.hasAttribute('aria-label') });\n }\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(name: string) {\n this.setAttribute('name', name);\n }\n\n public get value(): string {\n return this.getAttribute('value') ?? '';\n }\n public set value(value: string) {\n this.setAttribute('value', value);\n }\n\n @FoundationProperty()\n public declare type: ButtonType;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popoverIcon: boolean;\n\n @FoundationProperty()\n public declare anchor: boolean;\n\n @FoundationProperty()\n public declare href: string;\n\n @FoundationProperty()\n public declare target: string;\n\n @FoundationProperty()\n public declare download: string;\n\n @FoundationProperty()\n public declare rel: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n public override click(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public override focus(options: ExperimentalFocusOptions): void {\n this._foundation.focus(options);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonClickOptions, ButtonType } from './base-button-constants';\n\nexport interface IBaseButtonFoundation extends ICustomElementFoundation {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n dense: boolean;\n click(options: ButtonClickOptions): void;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nexport abstract class BaseButtonFoundation<T extends IBaseButtonAdapter> implements IBaseButtonFoundation {\n private _type: ButtonType = 'button'; // We default our buttons to the \"button\" type instead of \"submit\" as that is more common\n private _disabled = false;\n private _popoverIcon = false;\n private _anchor = false;\n private _href = '';\n private _target = '';\n private _download = '';\n private _rel = '';\n private _dense = false;\n\n private _clickListener: EventListener;\n private _keydownListener: EventListener;\n private _anchorFocusListener: EventListener;\n\n constructor(protected _adapter: T) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._anchorFocusListener = () => this._adapter.focusHost(); // Always ensure our host is focused when the anchor is focused\n this._adapter.addHostListener('keydown', this._keydownListener);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (this._anchor) {\n // When we're in anchor mode, we swap to us an `<a>` internally as the root. Since the `<a>`\n // element is interactive by default, we can remove our click listener since the anchor will\n // take over the default interaction handling\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n // When we're in button mode, we need to handle the click event on the host element\n this._adapter.addHostListener('click', this._clickListener);\n }\n }\n\n /**\n * Handles overriding the the `click()` method on the HTMLElement instance\n */\n public click({ animateStateLayer = false }: ButtonClickOptions = {}): void {\n if (this._disabled) {\n return;\n }\n\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this._adapter.clickHost();\n }\n\n if (animateStateLayer) {\n this._adapter.animateStateLayer();\n }\n }\n\n public focus(options?: ExperimentalFocusOptions): void {\n this._adapter.focusHost(options);\n\n if (options?.focusVisible !== false) {\n this._adapter.forceFocusVisible();\n }\n }\n\n protected async _onClick(evt: MouseEvent): Promise<void> {\n const isFormType = this._type === 'submit' || this._type === 'reset';\n\n // Custom elements do not work with the popover* attributes by default so we need to manually\n // manage the popover functionality for now...\n if (!isFormType && this._adapter.hasPopoverTarget()) {\n const isOpen = this._adapter.managePopover();\n\n // If the popover was opened successfully we can stop here since there is no need to\n // handle any other scenarios\n if (isOpen) {\n return;\n }\n }\n\n // Wait a cycle to allow the click event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n // We allow for our click event to bubble first before we handle it in case the developer\n // wants to prevent the default behavior\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n\n // For button types of submit or reset, we need to manually submit or reset the form\n // since the click event doesn't do that for us with custom elements\n if (isFormType) {\n this._adapter.clickFormButton(this._type);\n }\n }\n\n /**\n * Handle keydown events on the host element to manually trigger click events.\n */\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n // Handle the special case for the space key (when not an anchor) to avoid\n // scrolling when triggered\n if (evt.key === ' ' && !this._anchor) {\n evt.preventDefault();\n this.click();\n return;\n }\n\n // Wait a cycle for the keydown event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n \n if (evt.key === 'Enter') {\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this.click();\n }\n }\n }\n\n private _toggleAnchor(): void {\n if (this._anchor) {\n this._adapter.initializeAnchor();\n this._manageAnchorListeners();\n this.disabled = false; // Anchor elements are always enabled\n } else {\n this._adapter.removeAnchor();\n this._manageAnchorListeners();\n }\n }\n\n private _manageAnchorListeners(): void {\n if (this._anchor) {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.removeAnchorEventListener('focus', this._anchorFocusListener);\n }\n }\n\n public get type(): ButtonType {\n return this._type;\n }\n public set type(type: ButtonType) {\n if (this._type !== type) {\n this._type = type;\n this._adapter.setHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TYPE, type);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n\n if (this._disabled === value) {\n return;\n }\n\n // When we're in anchor mode we need to ensure that the anchor is always enabled\n if (this._anchor) {\n value = false;\n }\n\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DISABLED, value);\n }\n\n public get popoverIcon(): boolean {\n return this._popoverIcon;\n }\n public set popoverIcon(value: boolean) {\n value = Boolean(value);\n if (this._popoverIcon !== value) {\n this._popoverIcon = value;\n this._adapter.toggleDefaultPopoverIcon(this._popoverIcon);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.POPOVER_ICON, value);\n }\n }\n\n /**\n * Anchor properties\n */\n\n public get anchor(): boolean {\n return this._anchor;\n }\n public set anchor(value: boolean) {\n value = Boolean(value);\n if (this._anchor !== value) {\n this._anchor = value;\n this._toggleAnchor();\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.ANCHOR, value);\n }\n }\n\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n value = (value ?? '').trim();\n if (this._href !== value) {\n this._href = value;\n this.anchor = this._href.length > 0;\n if (this._anchor) {\n this._adapter.setAnchorProperty('href', this._href);\n }\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.HREF, !!this._href, this._href);\n }\n }\n\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value ?? '_self';\n this._adapter.setAnchorProperty('target', value);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TARGET, !!this._target, this._target);\n }\n }\n\n public get download(): string {\n return this._download;\n }\n public set download(value: string) {\n if (this._download !== value) {\n this._download = value;\n this._adapter.setAnchorProperty('download', this._download);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);\n }\n }\n\n public get rel(): string {\n return this._rel;\n }\n public set rel(value: string) {\n if (this._rel !== value) {\n this._rel = value;\n this._adapter.setAnchorProperty('rel', this._rel);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.REL, !!this._rel, this._rel);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n value = Boolean(value);\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DENSE, value);\n }\n }\n}\n", "import { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { IBaseButton } from './base-button';\nimport { BASE_BUTTON_CONSTANTS } from './base-button-constants';\nimport { BUTTON_FORM_ATTRIBUTES, cloneAttributes } from '../../core/utils/reflect-utils';\nimport { internals, isFocusable, setDefaultAria } from '../../constants';\nimport { supportsPopover } from '../../core/utils/feature-detection';\n\nexport interface IBaseButtonAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAnchor(): void;\n removeAnchor(): void;\n setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void;\n setDisabled(value: boolean): void;\n clickAnchor(): void;\n clickHost(): void;\n clickFormButton(type: string): void;\n forceFocusVisible(): void;\n addAnchorEventListener(type: string, listener: EventListener): void;\n removeAnchorEventListener(type: string, listener: EventListener): void;\n hasPopoverTarget(): boolean;\n managePopover(): boolean;\n toggleDefaultPopoverIcon(value: boolean): void;\n animateStateLayer(): void;\n}\n\nexport abstract class BaseButtonAdapter extends BaseAdapter<IBaseButton> implements IBaseButtonAdapter {\n protected _rootElement: HTMLElement;\n protected _anchorElement: HTMLAnchorElement | undefined;\n protected _focusIndicatorElement: IFocusIndicatorComponent;\n protected _stateLayerElement: IStateLayerComponent;\n protected _endSlotElement: HTMLSlotElement;\n\n constructor(component: IBaseButton) {\n super(component);\n this._rootElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.ROOT) as HTMLButtonElement;\n this._focusIndicatorElement = getShadowElement(this._component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n this._endSlotElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.END_SLOT) as HTMLSlotElement;\n }\n\n public initialize(): void {\n this._applyHostSemantics();\n }\n\n public initializeAnchor(): void {\n this._anchorElement = this._createAnchorRootElement();\n this._rootElement.insertAdjacentElement('afterend', this._anchorElement);\n this._applyHostSemantics();\n }\n\n public removeAnchor(): void {\n this._anchorElement?.remove();\n this._anchorElement = undefined;\n this._applyHostSemantics();\n }\n\n public setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void {\n if (this._anchorElement) {\n this._anchorElement[name] = value;\n }\n }\n\n public setDisabled(value: boolean): void {\n if (this._anchorElement) {\n if (this.hasHostAttribute('aria-disabled')) {\n this.removeHostAttribute('aria-disabled');\n }\n if (!this._focusIndicatorElement.isConnected) {\n this._rootElement.append(this._focusIndicatorElement);\n }\n if (!this._stateLayerElement.isConnected) {\n if (this._stateLayerElement.disabled) {\n this._stateLayerElement.disabled = false;\n }\n this._rootElement.append(this._stateLayerElement);\n }\n return; // Cannot disable an anchor element\n }\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n\n this._component[isFocusable] = !value;\n this._component[setDefaultAria]({ ariaDisabled: value ? 'true' : null });\n }\n\n public clickAnchor(): void {\n this._anchorElement?.click();\n }\n\n public clickHost(): void {\n // Calling click() on the prototype ensures we don't end up in an infinite\n // recursion since the host overrides the HTMLElement.click() method\n HTMLElement.prototype.click.call(this._component);\n }\n\n public forceFocusVisible(): void {\n this._focusIndicatorElement.active = true;\n }\n\n public clickFormButton(type: string): void {\n if (!this._component.form) {\n return; // Nothing for us to do if there is no form element associated to us\n }\n\n if (type === 'submit') {\n // We need to set the form value to the button value before submitting the form\n this._component[internals].setFormValue(this._component.value);\n\n // We don't use a real <button> since the host is the semantic button, so for\n // the \"submit\" button type we need to create a temporary button and click it\n // to trigger the form submission\n const tempBtn = document.createElement('button');\n tempBtn.type = type;\n cloneAttributes(this._component, tempBtn, BUTTON_FORM_ATTRIBUTES);\n\n // form.requestSubmit(submitter) does not work with form associated custom\n // elements. This patches the dispatched submit event to add the correct `submitter`.\n // See https://github.com/WICG/webcomponents/issues/814\n this._component.form.addEventListener('submit', evt => {\n Object.defineProperty(evt, 'submitter', {\n configurable: true,\n enumerable: true,\n get: () => this._component\n });\n }, { capture: true, once: true });\n\n this._component.insertAdjacentElement('afterend', tempBtn);\n tempBtn.click();\n tempBtn.remove();\n } else if (type === 'reset') {\n this._component.form?.reset();\n }\n }\n\n public addAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public hasPopoverTarget(): boolean {\n return this._component.hasAttribute('popovertarget') || !!this._component.popoverTargetElement;\n }\n\n /**\n * We are emulating native behavior here since custom elements do not support integrating with the\n * native popover element. This method will attempt to find the popover target element and handle\n * its `popovertargetaction`\n */\n public managePopover(): boolean {\n if (this._component.form || !this.hasPopoverTarget() || !supportsPopover()) {\n return false;\n }\n \n const popoverElement = this._locatePopoverTargetElement();\n if (!popoverElement) {\n return false;\n }\n\n const action = this._component.getAttribute('popovertargetaction') || 'toggle';\n const isPopoverOpen = popoverElement.matches(':popover-open');\n\n switch (action) {\n case 'show':\n if (!isPopoverOpen) {\n popoverElement.showPopover();\n }\n return true;\n case 'hide':\n if (isPopoverOpen) {\n popoverElement.hidePopover();\n }\n return false;\n case 'toggle':\n default:\n const result = popoverElement.togglePopover();\n\n // When the popover is open and is using an \"auto\" popover mode, we need to handle\n // clicking ourselves again to close without re-opening the popover. We do this by\n // adding a click listener to the component that will stop propagation of the event\n // and then remove itself after the first click (or when the popover is closed externally).\n if (result && popoverElement.popover !== 'manual') {\n const listener: EventListener = evt => {\n evt.stopPropagation();\n\n // The popover will already be closed via pointer, but we need to ensure that\n // it closes via keyboard as well so we perform the following check regardless\n if (popoverElement.matches(':popover-open')) {\n popoverElement.hidePopover();\n }\n };\n this._component.addEventListener('click', listener, { capture: true, once: true });\n popoverElement.addEventListener('beforetoggle', async () => {\n await new Promise<void>(resolve => setTimeout(resolve)); // Wait a cycle to allow the click event to propagate first\n this._component.removeEventListener('click', listener, { capture: true });\n }, { once: true });\n }\n\n return result;\n }\n }\n\n public toggleDefaultPopoverIcon(value: boolean): void {\n if (value) {\n // We support a built-in \"popover icon\" for convenience that can be used to indicate that the button will show a popover\n const hasIcon = this._endSlotElement.querySelector('forge-icon');\n if (!hasIcon) {\n const icon = document.createElement('forge-icon');\n icon.classList.add(BASE_BUTTON_CONSTANTS.classes.POPOVER_ICON);\n icon.name = tylIconArrowDropDown.name;\n this._endSlotElement.append(icon);\n }\n } else {\n const icon = this._endSlotElement.querySelector('forge-icon');\n icon?.remove();\n }\n }\n\n public animateStateLayer(): void {\n if (this._stateLayerElement.disabled) {\n return;\n }\n this._stateLayerElement?.playAnimation();\n }\n\n private _locatePopoverTargetElement(): HTMLElement | null {\n let popoverElement = this._component.popoverTargetElement ?? null;\n\n if (!popoverElement) {\n const rootNode = this._component.ownerDocument.getRootNode() as Document | ShadowRoot;\n if (!rootNode) {\n return null;\n }\n\n const targetId = this._component.getAttribute('popovertarget');\n popoverElement = rootNode.querySelector(`#${targetId}`);\n }\n\n return popoverElement;\n }\n\n private _applyHostSemantics(): void {\n const role = this._component.getAttribute('role');\n const setAttribute = !role || ['button', 'link'].includes(role);\n this._component[setDefaultAria]({ role: this._anchorElement ? 'link' : 'button' }, { setAttribute });\n this._component[isFocusable] = !!this._anchorElement || !this._component.disabled;\n }\n\n /**\n * Our anchor element is the interactive element that will be used to trigger the click event when it is present.\n * \n * We use the <a> element as an overlay on top of all content to ensure that it provides the native functionality,\n * while removing it from the accessibility tree and tab order so that it does not interfere with the host semantics.\n */\n private _createAnchorRootElement(): HTMLAnchorElement {\n const a = document.createElement('a');\n a.setAttribute('aria-hidden', 'true');\n a.tabIndex = -1;\n if (this._component.href) {\n a.href = this._component.href;\n }\n if (this._component.target) {\n a.target = this._component.target;\n }\n if (this._component.download) {\n a.download = this._component.download;\n }\n if (this._component.rel) {\n a.rel = this._component.rel;\n }\n return a;\n }\n}\n"],
|
|
4
|
+
"sourcesContent": ["const observedAttributes = {\n TYPE: 'type',\n DISABLED: 'disabled',\n POPOVER_ICON: 'popover-icon',\n ANCHOR: 'anchor',\n HREF: 'href',\n TARGET: 'target',\n DOWNLOAD: 'download',\n REL: 'rel',\n DENSE: 'dense',\n TABINDEX: 'tabindex'\n} as const;\n\nconst attributes = {\n ...observedAttributes\n} as const;\n\nconst classes = {\n ROOT: 'forge-button',\n POPOVER_ICON: 'forge-button__popover-icon'\n} as const;\n\nconst selectors = {\n ROOT:'[part=root]',\n END_SLOT: 'slot[name=end]'\n} as const;\n\nexport const BASE_BUTTON_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors,\n classes\n} as const;\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonTarget = '_blank' | '_self' | '_parent' | '_top';\nexport type ButtonClickOptions = { animateStateLayer?: boolean };\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { IconRegistry } from '../../icon/icon-registry';\nimport { WithFocusable, IWithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ExperimentalFocusOptions, internals, setDefaultAria } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonType } from './base-button-constants';\nimport { BaseButtonFoundation } from './base-button-foundation';\nimport { WithLabelAwareness, IWithLabelAwareness } from '../../core/mixins/label/with-label-aware';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\n\nexport interface IBaseButton extends IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n name: string;\n value: string;\n dense: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n form: HTMLFormElement | null;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nconst BaseButtonClass = WithDefaultAria(WithElementInternals(WithLabelAwareness(WithFocusable(BaseComponent))));\n\nexport abstract class BaseButton<T extends BaseButtonFoundation<IBaseButtonAdapter>> extends BaseButtonClass implements IBaseButton {\n public static get observedAttributes(): string[] {\n return Object.values(BASE_BUTTON_CONSTANTS.observedAttributes);\n }\n\n public static readonly formAssociated = true;\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowDropDown);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_BUTTON_CONSTANTS.observedAttributes.TYPE:\n this.type = newValue as ButtonType;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.POPOVER_ICON:\n this.popoverIcon = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.HREF:\n this.href = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.TARGET:\n this.target = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DOWNLOAD:\n this.download = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.REL:\n this.rel = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DENSE:\n this.dense = coerceBoolean(newValue);\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public labelClickedCallback(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({ ariaLabel: value }, { setAttribute: !this.hasAttribute('aria-label') });\n }\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(name: string) {\n this.setAttribute('name', name);\n }\n\n public get value(): string {\n return this.getAttribute('value') ?? '';\n }\n public set value(value: string) {\n this.setAttribute('value', value);\n }\n\n @FoundationProperty()\n public declare type: ButtonType;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popoverIcon: boolean;\n\n @FoundationProperty()\n public declare anchor: boolean;\n\n @FoundationProperty()\n public declare href: string;\n\n @FoundationProperty()\n public declare target: string;\n\n @FoundationProperty()\n public declare download: string;\n\n @FoundationProperty()\n public declare rel: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n public override click(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public override focus(options: ExperimentalFocusOptions): void {\n this._foundation.focus(options);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonClickOptions, ButtonType } from './base-button-constants';\n\nexport interface IBaseButtonFoundation extends ICustomElementFoundation {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n dense: boolean;\n click(options: ButtonClickOptions): void;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nexport abstract class BaseButtonFoundation<T extends IBaseButtonAdapter> implements IBaseButtonFoundation {\n private _type: ButtonType = 'button'; // We default our buttons to the \"button\" type instead of \"submit\" as that is more common\n private _disabled = false;\n private _popoverIcon = false;\n private _anchor = false;\n private _href = '';\n private _target = '';\n private _download = '';\n private _rel = '';\n private _dense = false;\n\n private _clickListener: EventListener;\n private _keydownListener: EventListener;\n private _anchorFocusListener: EventListener;\n\n constructor(protected _adapter: T) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._anchorFocusListener = () => this._adapter.focusHost(); // Always ensure our host is focused when the anchor is focused\n this._adapter.addHostListener('keydown', this._keydownListener);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (this._anchor) {\n // When we're in anchor mode, we swap to us an `<a>` internally as the root. Since the `<a>`\n // element is interactive by default, we can remove our click listener since the anchor will\n // take over the default interaction handling\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n // When we're in button mode, we need to handle the click event on the host element\n this._adapter.addHostListener('click', this._clickListener);\n }\n }\n\n /**\n * Handles overriding the the `click()` method on the HTMLElement instance\n */\n public click({ animateStateLayer = false }: ButtonClickOptions = {}): void {\n if (this._disabled) {\n return;\n }\n\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this._adapter.clickHost();\n }\n\n if (animateStateLayer) {\n this._adapter.animateStateLayer();\n }\n }\n\n public focus(options?: ExperimentalFocusOptions): void {\n this._adapter.focusHost(options);\n\n if (options?.focusVisible !== false) {\n this._adapter.forceFocusVisible();\n }\n }\n\n protected async _onClick(evt: MouseEvent): Promise<void> {\n const isFormType = this._type === 'submit' || this._type === 'reset';\n\n // Custom elements do not work with the popover* attributes by default so we need to manually\n // manage the popover functionality for now...\n if (!isFormType && this._adapter.hasPopoverTarget()) {\n const isOpen = this._adapter.managePopover();\n\n // If the popover was opened successfully we can stop here since there is no need to\n // handle any other scenarios\n if (isOpen) {\n return;\n }\n }\n\n // Wait a cycle to allow the click event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n // We allow for our click event to bubble first before we handle it in case the developer\n // wants to prevent the default behavior\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n\n // For button types of submit or reset, we need to manually submit or reset the form\n // since the click event doesn't do that for us with custom elements\n if (isFormType) {\n this._adapter.clickFormButton(this._type);\n }\n }\n\n /**\n * Handle keydown events on the host element to manually trigger click events.\n */\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n // Handle the special case for the space key (when not an anchor) to avoid\n // scrolling when triggered\n if (evt.key === ' ' && !this._anchor) {\n evt.preventDefault();\n this.click();\n return;\n }\n\n // Wait a cycle for the keydown event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n \n if (evt.key === 'Enter') {\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this.click();\n }\n }\n }\n\n private _toggleAnchor(): void {\n if (this._anchor) {\n this._adapter.initializeAnchor();\n this._manageAnchorListeners();\n this.disabled = false; // Anchor elements are always enabled\n } else {\n this._adapter.removeAnchor();\n this._manageAnchorListeners();\n }\n }\n\n private _manageAnchorListeners(): void {\n if (this._anchor) {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.removeAnchorEventListener('focus', this._anchorFocusListener);\n }\n }\n\n public get type(): ButtonType {\n return this._type;\n }\n public set type(type: ButtonType) {\n if (this._type !== type) {\n this._type = type;\n this._adapter.setHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TYPE, type);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n\n if (this._disabled === value) {\n return;\n }\n\n // When we're in anchor mode we need to ensure that the anchor is always enabled\n if (this._anchor) {\n value = false;\n }\n\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DISABLED, value);\n }\n\n public get popoverIcon(): boolean {\n return this._popoverIcon;\n }\n public set popoverIcon(value: boolean) {\n value = Boolean(value);\n if (this._popoverIcon !== value) {\n this._popoverIcon = value;\n this._adapter.toggleDefaultPopoverIcon(this._popoverIcon);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.POPOVER_ICON, value);\n }\n }\n\n /**\n * Anchor properties\n */\n\n public get anchor(): boolean {\n return this._anchor;\n }\n public set anchor(value: boolean) {\n value = Boolean(value);\n if (this._anchor !== value) {\n this._anchor = value;\n this._toggleAnchor();\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.ANCHOR, value);\n }\n }\n\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n value = (value ?? '').trim();\n if (this._href !== value) {\n this._href = value;\n this.anchor = this._href.length > 0;\n if (this._anchor) {\n this._adapter.setAnchorProperty('href', this._href);\n }\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.HREF, !!this._href, this._href);\n }\n }\n\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value ?? '_self';\n this._adapter.setAnchorProperty('target', value);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TARGET, !!this._target, this._target);\n }\n }\n\n public get download(): string {\n return this._download;\n }\n public set download(value: string) {\n if (this._download !== value) {\n this._download = value;\n this._adapter.setAnchorProperty('download', this._download);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);\n }\n }\n\n public get rel(): string {\n return this._rel;\n }\n public set rel(value: string) {\n if (this._rel !== value) {\n this._rel = value;\n this._adapter.setAnchorProperty('rel', this._rel);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.REL, !!this._rel, this._rel);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n value = Boolean(value);\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DENSE, value);\n }\n }\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { IBaseButton } from './base-button';\nimport { BASE_BUTTON_CONSTANTS } from './base-button-constants';\nimport { BUTTON_FORM_ATTRIBUTES, cloneAttributes } from '../../core/utils/reflect-utils';\nimport { internals, isFocusable, setDefaultAria } from '../../constants';\nimport { supportsPopover } from '../../core/utils/feature-detection';\n\nexport interface IBaseButtonAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAnchor(): void;\n removeAnchor(): void;\n setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void;\n setDisabled(value: boolean): void;\n clickAnchor(): void;\n clickHost(): void;\n clickFormButton(type: string): void;\n forceFocusVisible(): void;\n addAnchorEventListener(type: string, listener: EventListener): void;\n removeAnchorEventListener(type: string, listener: EventListener): void;\n hasPopoverTarget(): boolean;\n managePopover(): boolean;\n toggleDefaultPopoverIcon(value: boolean): void;\n animateStateLayer(): void;\n}\n\nexport abstract class BaseButtonAdapter extends BaseAdapter<IBaseButton> implements IBaseButtonAdapter {\n protected _rootElement: HTMLElement;\n protected _anchorElement: HTMLAnchorElement | undefined;\n protected _focusIndicatorElement: IFocusIndicatorComponent;\n protected _stateLayerElement: IStateLayerComponent;\n protected _endSlotElement: HTMLSlotElement;\n\n constructor(component: IBaseButton) {\n super(component);\n this._rootElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.ROOT) as HTMLButtonElement;\n this._focusIndicatorElement = getShadowElement(this._component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n this._endSlotElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.END_SLOT) as HTMLSlotElement;\n }\n\n public initialize(): void {\n this._applyHostSemantics();\n }\n\n public initializeAnchor(): void {\n this._anchorElement = this._createAnchorRootElement();\n this._rootElement.insertAdjacentElement('afterend', this._anchorElement);\n this._applyHostSemantics();\n }\n\n public removeAnchor(): void {\n this._anchorElement?.remove();\n this._anchorElement = undefined;\n this._applyHostSemantics();\n }\n\n public setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void {\n if (this._anchorElement) {\n this._anchorElement[name] = value;\n }\n }\n\n public setDisabled(value: boolean): void {\n if (this._anchorElement) {\n if (this.hasHostAttribute('aria-disabled')) {\n this.removeHostAttribute('aria-disabled');\n }\n if (!this._focusIndicatorElement.isConnected) {\n this._rootElement.append(this._focusIndicatorElement);\n }\n if (!this._stateLayerElement.isConnected) {\n if (this._stateLayerElement.disabled) {\n this._stateLayerElement.disabled = false;\n }\n this._rootElement.append(this._stateLayerElement);\n }\n return; // Cannot disable an anchor element\n }\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n\n this._component[isFocusable] = !value;\n this._component[setDefaultAria]({ ariaDisabled: value ? 'true' : null });\n }\n\n public clickAnchor(): void {\n this._anchorElement?.click();\n }\n\n public clickHost(): void {\n // Calling click() on the prototype ensures we don't end up in an infinite\n // recursion since the host overrides the HTMLElement.click() method\n HTMLElement.prototype.click.call(this._component);\n }\n\n public forceFocusVisible(): void {\n this._focusIndicatorElement.active = true;\n }\n\n public clickFormButton(type: string): void {\n if (!this._component.form) {\n return; // Nothing for us to do if there is no form element associated to us\n }\n\n if (type === 'submit') {\n // We need to set the form value to the button value before submitting the form\n this._component[internals].setFormValue(this._component.value);\n\n // We don't use a real <button> since the host is the semantic button, so for\n // the \"submit\" button type we need to create a temporary button and click it\n // to trigger the form submission\n const tempBtn = document.createElement('button');\n tempBtn.type = type;\n cloneAttributes(this._component, tempBtn, BUTTON_FORM_ATTRIBUTES);\n\n // form.requestSubmit(submitter) does not work with form associated custom\n // elements. This patches the dispatched submit event to add the correct `submitter`.\n // See https://github.com/WICG/webcomponents/issues/814\n this._component.form.addEventListener('submit', evt => {\n Object.defineProperty(evt, 'submitter', {\n configurable: true,\n enumerable: true,\n get: () => this._component\n });\n }, { capture: true, once: true });\n\n this._component.insertAdjacentElement('afterend', tempBtn);\n tempBtn.click();\n tempBtn.remove();\n } else if (type === 'reset') {\n this._component.form?.reset();\n }\n }\n\n public addAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public hasPopoverTarget(): boolean {\n return this._component.hasAttribute('popovertarget') || !!this._component.popoverTargetElement;\n }\n\n /**\n * We are emulating native behavior here since custom elements do not support integrating with the\n * native popover element. This method will attempt to find the popover target element and handle\n * its `popovertargetaction`\n */\n public managePopover(): boolean {\n if (this._component.form || !this.hasPopoverTarget() || !supportsPopover()) {\n return false;\n }\n \n const popoverElement = this._locatePopoverTargetElement();\n if (!popoverElement) {\n return false;\n }\n\n const action = this._component.getAttribute('popovertargetaction') || 'toggle';\n const isPopoverOpen = popoverElement.matches(':popover-open');\n\n switch (action) {\n case 'show':\n if (!isPopoverOpen) {\n popoverElement.showPopover();\n }\n return true;\n case 'hide':\n if (isPopoverOpen) {\n popoverElement.hidePopover();\n }\n return false;\n case 'toggle':\n default:\n const result = popoverElement.togglePopover();\n\n // When the popover is open and is using an \"auto\" popover mode, we need to handle\n // clicking ourselves again to close without re-opening the popover. We do this by\n // adding a click listener to the component that will stop propagation of the event\n // and then remove itself after the first click (or when the popover is closed externally).\n if (result && popoverElement.popover !== 'manual') {\n const listener: EventListener = evt => {\n evt.stopPropagation();\n\n // The popover will already be closed via pointer, but we need to ensure that\n // it closes via keyboard as well so we perform the following check regardless\n if (popoverElement.matches(':popover-open')) {\n popoverElement.hidePopover();\n }\n };\n this._component.addEventListener('click', listener, { capture: true, once: true });\n popoverElement.addEventListener('beforetoggle', async () => {\n await new Promise<void>(resolve => setTimeout(resolve)); // Wait a cycle to allow the click event to propagate first\n this._component.removeEventListener('click', listener, { capture: true });\n }, { once: true });\n }\n\n return result;\n }\n }\n\n public toggleDefaultPopoverIcon(value: boolean): void {\n if (value) {\n // We support a built-in \"popover icon\" for convenience that can be used to indicate that the button will show a popover\n const hasIcon = this._endSlotElement.querySelector('forge-icon');\n if (!hasIcon) {\n const icon = document.createElement('forge-icon');\n icon.classList.add(BASE_BUTTON_CONSTANTS.classes.POPOVER_ICON);\n icon.name = tylIconArrowDropDown.name;\n this._endSlotElement.append(icon);\n }\n } else {\n const icon = this._endSlotElement.querySelector('forge-icon');\n icon?.remove();\n }\n }\n\n public animateStateLayer(): void {\n if (this._stateLayerElement.disabled) {\n return;\n }\n this._stateLayerElement?.playAnimation();\n }\n\n private _locatePopoverTargetElement(): HTMLElement | null {\n let popoverElement = this._component.popoverTargetElement ?? null;\n\n if (!popoverElement) {\n const rootNode = this._component.ownerDocument.getRootNode() as Document | ShadowRoot;\n if (!rootNode) {\n return null;\n }\n\n const targetId = this._component.getAttribute('popovertarget');\n popoverElement = rootNode.querySelector(`#${targetId}`);\n }\n\n return popoverElement;\n }\n\n private _applyHostSemantics(): void {\n const role = this._component.getAttribute('role');\n const setAttribute = !role || ['button', 'link'].includes(role);\n this._component[setDefaultAria]({ role: this._anchorElement ? 'link' : 'button' }, { setAttribute });\n this._component[isFocusable] = !!this._anchorElement || !this._component.disabled;\n }\n\n /**\n * Our anchor element is the interactive element that will be used to trigger the click event when it is present.\n * \n * We use the <a> element as an overlay on top of all content to ensure that it provides the native functionality,\n * while removing it from the accessibility tree and tab order so that it does not interfere with the host semantics.\n */\n private _createAnchorRootElement(): HTMLAnchorElement {\n const a = document.createElement('a');\n a.setAttribute('aria-hidden', 'true');\n a.tabIndex = -1;\n if (this._component.href) {\n a.href = this._component.href;\n }\n if (this._component.target) {\n a.target = this._component.target;\n }\n if (this._component.download) {\n a.download = this._component.download;\n }\n if (this._component.rel) {\n a.rel = this._component.rel;\n }\n return a;\n }\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["observedAttributes", "attributes", "__spreadValues", "classes", "selectors", "BASE_BUTTON_CONSTANTS", "BaseButtonClass", "WithDefaultAria", "WithElementInternals", "WithLabelAwareness", "WithFocusable", "BaseComponent", "BaseButton", "IconRegistry", "tylIconArrowDropDown", "BASE_BUTTON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "value", "setDefaultAria", "internals", "_a", "options", "__decorateClass", "FoundationProperty", "BaseButtonFoundation", "_adapter", "evt", "animateStateLayer", "options", "isFormType", "resolve", "type", "BASE_BUTTON_CONSTANTS", "value", "BaseButtonAdapter", "BaseAdapter", "component", "getShadowElement", "BASE_BUTTON_CONSTANTS", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "_a", "name", "value", "isFocusable", "setDefaultAria", "type", "internals", "tempBtn", "cloneAttributes", "BUTTON_FORM_ATTRIBUTES", "evt", "listener", "supportsPopover", "popoverElement", "action", "isPopoverOpen", "result", "resolve", "icon", "tylIconArrowDropDown", "rootNode", "targetId", "role", "setAttribute", "a"]
|
|
7
7
|
}
|