@tylertech/forge 3.0.0-next.21 → 3.0.0-next.22
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 +33600 -39264
- package/dist/dialog/forge-dialog-utils.css +1 -1
- 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.YS5JZHJ6.js → chunk.24SQJBSQ.js} +2 -2
- package/dist/esm/chunks/{chunk.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
- package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
- package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
- package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
- package/dist/esm/chunks/chunk.3IUQ4C47.js +7 -0
- package/dist/esm/chunks/chunk.3IUQ4C47.js.map +7 -0
- package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
- package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
- package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
- package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
- package/dist/esm/chunks/chunk.5A665C5E.js +7 -0
- package/dist/esm/chunks/chunk.5A665C5E.js.map +7 -0
- package/dist/esm/chunks/chunk.5ADUSMC7.js +7 -0
- package/dist/esm/chunks/chunk.5ADUSMC7.js.map +7 -0
- package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.js} +2 -2
- package/dist/esm/chunks/chunk.5SUJNEC7.js +7 -0
- package/dist/esm/chunks/chunk.5SUJNEC7.js.map +7 -0
- package/dist/esm/chunks/{chunk.47U6GVGZ.js → chunk.5UOX22ML.js} +2 -2
- package/dist/esm/chunks/chunk.6E5WHIPF.js +7 -0
- package/dist/esm/chunks/chunk.6E5WHIPF.js.map +7 -0
- package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
- package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
- package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
- package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
- package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
- package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
- package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
- package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
- package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
- package/dist/esm/chunks/chunk.7Y3BUR7Q.js +7 -0
- package/dist/esm/chunks/{chunk.3U222LE4.js.map → chunk.7Y3BUR7Q.js.map} +1 -1
- package/dist/esm/chunks/chunk.A2NB7CIK.js +7 -0
- package/dist/esm/chunks/chunk.A2NB7CIK.js.map +7 -0
- package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
- package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
- package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
- package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
- package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
- package/dist/esm/chunks/{chunk.WTUXAH7Z.js → chunk.AOVXNX7P.js} +2 -2
- package/dist/esm/chunks/{chunk.AN2E2SSN.js → chunk.ASLHRT3N.js} +2 -2
- package/dist/esm/chunks/chunk.BEFAXPXJ.js +15 -0
- package/dist/esm/chunks/{chunk.EO3HELQ2.js.map → chunk.BEFAXPXJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CBLUXYH2.js → chunk.BHE6Z5Y2.js} +2 -2
- package/dist/esm/chunks/{chunk.2WRAXA3H.js → chunk.BQ52JYLA.js} +2 -2
- package/dist/esm/chunks/chunk.BQZKOIAW.js +7 -0
- package/dist/esm/chunks/chunk.BQZKOIAW.js.map +7 -0
- package/dist/esm/chunks/chunk.BV7EAQST.js +7 -0
- package/dist/esm/chunks/chunk.BV7EAQST.js.map +7 -0
- package/dist/esm/chunks/{chunk.ROMRJIFR.js → chunk.CE35CVDV.js} +2 -2
- package/dist/esm/chunks/{chunk.ZPXMKY72.js → chunk.CEGBMUSR.js} +2 -2
- package/dist/esm/chunks/{chunk.GBGGUYTE.js → chunk.CFAI4K3E.js} +2 -2
- package/dist/esm/chunks/{chunk.ZIGVO6FN.js → chunk.CGFSMACZ.js} +2 -2
- package/dist/esm/chunks/chunk.DJSHVUEM.js +18 -0
- package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
- package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
- package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
- package/dist/esm/chunks/chunk.DZJ6HBAG.js +7 -0
- package/dist/esm/chunks/chunk.DZJ6HBAG.js.map +7 -0
- package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.E2BE52ME.js} +2 -2
- package/dist/esm/chunks/chunk.EHVCEEV2.js +7 -0
- package/dist/esm/chunks/chunk.EHVCEEV2.js.map +7 -0
- package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
- package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
- package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
- package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.EUJBIOGT.js} +2 -2
- package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.EUJBIOGT.js.map} +2 -2
- package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
- package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
- package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
- package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
- package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
- package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
- package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
- package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
- package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
- package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
- package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
- package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
- package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
- package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
- package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
- package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
- package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
- package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
- package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
- package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
- package/dist/esm/chunks/chunk.ISLJNJEE.js +7 -0
- package/dist/esm/chunks/chunk.ISLJNJEE.js.map +7 -0
- package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
- package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
- package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.JE5LSPXG.js} +2 -2
- package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.JE5LSPXG.js.map} +3 -3
- package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
- package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
- package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
- package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
- package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
- package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
- package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
- package/dist/esm/chunks/chunk.KTPEFU7V.js +7 -0
- package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.KTPEFU7V.js.map} +2 -2
- package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
- package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
- package/dist/esm/chunks/chunk.LGSCBWNR.js +7 -0
- package/dist/esm/chunks/chunk.LGSCBWNR.js.map +7 -0
- package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
- package/dist/esm/chunks/chunk.LSMHIVX2.js +7 -0
- package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.LSMHIVX2.js.map} +1 -1
- package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
- package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
- package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
- package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
- package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
- package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
- package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
- package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
- package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
- package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
- package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
- package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
- package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
- package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
- package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
- package/dist/esm/chunks/chunk.OVXEOEJF.js +7 -0
- package/dist/esm/chunks/chunk.OVXEOEJF.js.map +7 -0
- package/dist/esm/chunks/chunk.PC6TW5XE.js +7 -0
- package/dist/esm/chunks/chunk.PC6TW5XE.js.map +7 -0
- package/dist/esm/chunks/chunk.PFIIBXTS.js +7 -0
- package/dist/esm/chunks/chunk.PFIIBXTS.js.map +7 -0
- package/dist/esm/chunks/chunk.Q7TBWGKN.js +12 -0
- package/dist/esm/chunks/chunk.Q7TBWGKN.js.map +7 -0
- package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
- package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
- package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
- package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
- package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
- package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
- package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
- package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
- package/dist/esm/chunks/chunk.RFT3BAJ2.js +7 -0
- package/dist/esm/chunks/chunk.RFT3BAJ2.js.map +7 -0
- package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.RONMNRSH.js} +2 -2
- package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
- package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
- package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
- package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
- package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
- package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
- package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
- package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
- package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
- package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
- package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
- package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
- package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
- package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
- package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
- package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
- package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
- package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
- package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
- package/dist/esm/chunks/chunk.W6FT6MKN.js +7 -0
- package/dist/esm/chunks/chunk.W6FT6MKN.js.map +7 -0
- package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
- package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
- package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
- package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.XATVDHDW.js} +2 -2
- package/dist/esm/chunks/chunk.XATVDHDW.js.map +7 -0
- package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.XTJGWT5F.js} +2 -2
- package/dist/esm/chunks/chunk.YNCTSMT6.js +7 -0
- package/dist/esm/chunks/chunk.YNCTSMT6.js.map +7 -0
- package/dist/esm/chunks/{chunk.YNXWVL4B.js → chunk.YPNSK2CK.js} +2 -2
- package/dist/esm/chunks/chunk.YRAEFQJW.js +7 -0
- package/dist/esm/chunks/{chunk.XAZ6EDIZ.js.map → chunk.YRAEFQJW.js.map} +3 -3
- package/dist/esm/chunks/chunk.YWJVZVZX.js +7 -0
- package/dist/esm/chunks/{chunk.6XLTVIUD.js → chunk.ZA7JY3AY.js} +2 -2
- package/dist/esm/chunks/chunk.ZG6YF2HI.js +7 -0
- package/dist/esm/chunks/{chunk.R6VPRRTT.js.map → chunk.ZG6YF2HI.js.map} +1 -1
- 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 → field}/base/index.js +1 -1
- package/dist/esm/field/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/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/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/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-core.css +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -6
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +18 -10
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +13 -17
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -4
- package/esm/app-bar/profile-button/app-bar-profile-button.js +3 -3
- package/esm/autocomplete/autocomplete-adapter.d.ts +6 -2
- package/esm/autocomplete/autocomplete-adapter.js +27 -23
- package/esm/autocomplete/autocomplete-constants.d.ts +2 -2
- package/esm/autocomplete/autocomplete-constants.js +1 -2
- package/esm/autocomplete/autocomplete-foundation.js +3 -5
- package/esm/autocomplete/autocomplete.js +2 -2
- package/esm/backdrop/backdrop-constants.d.ts +10 -13
- package/esm/backdrop/backdrop-constants.js +12 -17
- package/esm/backdrop/backdrop.d.ts +17 -29
- package/esm/backdrop/backdrop.js +79 -50
- package/esm/backdrop/index.d.ts +0 -2
- package/esm/backdrop/index.js +0 -2
- package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +2 -2
- package/esm/bottom-sheet/bottom-sheet-adapter.js +12 -5
- package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
- package/esm/bottom-sheet/bottom-sheet.js +2 -2
- package/esm/busy-indicator/busy-indicator-adapter.d.ts +2 -6
- package/esm/busy-indicator/busy-indicator-adapter.js +8 -6
- package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
- package/esm/button/base/base-button-foundation.js +2 -1
- package/esm/calendar/calendar-constants.d.ts +1 -1
- package/esm/calendar/calendar-constants.js +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +6 -4
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +21 -25
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.js +3 -3
- package/esm/calendar/calendar.js +3 -3
- package/esm/card/card-constants.d.ts +2 -5
- package/esm/card/card-constants.js +4 -10
- package/esm/card/card.d.ts +10 -5
- package/esm/card/card.js +14 -16
- package/esm/checkbox/checkbox-adapter.d.ts +0 -34
- package/esm/checkbox/checkbox-adapter.js +10 -105
- package/esm/checkbox/checkbox-constants.d.ts +13 -4
- package/esm/checkbox/checkbox-constants.js +8 -11
- package/esm/checkbox/checkbox-foundation.d.ts +5 -11
- package/esm/checkbox/checkbox-foundation.js +24 -35
- package/esm/checkbox/checkbox.d.ts +24 -24
- package/esm/checkbox/checkbox.js +65 -83
- package/esm/chip-field/chip-field-adapter.d.ts +48 -22
- package/esm/chip-field/chip-field-adapter.js +130 -30
- package/esm/chip-field/chip-field-component-delegate.js +1 -1
- package/esm/chip-field/chip-field-constants.d.ts +18 -16
- package/esm/chip-field/chip-field-constants.js +19 -20
- package/esm/chip-field/chip-field-foundation.d.ts +26 -16
- package/esm/chip-field/chip-field-foundation.js +128 -74
- package/esm/chip-field/chip-field.d.ts +9 -6
- package/esm/chip-field/chip-field.js +24 -11
- package/esm/chips/chip/chip.js +1 -1
- package/esm/constants.d.ts +2 -0
- package/esm/constants.js +2 -0
- package/esm/core/base/base-adapter.d.ts +1 -0
- package/esm/core/controllers/move-controller.d.ts +32 -0
- package/esm/core/controllers/move-controller.js +40 -0
- package/esm/core/mixins/interactions/moveable/with-moveable.d.ts +30 -0
- package/esm/core/mixins/interactions/moveable/with-moveable.js +131 -0
- package/esm/core/utils/dismissible-stack.d.ts +6 -0
- package/esm/core/utils/dismissible-stack.js +9 -0
- package/esm/core/utils/feature-detection.d.ts +5 -0
- package/esm/core/utils/feature-detection.js +7 -0
- package/esm/core/utils/index.d.ts +2 -0
- package/esm/core/utils/index.js +2 -0
- package/esm/core/utils/svg-utils.d.ts +1 -1
- package/esm/core/utils/svg-utils.js +2 -2
- package/esm/date-picker/date-picker.d.ts +0 -2
- package/esm/date-picker/date-picker.js +2 -4
- package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker.js +2 -2
- package/esm/dialog/dialog-adapter.d.ts +44 -62
- package/esm/dialog/dialog-adapter.js +107 -135
- package/esm/dialog/dialog-constants.d.ts +51 -28
- package/esm/dialog/dialog-constants.js +36 -33
- package/esm/dialog/dialog-foundation.d.ts +59 -75
- package/esm/dialog/dialog-foundation.js +218 -360
- package/esm/dialog/dialog.d.ts +127 -46
- package/esm/dialog/dialog.js +161 -60
- package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +5 -6
- package/esm/{field-next → field}/base/base-field-foundation.js +14 -0
- package/esm/{field-next/field-foundation.d.ts → field/base/with-base-field.d.ts} +24 -39
- package/esm/field/base/with-base-field.js +210 -0
- package/esm/field/field-adapter.d.ts +49 -92
- package/esm/field/field-adapter.js +114 -154
- package/esm/field/field-constants.d.ts +82 -30
- package/esm/field/field-constants.js +51 -29
- package/esm/field/field-foundation.d.ts +78 -48
- package/esm/field/field-foundation.js +171 -273
- package/esm/field/field.d.ts +202 -24
- package/esm/field/field.js +267 -37
- package/esm/focus-indicator/focus-indicator-constants.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator-constants.js +7 -2
- package/esm/focus-indicator/focus-indicator-foundation.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator-foundation.js +21 -3
- package/esm/focus-indicator/focus-indicator.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator.js +9 -7
- package/esm/icon/icon-adapter.d.ts +4 -2
- package/esm/icon/icon-adapter.js +13 -9
- package/esm/icon/icon-constants.d.ts +14 -2
- package/esm/icon/icon-constants.js +3 -1
- package/esm/icon/icon-foundation.d.ts +6 -2
- package/esm/icon/icon-foundation.js +50 -18
- package/esm/icon/icon-registry.d.ts +8 -2
- package/esm/icon/icon-registry.js +15 -2
- package/esm/icon/icon-utils.d.ts +6 -3
- package/esm/icon/icon-utils.js +6 -7
- package/esm/icon/icon.d.ts +35 -4
- package/esm/icon/icon.js +44 -18
- package/esm/icon/index.js +0 -6
- package/esm/icon-button/icon-button-component-delegate.d.ts +2 -2
- package/esm/index.d.ts +1 -4
- package/esm/index.js +2 -9
- package/esm/label-value/index.d.ts +0 -2
- package/esm/label-value/index.js +0 -2
- package/esm/label-value/label-value-constants.d.ts +7 -12
- package/esm/label-value/label-value-constants.js +7 -17
- package/esm/label-value/label-value.d.ts +44 -16
- package/esm/label-value/label-value.js +78 -36
- package/esm/list/list/list.d.ts +2 -3
- package/esm/list/list/list.js +4 -5
- package/esm/list/list-item/list-item.d.ts +1 -0
- package/esm/list/list-item/list-item.js +2 -1
- package/esm/list-dropdown/list-dropdown-adapter.d.ts +3 -1
- package/esm/list-dropdown/list-dropdown-adapter.js +24 -9
- package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -5
- package/esm/list-dropdown/list-dropdown-foundation.d.ts +2 -2
- package/esm/list-dropdown/list-dropdown-foundation.js +3 -5
- package/esm/list-dropdown/list-dropdown-utils.d.ts +3 -3
- package/esm/list-dropdown/list-dropdown-utils.js +11 -19
- package/esm/list-dropdown/list-dropdown.d.ts +2 -2
- package/esm/list-dropdown/list-dropdown.js +1 -1
- package/esm/menu/menu-adapter.d.ts +4 -2
- package/esm/menu/menu-adapter.js +8 -2
- package/esm/menu/menu-foundation.d.ts +11 -10
- package/esm/menu/menu-foundation.js +9 -6
- package/esm/menu/menu.d.ts +8 -7
- package/esm/menu/menu.js +2 -2
- package/esm/overlay/overlay-adapter.d.ts +0 -1
- package/esm/overlay/overlay-adapter.js +1 -2
- package/esm/paginator/paginator.js +1 -1
- package/esm/popover/popover-adapter.d.ts +9 -0
- package/esm/popover/popover-adapter.js +41 -3
- package/esm/popover/popover-constants.d.ts +17 -0
- package/esm/popover/popover-constants.js +11 -6
- package/esm/popover/popover-foundation.d.ts +7 -1
- package/esm/popover/popover-foundation.js +35 -7
- package/esm/popover/popover.d.ts +15 -1
- package/esm/popover/popover.js +28 -15
- package/esm/radio/core/radio-group-manager.d.ts +18 -1
- package/esm/radio/core/radio-group-manager.js +27 -6
- package/esm/radio/radio/radio-adapter.js +4 -2
- package/esm/radio/radio/radio-component-delegate.d.ts +38 -0
- package/esm/radio/radio/radio-component-delegate.js +88 -1
- package/esm/radio/radio/radio-constants.d.ts +11 -0
- package/esm/radio/radio/radio-constants.js +3 -1
- package/esm/radio/radio/radio-foundation.js +3 -2
- package/esm/radio/radio/radio.d.ts +8 -3
- package/esm/radio/radio/radio.js +17 -18
- package/esm/radio/radio-group/radio-group-constants.d.ts +3 -0
- package/esm/radio/radio-group/radio-group-constants.js +3 -1
- package/esm/radio/radio-group/radio-group.js +5 -5
- package/esm/scaffold/scaffold-constants.d.ts +6 -0
- package/esm/scaffold/scaffold-constants.js +7 -1
- package/esm/scaffold/scaffold.d.ts +30 -2
- package/esm/scaffold/scaffold.js +43 -4
- package/esm/select/core/base-select-adapter.d.ts +5 -3
- package/esm/select/core/base-select-adapter.js +10 -9
- package/esm/select/core/base-select-constants.d.ts +11 -0
- package/esm/select/core/base-select-constants.js +1 -0
- package/esm/select/core/base-select-foundation.js +3 -3
- package/esm/select/core/base-select.d.ts +3 -3
- package/esm/select/select/select-adapter.d.ts +14 -60
- package/esm/select/select/select-adapter.js +52 -111
- package/esm/select/select/select-constants.d.ts +16 -14
- package/esm/select/select/select-constants.js +8 -16
- package/esm/select/select/select-foundation.d.ts +12 -58
- package/esm/select/select/select-foundation.js +45 -240
- package/esm/select/select/select.d.ts +17 -27
- package/esm/select/select/select.js +54 -62
- package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +2 -2
- package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
- package/esm/select/select-dropdown/select-dropdown.d.ts +0 -2
- package/esm/select/select-dropdown/select-dropdown.js +2 -4
- package/esm/slider/slider.d.ts +2 -2
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view/split-view.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +5 -10
- package/esm/split-view/split-view-panel/split-view-panel-adapter.js +7 -15
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +3 -3
- package/esm/split-view/split-view-panel/split-view-panel-constants.js +3 -3
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +0 -1
- package/esm/split-view/split-view-panel/split-view-panel-utils.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +0 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +6 -6
- package/esm/stepper/step/step-adapter.d.ts +2 -9
- package/esm/stepper/step/step-adapter.js +3 -18
- package/esm/stepper/step/step-constants.js +21 -21
- package/esm/stepper/step/step-foundation.js +0 -2
- package/esm/stepper/step/step.d.ts +53 -0
- package/esm/stepper/step/step.js +60 -3
- package/esm/stepper/stepper/stepper-constants.js +9 -9
- package/esm/stepper/stepper/stepper.js +1 -1
- package/esm/switch/switch-adapter.d.ts +0 -32
- package/esm/switch/switch-adapter.js +15 -107
- package/esm/switch/switch-component-delegate.js +1 -1
- package/esm/switch/switch-constants.d.ts +24 -14
- package/esm/switch/switch-constants.js +11 -14
- package/esm/switch/switch-foundation.d.ts +5 -11
- package/esm/switch/switch-foundation.js +25 -31
- package/esm/switch/switch.d.ts +19 -19
- package/esm/switch/switch.js +59 -81
- package/esm/text-field/text-field-adapter.d.ts +2 -2
- package/esm/text-field/text-field-adapter.js +5 -2
- package/esm/text-field/text-field-foundation.d.ts +2 -2
- package/esm/text-field/text-field-foundation.js +2 -2
- package/esm/text-field/text-field.d.ts +1 -1
- package/esm/text-field/text-field.js +2 -2
- package/esm/time-picker/time-picker-adapter.d.ts +6 -2
- package/esm/time-picker/time-picker-adapter.js +7 -3
- package/esm/time-picker/time-picker-foundation.js +10 -10
- package/esm/time-picker/time-picker.js +2 -2
- package/esm/toast/toast-adapter.d.ts +18 -69
- package/esm/toast/toast-adapter.js +24 -121
- package/esm/toast/toast-constants.d.ts +25 -36
- package/esm/toast/toast-constants.js +20 -40
- package/esm/toast/toast-foundation.d.ts +22 -37
- package/esm/toast/toast-foundation.js +92 -92
- package/esm/toast/toast.d.ts +83 -24
- package/esm/toast/toast.js +126 -29
- package/esm/tooltip/tooltip-adapter.d.ts +1 -0
- package/esm/tooltip/tooltip-foundation.js +3 -0
- package/esm/tooltip/tooltip.d.ts +3 -1
- package/esm/tooltip/tooltip.js +4 -0
- package/package.json +1 -6
- package/styles/backdrop/_animations.scss +24 -0
- package/styles/backdrop/_core.scss +41 -0
- package/styles/backdrop/_token-utils.scss +30 -0
- package/styles/backdrop/backdrop.scss +38 -11
- package/{esm/radio/radio-group/radio-group-component-delegate.js → styles/backdrop/index.scss} +1 -0
- package/styles/bottom-sheet/_mixins.scss +3 -8
- package/styles/bottom-sheet/bottom-sheet.scss +0 -4
- package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
- package/styles/calendar/calendar.scss +1 -1
- package/styles/card/_core.scss +35 -0
- package/styles/card/_token-utils.scss +30 -0
- package/styles/card/card.scss +37 -3
- package/{esm/radio/radio-group/radio-group-component-delegate.d.ts → styles/card/index.scss} +1 -0
- package/styles/checkbox/_core.scss +9 -20
- package/styles/checkbox/checkbox.scss +2 -8
- package/styles/chip-field/_core.scss +21 -17
- package/styles/chip-field/_token-utils.scss +30 -0
- package/styles/chip-field/chip-field.scss +68 -3
- package/{dist/popup/forge-popup.css → styles/chip-field/index.scss} +1 -1
- package/styles/chips/chip/_core.scss +1 -1
- package/styles/core/styles/tokens/backdrop/_tokens.scss +29 -0
- package/styles/core/styles/tokens/card/_tokens.scss +33 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +4 -3
- package/styles/core/styles/tokens/chip-field/_tokens.scss +16 -0
- package/styles/core/styles/tokens/dialog/_tokens.scss +82 -0
- package/styles/core/styles/tokens/field/_tokens.scss +3 -1
- package/styles/core/styles/tokens/icon/_tokens.scss +20 -0
- package/styles/core/styles/tokens/label-value/_tokens.scss +34 -0
- package/styles/core/styles/tokens/list/list/_tokens.scss +2 -3
- package/styles/core/styles/tokens/list/list-item/_tokens.scss +7 -4
- package/styles/core/styles/tokens/popover/_tokens.scss +29 -7
- package/styles/core/styles/tokens/scaffold/_tokens.scss +18 -0
- package/styles/core/styles/tokens/select/_tokens.scss +18 -0
- package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
- package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
- package/styles/dialog/_animations.scss +82 -0
- package/styles/dialog/_core.scss +310 -0
- package/styles/dialog/_token-utils.scss +30 -0
- package/styles/dialog/dialog.scss +356 -6
- package/styles/dialog/forge-dialog-utils.scss +23 -6
- package/styles/dialog/index.scss +7 -0
- package/styles/{field-next → field}/_core.layout.scss +6 -4
- package/styles/field/_core.scss +200 -50
- package/styles/{field-next → field}/_core.shape.scss +5 -0
- package/styles/{field-next → field}/_core.variant.scss +1 -0
- package/styles/{field-next → field}/field.scss +39 -12
- package/styles/forge-core.scss +2 -6
- package/styles/forge.scss +0 -4
- package/styles/icon/_core.scss +27 -0
- package/styles/icon/_token-utils.scss +30 -0
- package/styles/icon/icon.scss +27 -12
- package/styles/icon/index.scss +6 -0
- package/styles/label-value/_core.scss +85 -0
- package/styles/label-value/_token-utils.scss +30 -0
- package/styles/label-value/index.scss +6 -0
- package/styles/label-value/label-value.scss +71 -3
- package/styles/list/list/_core.scss +6 -2
- package/styles/list/list/list.scss +4 -0
- package/styles/list/list-item/_core.scss +3 -0
- package/styles/popover/_animations.scss +30 -0
- package/styles/popover/_core.scss +43 -6
- package/styles/popover/popover.scss +227 -170
- package/styles/scaffold/_core.scss +98 -0
- package/styles/scaffold/_token-utils.scss +30 -0
- package/styles/scaffold/index.scss +6 -0
- package/styles/scaffold/scaffold.scss +85 -5
- package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
- package/styles/select/select/_core.scss +31 -15
- package/styles/select/select/_token-utils.scss +31 -0
- package/styles/select/select/select.scss +50 -8
- package/styles/split-view/split-view/split-view.scss +0 -1
- package/styles/split-view/split-view-panel/_mixins.scss +1 -0
- package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
- package/styles/stepper/step/_core.scss +391 -0
- package/styles/stepper/step/_token-utils.scss +31 -0
- package/styles/stepper/step/step.scss +261 -81
- package/styles/stepper/stepper/_core.scss +49 -0
- package/styles/stepper/stepper/stepper.scss +38 -4
- package/styles/switch/_core.scss +3 -2
- package/styles/theme/_theme-dark.scss +8 -8
- package/styles/toast/_animations.scss +42 -0
- package/styles/toast/_core.scss +73 -0
- package/styles/toast/_token-utils.scss +30 -0
- package/styles/toast/index.scss +6 -0
- package/styles/toast/toast.scss +173 -6
- package/styles/utils/_mixins-core.scss +5 -9
- package/dist/dialog/forge-dialog.css +0 -6
- package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
- package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
- package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
- package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
- package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
- package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
- package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
- package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
- package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
- package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
- package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
- package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
- package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
- package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
- package/dist/esm/chunks/chunk.656X22EF.js +0 -7
- package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
- package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
- package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
- package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
- package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
- package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
- package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
- package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
- package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
- package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
- package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
- package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
- package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
- package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
- package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
- package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
- package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
- package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
- package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
- package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
- package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
- package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
- package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
- package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
- package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
- package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
- package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
- package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
- package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
- package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
- package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
- package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
- package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
- package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
- package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
- package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
- package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
- package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
- package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
- package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
- package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
- package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
- package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
- package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
- package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
- package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
- package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
- package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
- package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
- package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
- package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
- package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
- package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
- package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
- package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
- package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
- package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
- package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
- package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
- package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
- package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
- package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
- package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
- package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
- package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
- package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
- package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
- package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
- package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
- package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
- package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
- package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
- package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
- package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
- package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
- package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
- package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
- package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
- package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
- package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
- package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
- package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
- package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
- package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
- package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
- package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
- package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
- package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
- package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
- package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
- package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
- package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
- package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
- package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
- package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
- package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
- package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
- package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
- package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
- package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
- package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
- package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
- package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
- package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
- package/dist/esm/field-next/index.js +0 -7
- package/dist/esm/floating-label/index.js +0 -7
- package/dist/esm/floating-label/index.js.map +0 -7
- package/dist/esm/popup/index.js +0 -7
- package/dist/esm/popup/index.js.map +0 -7
- package/dist/esm/ripple/index.js +0 -7
- package/dist/esm/ripple/index.js.map +0 -7
- package/dist/floating-label/forge-floating-label.css +0 -6
- package/dist/form-field/forge-form-field.css +0 -6
- package/dist/ripple/forge-ripple.css +0 -6
- package/dist/scaffold/forge-scaffold.css +0 -6
- package/esm/backdrop/backdrop-adapter.d.ts +0 -36
- package/esm/backdrop/backdrop-adapter.js +0 -40
- package/esm/backdrop/backdrop-foundation.d.ts +0 -38
- package/esm/backdrop/backdrop-foundation.js +0 -82
- package/esm/field-next/field-adapter.d.ts +0 -56
- package/esm/field-next/field-adapter.js +0 -132
- package/esm/field-next/field-constants.d.ts +0 -95
- package/esm/field-next/field-constants.js +0 -64
- package/esm/field-next/field-foundation.js +0 -221
- package/esm/field-next/field.d.ts +0 -205
- package/esm/field-next/field.js +0 -287
- package/esm/floating-label/floating-label-adapter.d.ts +0 -23
- package/esm/floating-label/floating-label-adapter.js +0 -32
- package/esm/floating-label/floating-label-constants.d.ts +0 -13
- package/esm/floating-label/floating-label-constants.js +0 -14
- package/esm/floating-label/floating-label-foundation.d.ts +0 -20
- package/esm/floating-label/floating-label-foundation.js +0 -74
- package/esm/floating-label/floating-label.d.ts +0 -31
- package/esm/floating-label/floating-label.js +0 -34
- package/esm/floating-label/index.d.ts +0 -9
- package/esm/floating-label/index.js +0 -9
- package/esm/label-value/label-value-adapter.d.ts +0 -24
- package/esm/label-value/label-value-adapter.js +0 -47
- package/esm/label-value/label-value-foundation.d.ts +0 -33
- package/esm/label-value/label-value-foundation.js +0 -80
- package/esm/popup/index.d.ts +0 -10
- package/esm/popup/index.js +0 -14
- package/esm/popup/popup-adapter.d.ts +0 -45
- package/esm/popup/popup-adapter.js +0 -152
- package/esm/popup/popup-constants.d.ts +0 -55
- package/esm/popup/popup-constants.js +0 -53
- package/esm/popup/popup-foundation.d.ts +0 -72
- package/esm/popup/popup-foundation.js +0 -258
- package/esm/popup/popup.d.ts +0 -59
- package/esm/popup/popup.js +0 -102
- package/esm/ripple/forge-ripple.d.ts +0 -17
- package/esm/ripple/forge-ripple.js +0 -22
- package/esm/ripple/index.d.ts +0 -11
- package/esm/ripple/index.js +0 -15
- package/esm/ripple/ripple-adapter.d.ts +0 -23
- package/esm/ripple/ripple-adapter.js +0 -47
- package/esm/ripple/ripple-constants.d.ts +0 -15
- package/esm/ripple/ripple-constants.js +0 -19
- package/esm/ripple/ripple-foundation.d.ts +0 -30
- package/esm/ripple/ripple-foundation.js +0 -48
- package/esm/ripple/ripple.d.ts +0 -36
- package/esm/ripple/ripple.js +0 -65
- package/styles/backdrop/_mixins.scss +0 -31
- package/styles/backdrop/_variables.scss +0 -12
- package/styles/card/_mixins.scss +0 -47
- package/styles/card/_variables.scss +0 -9
- package/styles/chip-field/_base.scss +0 -299
- package/styles/chip-field/_mixins.scss +0 -26
- package/styles/chip-field/_selector.scss +0 -228
- package/styles/chip-field/_variables.scss +0 -76
- package/styles/dialog/_mixins.scss +0 -199
- package/styles/dialog/_variables.scss +0 -22
- package/styles/dialog/forge-dialog.scss +0 -8
- package/styles/field/_base.scss +0 -636
- package/styles/field/_selector.scss +0 -560
- package/styles/field/_utils.scss +0 -48
- package/styles/field/_variables.scss +0 -123
- package/styles/field-next/_core.scss +0 -213
- package/styles/floating-label/_mixins.scss +0 -291
- package/styles/floating-label/_variables.scss +0 -15
- package/styles/floating-label/forge-floating-label.scss +0 -8
- package/styles/form-field/_mixins.scss +0 -71
- package/styles/form-field/forge-form-field.scss +0 -8
- package/styles/icon/_mixins.scss +0 -37
- package/styles/icon/_variables.scss +0 -10
- package/styles/label-value/_mixins.scss +0 -205
- package/styles/label-value/_variables.scss +0 -12
- package/styles/popup/_mixins.scss +0 -86
- package/styles/popup/_variables.scss +0 -7
- package/styles/popup/forge-popup.scss +0 -8
- package/styles/popup/popup.scss +0 -20
- package/styles/ripple/forge-ripple.scss +0 -17
- package/styles/scaffold/_mixins.scss +0 -194
- package/styles/scaffold/forge-scaffold.scss +0 -43
- package/styles/select/select/_base.scss +0 -84
- package/styles/select/select/_mixins.scss +0 -25
- package/styles/select/select/_selector.scss +0 -90
- package/styles/select/select/_variables.scss +0 -16
- package/styles/stepper/step/_mixins.scss +0 -416
- package/styles/stepper/step/_variables.scss +0 -21
- package/styles/stepper/stepper/_mixins.scss +0 -113
- package/styles/toast/_mixins.scss +0 -242
- package/styles/toast/_variables.scss +0 -52
- /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.24SQJBSQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.E2BE52ME.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.RONMNRSH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.XTJGWT5F.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
- /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
- /package/dist/esm/{field-next → field}/index.js.map +0 -0
- /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
- /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
- /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field.js +0 -0
- /package/esm/{field-next → field}/base/index.d.ts +0 -0
- /package/esm/{field-next → field}/base/index.js +0 -0
- /package/esm/{field-next → field}/index.d.ts +0 -0
- /package/esm/{field-next → field}/index.js +0 -0
- /package/styles/{field-next → field}/_core.slotted.scss +0 -0
- /package/styles/{field-next → field}/_core.state.scss +0 -0
- /package/styles/{field-next → field}/_token-utils.scss +0 -0
- /package/styles/{field-next → field}/index.scss +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/split-view/split-view-panel/split-view-panel-constants.ts", "../../src/split-view/split-view-panel/split-view-panel-utils.ts", "../../src/split-view/split-view-panel/split-view-panel-foundation.ts", "../../src/split-view/split-view/split-view-constants.ts", "../../src/split-view/split-view-panel/split-view-panel-adapter.ts", "../../src/split-view/split-view-panel/split-view-panel.ts", "../../src/split-view/split-view-panel/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { SplitViewOrientation } from '../split-view/split-view-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-view-panel`;\n\nconst attributes = {\n RESIZABLE: 'resizable',\n SIZE: 'size',\n MIN: 'min',\n MAX: 'max',\n OPEN: 'open',\n ACCESSIBLE_LABEL: 'accessible-label',\n DISABLED: 'disabled',\n ALLOW_CLOSE: 'allow-close',\n AUTO_CLOSE: 'auto-close',\n AUTO_CLOSE_THRESHOLD: 'auto-close-threshold',\n ORIENTATION: 'orientation'\n};\n\nconst classes = {\n ROOT: 'forge-split-view-panel',\n GRABBED: 'forge-split-view-panel--grabbed',\n HANDLE: 'forge-split-view-panel__handle',\n ICON: 'forge-split-view-panel__icon',\n CONTENT: 'forge-split-view-panel__content',\n CLOSED: 'forge-split-view-panel--closed',\n CLOSING: 'forge-split-view-panel--closing',\n OPENING: 'forge-split-view-panel--opening',\n DISABLED: 'forge-split-view-panel--disabled',\n OVERLAY: 'forge-split-view-panel-overlay'\n};\n\nconst ids = {\n ROOT: 'root',\n HANDLE: 'handle',\n ICON: 'icon',\n RIPPLE: 'ripple',\n CONTENT: 'content'\n};\n\nconst selectors = {\n ROOT: `#${ids.ROOT}`,\n HANDLE: `#${ids.HANDLE}`,\n ICON: `#${ids.ICON}`,\n RIPPLE: `#${ids.RIPPLE}`,\n CONTENT: `#${ids.CONTENT}`\n};\n\nconst events = {\n WILL_RESIZE: `${elementName}-will-resize`,\n RESIZE_START: `${elementName}-resize-start`,\n RESIZE_END: `${elementName}-resize-end`,\n RESIZE: `${elementName}-resize`,\n DID_OPEN: `${elementName}-did-open`,\n DID_CLOSE: `${elementName}-did-close`,\n WILL_OPEN: `${elementName}-will-open`,\n WILL_CLOSE: `${elementName}-will-close`\n};\n\nconst numbers = {\n RIPPLE_ACTIVATION_WAIT: 200\n};\n\nconst customCssProperties = {\n SIZE: '--forge-split-view-panel-size',\n CURSOR: '--forge-split-view-panel-cursor'\n};\n\nexport const SPLIT_VIEW_PANEL_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events,\n numbers,\n customCssProperties\n};\n\n// 'start' panels have a handle on the left/top and collapse to the right/bottom\n// 'end' panels have a handle on the right/bottom and collapse to the left/top\n// 'off' panels don't have a handle, are not resizable, and fill the remaining space\nexport type SplitViewPanelResizable = 'start' | 'end' | 'off';\n\nexport type SplitViewInputDeviceType = 'pointer' | 'keyboard';\n\nexport enum SplitViewAnimatingLayer {\n Under = 1,\n Active = 2,\n Above = 3\n}\n\nexport interface ISplitViewPanelCursorConfig {\n resizable: SplitViewPanelResizable;\n boundary: 'min' | 'max' | 'none';\n}\n\nexport interface ISplitViewPanelState {\n orientation: SplitViewOrientation;\n resizable: SplitViewPanelResizable;\n arrowKeyHeld: boolean;\n startPoint?: number;\n startSize?: number;\n currentSize?: number;\n availableSpace?: number;\n siblingSize?: number;\n keyboardDelta: number;\n isAtMin: boolean;\n isAtMax: boolean;\n min: number;\n max?: number;\n}\n\nexport interface ISplitViewPanelWillResizeEvent {\n inputDeviceType: SplitViewInputDeviceType;\n}\n\nexport interface ISplitViewPanelOpenEvent {\n auto: boolean;\n userInitiated: boolean;\n}\n", "import { percentToPixels, safeMin, scaleValue } from '../../core/utils/utils';\nimport { ISplitViewPanelCursorConfig, ISplitViewPanelState, SplitViewInputDeviceType, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { SplitViewOrientation } from '../split-view/split-view-constants';\nimport { ISplitViewPanelComponent, SplitViewPanelComponent } from './split-view-panel';\n\n/**\n * Creates a default split view panel state object.\n * @returns A new state object.\n */\nexport function initState(): ISplitViewPanelState {\n return {\n orientation: 'horizontal',\n resizable: 'off',\n arrowKeyHeld: false,\n keyboardDelta: 0,\n isAtMin: false,\n isAtMax: false,\n min: 0\n };\n}\n\n/**\n * Gets a state object reflecting the panel's parameters at the beginning of a resize.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns An updated state object.\n */\nexport function setState(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): ISplitViewPanelState {\n const currentSize = adapter.getContentSize(state.orientation);\n return {\n ...state,\n currentSize,\n startSize: currentSize,\n availableSpace: adapter.getAvailableSpace(state.orientation, state.resizable),\n siblingSize: adapter.getSiblingContentSize(),\n isAtMin: false,\n isAtMax: false\n };\n}\n\n/**\n * Gets a state object with all properties related to a resize reset to default.\n * @param state The panel's state object.\n * @returns An updated state object.\n */\nexport function clearState(state: ISplitViewPanelState): ISplitViewPanelState {\n return {\n ...state,\n arrowKeyHeld: false,\n keyboardDelta: 0,\n isAtMin: false,\n isAtMax: false\n };\n}\n\n/**\n * Performs a panel resize triggered by a pointer event.\n * @param adapter The panel's adapter.\n * @param evt The pointer event.\n * @param state The panel's state object.\n * @returns Whether a resize happened.\n */\nexport function pointerResize(adapter: ISplitViewPanelAdapter, evt: PointerEvent, state: ISplitViewPanelState): boolean {\n if (state.startPoint === undefined || state.startSize === undefined) {\n return false;\n }\n\n const initialSize = state.currentSize;\n\n const evtPoint = state.orientation === 'horizontal' ? evt.clientX : evt.clientY;\n let delta = state.startPoint - evtPoint;\n if (state.resizable === 'start') {\n delta *= -1;\n }\n\n const size = state.startSize - delta;\n state.currentSize = clampSize(size, state);\n adapter.setContentSize(state.currentSize);\n handleBoundariesDuringResize(adapter, state, 'pointer');\n adapter.setValuenow(getValuenow(state.currentSize, state));\n\n const siblingDelta = size - state.currentSize + delta;\n resizeSibling(adapter, siblingDelta, state);\n\n return initialSize !== state.currentSize;\n}\n\n/**\n * Performs a panel resize triggered by a keyboard event.\n * @param adapter The panel's adapter.\n * @param increment The pixel amount to change the panel's size.\n * @param state The panel's state object.\n * @returns Whether a resize happened.\n */\nexport function keyboardResize(adapter: ISplitViewPanelAdapter, increment: number, state: ISplitViewPanelState): boolean {\n if (state.startSize === undefined) {\n return false;\n }\n\n const initialSize = state.currentSize;\n\n state.keyboardDelta += increment;\n\n const size = state.startSize + state.keyboardDelta;\n state.currentSize = clampSize(size, state);\n adapter.setContentSize(state.currentSize);\n handleBoundariesDuringResize(adapter, state, 'keyboard');\n adapter.setValuenow(getValuenow(state.currentSize, state));\n\n const siblingDelta = size - state.currentSize + state.keyboardDelta * -1;\n resizeSibling(adapter, siblingDelta, state);\n\n return initialSize !== state.currentSize;\n}\n\n/**\n * Resizes a panel to its minimum possible size.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns The new pixel size of the panel.\n */\nexport function minResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): number {\n adapter.setContentSize(state.min);\n return state.min;\n}\n\n/**\n * Resizes a panel to its maximum possible size.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns The new pixel size of the panel.\n */\nexport function maxResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): number {\n const availableSpace = adapter.getAvailableSpace(state.orientation, state.resizable);\n const max = safeMin(state.max, availableSpace);\n adapter.setContentSize(max);\n return max;\n}\n\n/**\n * Sets a panel's sibling's size to reflect changes in the panel's size.\n * @param adapter The panel's adapter.\n * @param delta The change in size to apply to the sibling.\n * @param state The panel's state object.\n */\nexport function resizeSibling(adapter: ISplitViewPanelAdapter, delta: number, state: ISplitViewPanelState): void {\n if (state.siblingSize !== undefined) {\n const siblingSize = state.siblingSize + delta;\n adapter.setSiblingContentSize(siblingSize);\n }\n}\n\n/**\n * Returns a size limited to an allowed range.\n * @param size The size to try setting this panel to.\n * @param state The panel's state object.\n * @returns A pixel value.\n */\nexport function clampSize(size: number, state: ISplitViewPanelState): number {\n size = Math.max(size, state.min);\n size = safeMin(size, state.max, state.availableSpace);\n return size;\n}\n\n/**\n * Checks whether a panel is at its min or max size while resizing and runs logic related to\n * that once.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @param inputDevice The input device responsible for the resize.\n * @returns Whether the panel is at its min or max size.\n */\nexport function handleBoundariesDuringResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState, inputDevice?: SplitViewInputDeviceType): boolean {\n if (state.currentSize === undefined) {\n return false;\n }\n\n // Check min\n if (state.currentSize <= state.min) {\n // Just reached the min\n if (!state.isAtMin) {\n adapter.activateRipple(inputDevice === 'pointer');\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation, { resizable: state.resizable, boundary: 'min' });\n }\n state.isAtMin = true;\n }\n return true;\n } else if (state.isAtMin) {\n // TODO: is it more performant to have the else if condition or to always set the variable?\n state.isAtMin = false;\n }\n\n // Check max\n const max = safeMin(state.max, state.availableSpace);\n if (state.currentSize >= max) {\n // Just reached the max\n if(!state.isAtMax) {\n adapter.activateRipple(inputDevice === 'pointer');\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation, { resizable: state.resizable, boundary: 'max' });\n }\n state.isAtMax = true;\n }\n return true;\n } else if (state.isAtMax) {\n state.isAtMax = false;\n }\n\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation);\n }\n \n return false;\n}\n\n/**\n * Checks whether a panel is at its min or max size while not resizing and runs logic related to\n * that once.\n * @param adapter The panel's adapter.\n * @param size The panel's size.\n * @param state The panel's state object.\n * @returns Whether the panel is at its min or max size.\n */\nexport function handleBoundariesAfterResize(adapter: ISplitViewPanelAdapter, size: number, state: ISplitViewPanelState): boolean {\n if (size <= state.min) {\n adapter.setHandleCursor(state.orientation, { resizable: state.resizable, boundary: 'min' });\n return true;\n }\n\n const max = safeMin(state.max, state.availableSpace);\n if (size >= max) {\n adapter.setHandleCursor(state.orientation, { resizable: state.resizable, boundary: 'max' });\n return true;\n }\n\n adapter.setHandleCursor(state.orientation);\n return false;\n}\n\n/**\n * Gets the accessible valuenow of a panel.\n * @param size The panel's size in pixels.\n * @param state The panel's state object.\n */\nexport function getValuenow(size: number, state: ISplitViewPanelState): number {\n if (!state.availableSpace && !state.max) {\n return 100;\n }\n\n const max = safeMin(state.max, state.availableSpace);\n return scaleValue(size, state.min, max);\n}\n\n/**\n * Gets the appropriate cursor for the handle orientation.\n * @param orientation \n * @returns A CSS cursor keyword value.\n */\nexport function getCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): string {\n if (orientation === 'horizontal') {\n switch (config?.boundary) {\n case 'min':\n return config.resizable === 'end' ? 'e-resize' : 'w-resize';\n case 'max':\n return config.resizable === 'end' ? 'w-resize' : 'e-resize';\n default:\n return 'col-resize';\n }\n } else {\n switch (config?.boundary) {\n case 'min':\n return config.resizable === 'end' ? 's-resize' : 'n-resize';\n case 'max':\n return config.resizable === 'end' ? 'n-resize' : 's-resize';\n default:\n return 'row-resize';\n }\n }\n}\n\n/**\n * Gets the approporate drag icon for the handle orientation.\n * @param orientation \n * @returns A Forge icon name.\n */\nexport function getHandleIcon(orientation: SplitViewOrientation): string {\n return orientation === 'horizontal' ? 'drag_vertical_variant' : 'drag_handle';\n}\n\n/**\n * Gets the panel that the given panel resizes into.\n * @param el A split view panel.\n * @returns A sibling split view panel or undefined if there is not a sibling.\n */\nexport function getSplitViewPanelSibling(el: ISplitViewPanelComponent): SplitViewPanelComponent | undefined {\n const resizable = el.resizable;\n if (resizable === 'off') {\n return undefined;\n }\n \n let sibling: Element | null = el;\n do {\n sibling = resizable === 'end' ? sibling.nextElementSibling : sibling.previousElementSibling;\n } while (sibling instanceof SplitViewPanelComponent && !sibling.open);\n\n if (sibling instanceof SplitViewPanelComponent) {\n return sibling;\n }\n\n return undefined;\n}\n\n/**\n * Extracts a size and unit from a `number` or `string` formatted as a CSS dimension using px or %.\n * A `number` is interpreted to be a pixel value.\n * @param value A `number` or `string` representing a size in pixels or percent.\n * @returns An object containing the parsed size and unit.\n */\nexport function parseSize(value: number | string): { amount: number; unit: 'px' | '%' | '' } {\n if (!isNaN(+value)) {\n return { amount: +value, unit: 'px' };\n }\n\n // Matches digits with or without decimals, any amount of whitespace, and 'px' or '%'\n const regex = /(^\\d*\\.?\\d*)\\s*(px|%$)?/i;\n const parts = (value as string).match(regex);\n const amount = parts?.[1] ? +parts[1] : -1;\n const unit = (parts?.[2]?.toLowerCase() ?? '') as 'px' | '%' | '';\n\n return { amount, unit };\n}\n\n/**\n * Gets a pixel size value from a pixel or percent value.\n * @param value A `number` or `string` representing a size in pixels or percent.\n * @param parentSize The pixel size of the parent container along the relevant axis.\n * @returns A pixel amount.\n */\nexport function getPixelDimension(value: number | string, parentSize: number): number {\n const parsedSize = parseSize(value);\n\n if (parsedSize.unit === '%') {\n return percentToPixels(parsedSize.amount, parentSize);\n }\n return parsedSize.amount;\n}\n\n/**\n * Creates a transparent element to overlay on top of the document body, ensuring the split view\n * behaves as expected when dragging over other contexts.\n * @returns An overlay element.\n */\nexport function createOverlay(): HTMLElement {\n const el = document.createElement('div');\n el.classList.add(SPLIT_VIEW_PANEL_CONSTANTS.classes.OVERLAY);\n el.style.position = 'fixed';\n el.style.top = '0';\n el.style.left = '0';\n el.style.width = '100vw';\n el.style.height = '100vh';\n el.style.zIndex = '9999';\n return el;\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\n\nimport { safeMin, scaleValue } from '../../core/utils/utils';\nimport { eventIncludesArrowKey } from '../../core/utils/event-utils';\nimport { ISplitViewPanelOpenEvent, ISplitViewPanelState, SplitViewInputDeviceType, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { ISplitViewUpdateConfig, SplitViewOrientation } from '../split-view/split-view-constants';\nimport { ISplitViewBase } from '../core/split-view-base';\nimport { clampSize, clearState, getPixelDimension, getValuenow, handleBoundariesAfterResize, handleBoundariesDuringResize, initState, keyboardResize, maxResize, minResize, pointerResize, setState } from './split-view-panel-utils';\n\nexport interface ISplitViewPanelFoundation extends Partial<ISplitViewBase>, ICustomElementFoundation {\n resizable: SplitViewPanelResizable;\n size: number | string;\n min: number | string;\n max: number | string | undefined;\n accessibleLabel: string;\n open: boolean;\n getContentSize(): number;\n getCollapsibleSize(): number;\n setContentSize(size: number): void;\n update(config: ISplitViewUpdateConfig): void;\n}\n\nexport class SplitViewPanelFoundation implements ISplitViewPanelFoundation {\n // API\n private _size: number | string = 200;\n private _min: number | string = 0;\n private _max: number | string | undefined;\n private _accessibleLabel = 'Split view panel';\n private _open = true;\n private _disabled?: boolean;\n private _allowClose?: boolean;\n private _autoClose?: boolean;\n private _autoCloseThreshold?: number;\n \n // State\n private _state: ISplitViewPanelState = initState();\n private _isInitialized = false;\n\n // Properties stored in state\n private get _orientation(): SplitViewOrientation {\n return this._state.orientation;\n }\n private set _orientation(value: SplitViewOrientation) {\n this._state.orientation = value;\n }\n\n private get _resizable(): SplitViewPanelResizable {\n return this._state.resizable;\n }\n private set _resizable(value: SplitViewPanelResizable) {\n this._state.resizable = value;\n }\n\n private get _pixelMin(): number {\n return this._state.min;\n }\n private set _pixelMin(value: number) {\n this._state.min = value;\n }\n\n private get _pixelMax(): number | undefined {\n return this._state.max;\n }\n private set _pixelMax(value: number | undefined) {\n this._state.max = value;\n }\n\n // Properties inherited from parent split view\n private _parentProperties: Partial<ISplitViewBase> = {};\n\n // Applied properties that can be inherited from parent\n private get _appliedDisabled(): boolean {\n return this._disabled ?? this._parentProperties.disabled ?? false;\n }\n\n private get _appliedAllowClose(): boolean {\n return this._allowClose ?? this._parentProperties.allowClose ?? false;\n }\n\n private get _appliedAutoClose(): boolean {\n return this._autoClose ?? this._parentProperties.autoClose ?? false;\n }\n\n private get _appliedAutoCloseThreshold(): number {\n return this._autoCloseThreshold ?? this._parentProperties.autoCloseThreshold ?? 0;\n }\n\n // Listeners\n private _pointerdownListener: (evt: PointerEvent) => void;\n private _pointerupListener: (evt: PointerEvent) => void;\n private _pointermoveListener: (evt: PointerEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _keyupListener: (evt: KeyboardEvent) => void;\n\n constructor(private _adapter: ISplitViewPanelAdapter) {\n this._pointerdownListener = evt => this._onPointerdown(evt);\n this._pointerupListener = evt => this._onPointerup(evt);\n this._pointermoveListener = evt => this._onPointermove(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._keyupListener = evt => this._onKeyup(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setPointerdownListener(this._pointerdownListener);\n this._adapter.setKeydownListener(this._keydownListener);\n this._getParentProperties();\n this._applyResizable();\n this._applyMin();\n this._applyMax();\n this._applySize();\n this._applyAccessibleLabel();\n this._applyOpen();\n this._applyDisabled();\n this._applyAllowClose();\n this._applyAutoClose();\n this._applyAutoCloseThreshold();\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryRemoveOverlay();\n this._adapter.removePointerupListener(this._pointerupListener);\n this._adapter.removePointermoveListener(this._pointermoveListener);\n }\n\n /**\n * Handles a pointerdown event and sets further pointer event listeners.\n * @param evt The pointer event.\n */\n private _onPointerdown(evt: PointerEvent): void {\n if (this._appliedDisabled || !this._allowResize('pointer')) {\n return;\n }\n\n evt.preventDefault();\n\n this._adapter.setPointermoveListener(this._pointermoveListener);\n this._adapter.setPointerupListener(this._pointerupListener);\n this._handlePointerdown(evt);\n }\n\n /**\n * Handles a pointerup event and removes pointer event listeners.\n * @param evt The pointer event.\n */\n private _onPointerup(evt: PointerEvent): void {\n evt.preventDefault();\n\n this._adapter.removePointermoveListener(this._pointermoveListener);\n this._adapter.removePointerupListener(this._pointerupListener);\n this._handlePointerup();\n }\n\n /**\n * Handles a pointermove event and removes pointer events if the mouse button is released.\n * @param evt The pointer event.\n */\n private _onPointermove(evt: PointerEvent): void {\n if (this._appliedDisabled) {\n return;\n }\n\n evt.preventDefault();\n\n // Detect when the mouse button is released outside of the document\n if (evt.buttons === 0) {\n this._adapter.removePointermoveListener(this._pointermoveListener);\n this._adapter.removePointerupListener(this._pointerupListener);\n this._handlePointerup();\n return;\n }\n\n this._handlePointermove(evt);\n }\n\n /**\n * Handles a keydown event and sets a keyup listener if an arrow key is pressed.\n * @param evt The keyboard event.\n */\n private _onKeydown(evt: KeyboardEvent): void {\n if (this._appliedDisabled) {\n return;\n }\n\n if (evt.key === 'Enter') {\n this._handleEnterKey(evt);\n } else if (evt.key === 'Home' && this._allowResize('keyboard')) {\n this._handleHomeKey(evt);\n } else if (evt.key === 'End' && this._allowResize('keyboard')) {\n this._handleEndKey(evt);\n } else if (eventIncludesArrowKey(evt) && this._allowResize('keyboard')) {\n this._adapter.setKeyupListener(this._keyupListener);\n this._handleArrowKey(evt);\n }\n }\n\n /**\n * Handles a keyup event and removes the keyup listener if an arrow key was released.\n * @param evt The keyboard event.\n */\n private _onKeyup(evt: KeyboardEvent): void {\n if (eventIncludesArrowKey(evt)) {\n this._adapter.removeKeyupListener(this._keyupListener);\n this._handleArrowKeyUp();\n }\n }\n\n /**\n * Toggles the open state.\n * @param evt \n */\n private _handleEnterKey(evt: KeyboardEvent): void {\n if (!this._appliedAllowClose) {\n return;\n }\n\n evt.preventDefault();\n this._tryOpenOrClose(!this._open, false, true);\n }\n\n /**\n * Sets panel size to the min.\n * @param evt\n */\n private _handleHomeKey(evt: KeyboardEvent): void {\n evt.preventDefault();\n\n const size = minResize(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, size);\n this._tryAutoClose();\n }\n\n /**\n * Sets panel size to the max.\n * @param evt\n */\n private _handleEndKey(evt: KeyboardEvent): void {\n evt.preventDefault();\n\n const size = maxResize(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, size);\n }\n\n /**\n * Runs resize logic if an arrow key is included in the event.\n * @param evt \n */\n private _handleArrowKey(evt: KeyboardEvent): void {\n let increment = 0;\n if (this._orientation === 'horizontal') {\n switch (evt.key) {\n case 'ArrowLeft':\n increment = -1;\n break;\n case 'ArrowRight':\n increment = 1;\n break;\n default:\n return;\n }\n } else {\n switch (evt.key) {\n case 'ArrowUp':\n increment = -1;\n break;\n case 'ArrowDown':\n increment = 1;\n break;\n default:\n return;\n }\n }\n\n evt.preventDefault();\n\n if (this._resizable === 'start') {\n increment *= -1;\n }\n if (evt.shiftKey) {\n increment *= 10;\n }\n\n this._tryHandleArrowKeyDown();\n this._handleArrowKeyHeld(increment);\n }\n\n /**\n * Sets resize properties when an arrow key is first pressed.\n */\n private _tryHandleArrowKeyDown(): void {\n if (!this._state.arrowKeyHeld) {\n this._startResize();\n }\n this._state.arrowKeyHeld = true;\n }\n\n /**\n * Performs cleanup logic after a keyboard driven resize.\n */\n private _handleArrowKeyUp(): void {\n this._endResize();\n }\n\n /**\n * Resizes the panel by a set amount.\n * @param increment The pixel change in size.\n */\n private _handleArrowKeyHeld(increment: number): void {\n if (keyboardResize(this._adapter, increment, this._state)) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, this._state.currentSize);\n }\n }\n\n /**\n * Handles the beginning of a pointer driven resize.\n * @param evt \n */\n private _handlePointerdown(evt: MouseEvent): void {\n this._adapter.setGrabbed(true);\n this._adapter.focusHandle();\n \n this._startResize();\n this._state.startPoint = this._orientation === 'horizontal' ? evt.clientX : evt.clientY;\n handleBoundariesDuringResize(this._adapter, this._state, 'pointer');\n }\n\n /**\n * Handles the end of a pointer driven resize.\n */\n private _handlePointerup(): void {\n this._adapter.setGrabbed(false);\n this._adapter.deactivateRipple();\n this._endResize();\n }\n\n /**\n * Resizes the panel from a pointer event.\n * @param evt \n */\n private _handlePointermove(evt: PointerEvent): void {\n if(pointerResize(this._adapter, evt, this._state)) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, this._state.currentSize);\n }\n }\n\n /**\n * Emits a will resize event and allows it to be cancelled.\n * @returns Whether the resize should proceed.\n */\n private _allowResize(inputDeviceType: SplitViewInputDeviceType): boolean {\n return this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_RESIZE, { inputDeviceType }, true, true);\n }\n\n /**\n * Handles common logic to begin a resize.\n */\n private _startResize(): void {\n this._state = setState(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE_START, this._state.startSize);\n }\n\n /**\n * Handles common logic to end a resize.\n */\n private _endResize(): void {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE_END, this._state.currentSize);\n this._adapter.updateParent({ accessibility: this._state.startSize !== this._state.currentSize, cursor: true });\n this._state = clearState(this._state);\n this._tryAutoClose();\n }\n\n /**\n * Emits a will open or will close event and sets the panel open or closed if allowed.\n * @param shouldOpen Whether the panel should open or close. Defaults to `true`.\n * @param auto Whether the panel auto-opened or auto-closed.\n * @param userInitiated Whether opening or closing via user action instead of programmatically.\n */\n private _tryOpenOrClose(shouldOpen = true, auto = false, userInitiated = false): void {\n const eventType = shouldOpen ? SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_OPEN : SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_CLOSE;\n const event: ISplitViewPanelOpenEvent = {\n auto,\n userInitiated\n };\n const isAllowed = this._adapter.emitHostEvent(eventType, event, true, true);\n if (!isAllowed) {\n return;\n }\n this._open = shouldOpen;\n this._applyOpen(event);\n }\n\n /**\n * Auto close the panel if enabled and within the size threshold.\n */\n private _tryAutoClose(): void {\n const size = this._adapter.getContentSize(this._orientation);\n if (this._appliedAutoClose && size <= this._appliedAutoCloseThreshold) {\n this._tryOpenOrClose(false, true, false);\n }\n }\n\n /**\n * Sets orientation, disabled, disable close, and autoclose to reflect the parent split view.\n */\n private _getParentProperties(): void {\n // Parent disabled state\n const parentDisabled = this._adapter.getParentProperty('disabled') as boolean;\n this._parentProperties.disabled = parentDisabled;\n this._applyParentDisabled();\n\n // Parent disable close\n const parentAllowClose = this._adapter.getParentProperty('allowClose') as boolean;\n this._parentProperties.allowClose = parentAllowClose;\n\n // Parent auto close\n const parentAutoClose = this._adapter.getParentProperty('autoClose') as boolean;\n this._parentProperties.autoClose = parentAutoClose;\n this._applyParentAutoClose();\n\n // Parent auto close threshold\n const parentAutoCloseThreshold = this._adapter.getParentProperty('autoCloseThreshold') as number;\n this._parentProperties.autoCloseThreshold = parentAutoCloseThreshold;\n this._applyParentAutoCloseThreshold();\n }\n\n private _applyOrientation(): void {\n this._adapter.setOrientation(this._orientation);\n }\n\n /**\n * Get/set resizable. This affects the side the handle appears on and the direction the panel closes into.\n */\n public get resizable(): SplitViewPanelResizable {\n return this._resizable;\n }\n public set resizable(value: SplitViewPanelResizable) {\n if (this._resizable !== value) {\n this._resizable = value;\n this._applyResizable();\n }\n }\n\n private _applyResizable(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE, this._resizable);\n this._adapter.setResizable(this._resizable);\n }\n\n /**\n * Get/set panel size.\n */\n public get size(): number | string {\n return this._size;\n }\n public set size(value: number | string) {\n if (this._size.toString() !== value.toString()) {\n this._size = value;\n this._applySize();\n }\n }\n\n private _applySize(): void {\n const parentSize = this._adapter.getParentSize(this._orientation);\n const pixelSize = getPixelDimension(this._size, parentSize);\n\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE, this._size.toString());\n this._adapter.setContentSize(pixelSize);\n // Wait for the DOM to render to get available space\n window.requestAnimationFrame(() => {\n const availableSpace = this._adapter.getAvailableSpace(this._orientation, this._resizable);\n const maxSize = safeMin(this._pixelMax, availableSpace);\n const newValue = scaleValue(pixelSize, this._pixelMin, maxSize);\n this._adapter.setValuenow(newValue);\n this._adapter.updateParent({ cursor: true });\n });\n }\n\n /** Get/set min panel size. */\n public get min(): number | string {\n return this._min;\n }\n public set min(value: number | string) {\n if (this._min.toString() !== value.toString()) {\n this._min = value;\n this._applyMin();\n }\n }\n\n private _applyMin(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN, this._min.toString());\n\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMin = getPixelDimension(this._min, parentSize);\n\n if (this._resizable === 'off') {\n return;\n }\n\n const size = this._adapter.getContentSize(this._orientation);\n if (size < this._pixelMin) {\n this.setContentSize(size);\n }\n }\n\n /** Get/set max panel size. */\n public get max(): number | string | undefined {\n return this._max;\n }\n public set max(value: number | string | undefined) {\n if (this._max?.toString() !== value?.toString()) {\n this._max = value;\n this._applyMax();\n }\n }\n\n private _applyMax(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX, this._max !== undefined, this._max?.toString());\n\n if (this._max === undefined) {\n this._pixelMax = undefined;\n return;\n }\n\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMax = getPixelDimension(this._max, parentSize);\n\n if (this._resizable === 'off') {\n return;\n }\n \n const size = this._adapter.getContentSize(this._orientation);\n if (size > this._pixelMax) {\n this.setContentSize(size);\n }\n }\n\n /**\n * Get/set the accessible label.\n */\n public get accessibleLabel(): string {\n return this._accessibleLabel;\n }\n public set accessibleLabel(value: string) {\n if (this._accessibleLabel !== value) {\n this._accessibleLabel = value;\n this._applyAccessibleLabel();\n }\n }\n\n private _applyAccessibleLabel(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL, this._accessibleLabel);\n this._adapter.setAccessibleLabel(this._accessibleLabel);\n }\n\n /**\n * Get/set whether the panel is open.\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._tryOpenOrClose(value, false, false);\n return;\n }\n\n this._open = value;\n const event: ISplitViewPanelOpenEvent | undefined = this._isInitialized ? {\n auto: false,\n userInitiated: false\n } : undefined;\n this._applyOpen(event);\n }\n }\n\n private _applyOpen(event?: ISplitViewPanelOpenEvent): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN, this._open.toString());\n this._adapter.setOpen(this._open, this._isInitialized, event);\n }\n\n /**\n * Get/set whether interactions are disabled.\n */\n public get disabled(): boolean | undefined {\n return this._disabled;\n }\n public set disabled(value: boolean | undefined) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._applyDisabled();\n }\n }\n\n private _applyDisabled(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.DISABLED, this._disabled ?? false);\n this._adapter.setDisabled(this._appliedDisabled);\n }\n\n private _applyParentDisabled(): void {\n if (this._isInitialized && !isDefined(this._disabled)) {\n this._adapter.setDisabled(this._appliedDisabled);\n }\n }\n\n /**\n * Get/set whether closing the panel is disabled.\n */\n public get allowClose(): boolean | undefined {\n return this._allowClose;\n }\n public set allowClose(value: boolean | undefined) {\n if (this._allowClose !== value) {\n this._allowClose = value;\n this._applyAllowClose();\n }\n }\n\n private _applyAllowClose(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.ALLOW_CLOSE, this._allowClose ?? false);\n }\n\n /**\n * Get/set whether the panel closes when a threshold size is reached.\n */\n public get autoClose(): boolean | undefined {\n return this._autoClose;\n }\n public set autoClose(value: boolean | undefined) {\n if (this._autoClose !== value) {\n this._autoClose = value;\n this._applyAutoClose();\n }\n }\n\n private _applyAutoClose(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE, this._autoClose ?? false);\n if (this._isInitialized) {\n this._tryAutoClose();\n }\n }\n\n private _applyParentAutoClose(): void {\n if (this._isInitialized && !isDefined(this._autoClose)) {\n this._tryAutoClose();\n }\n }\n\n /** Get/set the size at which the panel auto closes. */\n public get autoCloseThreshold(): number | undefined {\n return this._autoCloseThreshold;\n }\n public set autoCloseThreshold(value: number | undefined) {\n if (this._autoCloseThreshold !== value) {\n this._autoCloseThreshold = value;\n this._applyAutoCloseThreshold();\n }\n }\n\n private _applyAutoCloseThreshold(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD, isDefined(this._autoCloseThreshold), this.autoCloseThreshold?.toString());\n if (this._isInitialized) {\n this._tryAutoClose();\n }\n }\n\n private _applyParentAutoCloseThreshold(): void {\n if (this._isInitialized && !isDefined(this._autoCloseThreshold)) {\n this._tryAutoClose();\n }\n }\n\n /**\n * Gets the size of panel content without the handle.\n * @returns Content size in pixels.\n */\n public getContentSize(): number {\n return this._adapter.getContentSize(this._orientation);\n }\n\n /**\n * Gets how much the panel can shrink from its current size.\n * @returns The difference between the current and min size in pixels.\n */\n public getCollapsibleSize(): number {\n const parentSize = this._adapter.getParentSize(this._orientation);\n const pixelMin = getPixelDimension(this._min, parentSize);\n return this._adapter.getContentSize(this._orientation) - pixelMin;\n }\n\n /**\n * Sets a new size for the content area.\n * @param size The new content size in pixels.\n */\n public setContentSize(size: number): void {\n if (this._resizable === 'off') {\n return;\n }\n\n const newSize = clampSize(size, this._state);\n this._adapter.setContentSize(newSize);\n if (this._isInitialized) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, newSize);\n }\n }\n\n /**\n * Updates the proved characteristics.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n // Orientation\n if (config.orientation) {\n this._orientation = config.orientation;\n this._applyOrientation();\n }\n\n // Parent properties\n if (config.properties) {\n if (isDefined(config.properties.disabled) && this._parentProperties.disabled !== config.properties.disabled) {\n this._parentProperties.disabled = config.properties.disabled;\n this._applyDisabled();\n }\n if (isDefined(config.properties.allowClose)) {\n this._parentProperties.allowClose = config.properties.allowClose;\n }\n if (isDefined(config.properties.autoClose) && this._parentProperties.autoClose !== config.properties.autoClose) {\n this._parentProperties.autoClose = config.properties.autoClose;\n if (!isDefined(this._autoClose)) {\n this._applyAutoClose();\n }\n }\n if (isDefined(config.properties.autoCloseThreshold) && this._parentProperties.autoCloseThreshold !== config.properties.autoCloseThreshold) {\n this._parentProperties.autoCloseThreshold = config.properties.autoCloseThreshold;\n if (!isDefined(this._autoCloseThreshold)) {\n this._applyAutoCloseThreshold();\n }\n }\n }\n\n // Size\n if (config.size && this.open) {\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMin = getPixelDimension(this._min, parentSize);\n this._pixelMax = isDefined(this._max) ? getPixelDimension(this._max as number | string, parentSize) : undefined;\n this.setContentSize(this._adapter.getContentSize(this._orientation));\n }\n\n // The following properties don't apply to non-resizable panels\n if (this._resizable === 'off') {\n return;\n }\n\n const size = this._adapter.getContentSize(this._orientation);\n const availableSpace = this._adapter.getAvailableSpace(this._orientation, this._resizable);\n\n // Accessibility\n if (config.accessibility && this.open) {\n const valueNow = getValuenow(size, { ...this._state, availableSpace });\n this._adapter.setValuenow(valueNow);\n }\n\n // Contextual cursor\n if (config.cursor) {\n handleBoundariesAfterResize(this._adapter, size, { ...this._state, availableSpace });\n }\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { ISplitViewBase } from '../core';\nimport { SPLIT_VIEW_PANEL_CONSTANTS } from '../split-view-panel/split-view-panel-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-view`;\n\nconst attributes = {\n ORIENTATION: 'orientation',\n DISABLED: 'disabled',\n ALLOW_CLOSE: 'allow-close',\n AUTO_CLOSE: 'auto-close',\n AUTO_CLOSE_THRESHOLD: 'auto-close-threshold'\n};\n\nconst classes = {\n ROOT: 'forge-split-view'\n};\n\nconst ids = {\n ROOT: 'root'\n};\n\nconst selectors = {\n ROOT: `#${ids.ROOT}`,\n PANEL: SPLIT_VIEW_PANEL_CONSTANTS.elementName\n};\n\nconst numbers = {\n RESIZE_THROTTLE_THRESHOLD: 200\n};\n\nconst customCssProperties = {\n ANIMATING_LAYER: '--forge-split-view-animating-layer'\n};\n\nexport const SPLIT_VIEW_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n numbers,\n customCssProperties\n};\n\nexport type SplitViewOrientation = 'horizontal' | 'vertical';\n\nexport interface ISplitViewUpdateConfig {\n accessibility?: boolean;\n cursor?: boolean;\n orientation?: SplitViewOrientation;\n properties?: Partial<ISplitViewBase>;\n size?: boolean;\n}\n", "import { getShadowElement, playKeyframeAnimation, toggleAttribute } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ISplitViewPanelComponent } from './split-view-panel';\nimport { ISplitViewPanelCursorConfig, ISplitViewPanelOpenEvent, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewUpdateConfig, SplitViewOrientation, SPLIT_VIEW_CONSTANTS } from '../split-view/split-view-constants';\nimport { ISplitViewComponent } from '../split-view/split-view';\nimport { getCursor, getHandleIcon, createOverlay, getSplitViewPanelSibling } from './split-view-panel-utils';\nimport { IIconComponent } from '../../icon';\nimport { IRippleComponent } from '../../ripple';\n\nexport interface ISplitViewPanelAdapter extends IBaseAdapter {\n initialize(): void;\n tryRemoveOverlay(): void;\n setPointerdownListener(listener: (evt: PointerEvent) => void): void;\n setPointerupListener(listener: (evt: PointerEvent) => void): void;\n removePointerupListener(listener: (evt: PointerEvent) => void): void;\n setPointermoveListener(listener: (evt: PointerEvent) => void): void;\n removePointermoveListener(listener: (evt: PointerEvent) => void): void;\n setKeydownListener(listener: (evt: KeyboardEvent) => void): void;\n setKeyupListener(listener: (evt: KeyboardEvent) => void): void;\n removeKeyupListener(listener: (evt: KeyboardEvent) => void): void;\n getParentProperty(name: keyof ISplitViewComponent): unknown;\n setAccessibleLabel(value: string): void;\n setDisabled(value: boolean): void;\n setResizable(value: SplitViewPanelResizable): void;\n setOrientation(value: SplitViewOrientation): void;\n setOpen(value: boolean, withAnimation?: boolean, event?: ISplitViewPanelOpenEvent): void;\n setGrabbed(value: boolean): void;\n setHandleCursor(orientation?: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void;\n setBodyCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void;\n getContentSize(orientation: SplitViewOrientation): number;\n setContentSize(value: number): void;\n setValuenow(value: number): void;\n focusHandle(): void;\n getAvailableSpace(orientation: SplitViewOrientation, resizable: SplitViewPanelResizable): number;\n getSiblingContentSize(): number;\n setSiblingContentSize(value: number): void;\n activateRipple(defaultActivated: boolean): void;\n deactivateRipple(): void;\n getParentSize(orientation: SplitViewOrientation): number;\n updateParent(config: ISplitViewUpdateConfig): void;\n}\n\nexport class SplitViewPanelAdapter extends BaseAdapter<ISplitViewPanelComponent> implements ISplitViewPanelAdapter {\n private _root: HTMLElement;\n private _handle: HTMLElement;\n private _icon: IIconComponent;\n private _ripple: IRippleComponent;\n private _content: HTMLElement;\n private _parent?: ISplitViewComponent;\n private _overlay?: HTMLElement;\n\n constructor(component: ISplitViewPanelComponent) {\n super(component);\n this._root = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.ROOT);\n this._handle = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.HANDLE);\n this._icon = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.ICON) as IIconComponent;\n this._ripple = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.RIPPLE) as IRippleComponent;\n this._content = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.CONTENT);\n }\n\n public initialize(): void {\n // Set the parent split view\n const parent = this._component.parentElement;\n if (parent?.tagName.toLowerCase() === SPLIT_VIEW_CONSTANTS.elementName) {\n this._parent = parent as ISplitViewComponent;\n }\n }\n\n public tryRemoveOverlay(): void {\n this._overlay?.remove();\n this._overlay = undefined;\n }\n\n public setPointerdownListener(listener: (evt: PointerEvent) => void): void {\n this._handle.addEventListener('pointerdown', listener);\n }\n\n public setPointerupListener(listener: (evt: PointerEvent) => void): void {\n document.addEventListener('pointerup', listener);\n }\n\n public removePointerupListener(listener: (evt: PointerEvent) => void): void {\n document.removeEventListener('pointerup', listener);\n }\n\n public setPointermoveListener(listener: (evt: PointerEvent) => void): void {\n document.addEventListener('pointermove', listener);\n }\n\n public removePointermoveListener(listener: (evt: PointerEvent) => void): void {\n document.removeEventListener('pointermove', listener);\n }\n\n public setKeydownListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.addEventListener('keydown', listener);\n }\n\n public setKeyupListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.addEventListener('keyup', listener);\n }\n\n public removeKeyupListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.removeEventListener('keyup', listener);\n }\n\n /**\n * Gets the specified property value from the parent split view.\n * @param name The property name.\n * @returns The value of the property.\n */\n public getParentProperty(name: keyof ISplitViewComponent): unknown {\n return this._parent?.[name];\n }\n\n /**\n * Sets the accessible label of the resize handle.\n * @param value The label text.\n */\n public setAccessibleLabel(value: string): void {\n this._handle.setAttribute('aria-label', value);\n }\n\n /**\n * Sets the disabled state of the component.\n * @param value Whether the component is disabled.\n */\n public setDisabled(value: boolean): void {\n this._root.classList.toggle(SPLIT_VIEW_PANEL_CONSTANTS.classes.DISABLED, value);\n if (this._handle) {\n this._handle.setAttribute('tabindex', value ? '-1' : '0');\n toggleAttribute(this._handle, value, 'aria-disabled', 'true');\n }\n }\n\n /**\n * Sets the whether the component's handle is present and at its start or end.\n * @param value The component's resizable value.\n */\n public setResizable(value: SplitViewPanelResizable): void {\n this._root.setAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE, value.toString());\n toggleAttribute(this._handle, value !== 'off', 'aria-valuemin', '0');\n toggleAttribute(this._handle, value !== 'off', 'aria-valuemax', '100');\n\n if (value === 'off') {\n return;\n }\n\n this._handle.remove();\n if (value === 'end') {\n // Place the handle after the content\n this._root.append(this._handle);\n } else {\n // Place the handle before the content\n this._root.prepend(this._handle);\n }\n }\n\n /**\n * Sets the orientation of the component including ARIA attributes and the resize handle icon.\n * @param value The component's orientation.\n */\n public setOrientation(value: SplitViewOrientation): void {\n this._root.setAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.ORIENTATION, value);\n // The divider's orientation is perpendicular to the layout of the component\n this._handle.setAttribute('aria-orientation', value === 'horizontal' ? 'vertical' : 'horizontal');\n this._icon.setAttribute('name', getHandleIcon(value));\n }\n\n /**\n * Opens or closes the component.\n * @param value Whether the component is open.\n * @param withAnimation Whether to use the animation. Defaults to `true`.\n */\n public setOpen(value: boolean, withAnimation = true, event?: ISplitViewPanelOpenEvent): void {\n const finish = (): void => {\n if (!value) {\n this._root.classList.add(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED);\n }\n if (event) {\n this.emitHostEvent(value ? SPLIT_VIEW_PANEL_CONSTANTS.events.DID_OPEN : SPLIT_VIEW_PANEL_CONSTANTS.events.DID_CLOSE, event);\n }\n this._parent?.unlayerSlottedPanels();\n this._parent?.update({ accessibility: true, cursor: true });\n };\n\n if (value && this._root.classList.contains(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED)) {\n this._root.classList.remove(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED);\n\n if (!withAnimation) {\n finish();\n return;\n }\n\n this._parent?.layerSlottedPanels(this._component);\n playKeyframeAnimation(this._root, SPLIT_VIEW_PANEL_CONSTANTS.classes.OPENING, true).then(() => {\n finish();\n });\n } else if (!value && !this._root.classList.contains(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED)) {\n\n if (!withAnimation) {\n finish();\n return;\n }\n\n this._parent?.layerSlottedPanels(this._component);\n playKeyframeAnimation(this._root, SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSING, true).then(() => {\n finish();\n });\n }\n }\n\n /**\n * Sets the components appearance and accessibility to indicated whether it is currently grabbed\n * by the user. Applies a cursor style to the document body.\n * @param value Whether the component is currently being resized via pointer interaction.\n */\n public setGrabbed(value: boolean): void {\n this._root.classList.toggle(SPLIT_VIEW_PANEL_CONSTANTS.classes.GRABBED, value);\n this._handle.setAttribute('aria-grabbed', value.toString());\n\n if (value) {\n if (!this._overlay) {\n this._overlay = createOverlay();\n }\n document.body.append(this._overlay);\n } else {\n this._overlay?.remove();\n }\n }\n\n /**\n * Applies a cursor style to the resize handle. \n * @param orientation The component's orientation. If absent the cursor will be removed.\n * @param config The component's resizable value and whether it's at the min or max value.\n */\n public setHandleCursor(orientation?: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void {\n if (orientation) {\n this._root.style.setProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.CURSOR, getCursor(orientation, config));\n } else {\n this._root.style.removeProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.CURSOR);\n }\n }\n\n /**\n * Applies a cursor style to the overlay element covering the document body.\n * @param orientation The component's orientation.\n * @param config The component's resizable value and whether it's at the min or max value.\n */\n public setBodyCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void {\n this._overlay?.style.setProperty('cursor', getCursor(orientation, config));\n }\n\n /**\n * Gets the size of the content along the orientation axis. Does not include the resize handle.\n * @param orientation The component's orientation.\n * @returns The width or height of the content in pixels.\n */\n public getContentSize(orientation: SplitViewOrientation): number {\n return orientation === 'horizontal' ? this._content.clientWidth : this._content.clientHeight;\n }\n\n /**\n * Sets the size of the content not including the resize handle.\n * @param value The width or height of the content in pixels.\n */\n public setContentSize(value: number): void {\n this._component.style.setProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.SIZE, `${value}px`);\n }\n\n /**\n * Sets the ARIA attribute representing the size of the content compared to its min and max.\n * @param value The content size scaled from 0 to 100.\n */\n public setValuenow(value: number): void {\n this._handle.setAttribute('aria-valuenow', value.toFixed(2));\n }\n\n /**\n * Sets focus on the handle element.\n */\n public focusHandle(): void {\n this._handle.focus();\n }\n\n /**\n * Gets the amount of space that the component is allowed to take. This includes the current\n * size of the component and the size of the sibling it resizes into along the axis of\n * orientation. The sibling's min and max values are taken into account but the component's are\n * not.\n * @param orientation The component's orientation.\n * @param resizable The component's resizable value.\n * @returns The amount of space available for the component to resize into in pixels.\n */\n public getAvailableSpace(orientation: SplitViewOrientation, resizable: SplitViewPanelResizable): number {\n if (resizable === 'off') {\n // Return -1 if the panel is static (i.e. can't be user resized)\n return -1;\n }\n const sibling = getSplitViewPanelSibling(this._component);\n if (sibling) {\n const siblingSize = sibling.getCollapsibleSize();\n return siblingSize + this.getContentSize(orientation);\n } else {\n return this.getParentSize(orientation);\n }\n }\n\n /**\n * Gets the content size of the sibling panel the component resizes into along its axis of\n * orientation.\n * @returns The sibling's content size in pixels or 0 if the sibling does not exist.\n */\n public getSiblingContentSize(): number {\n const sibling = getSplitViewPanelSibling(this._component);\n return sibling?.getContentSize() ?? 0;\n }\n\n /**\n * Sets the content size of the sibling panel the component resizes into along its axis of\n * orientation.\n * @returns The sibling's content size in pixels.\n */\n public setSiblingContentSize(value: number): void {\n const sibling = getSplitViewPanelSibling(this._component);\n sibling?.setContentSize(value);\n }\n\n /**\n * Runs the ripple animation.\n * @param fromActivated Whether the ripple starts from and should end in an activated state.\n */\n public activateRipple(fromActivated: boolean): void {\n if (fromActivated) {\n this._ripple.deactivate();\n // Wait a short amount of time so the animation is distinguishable\n window.setTimeout(() => {\n this._ripple.activate();\n }, SPLIT_VIEW_PANEL_CONSTANTS.numbers.RIPPLE_ACTIVATION_WAIT);\n } else {\n this._ripple.activate();\n this._ripple.deactivate();\n }\n }\n\n /**\n * Deactivates the ripple.\n */\n public deactivateRipple(): void {\n this._ripple.deactivate();\n }\n\n /**\n * Gets the size of the parent split view along the axis of orientation.\n * @param orientation The component's orientation.\n * @returns The parent's size in pixels.\n */\n public getParentSize(orientation: SplitViewOrientation): number {\n const parentSize = orientation === 'horizontal' ? this._parent?.clientWidth : this._parent?.clientHeight;\n return parentSize ?? 0;\n }\n\n /**\n * Updates the provided characteristics of all panels.\n * @param config An update configuration.\n */\n public updateParent(config: ISplitViewUpdateConfig): void {\n this._parent?.update(config);\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber } from '@tylertech/forge-core';\nimport { tylIconDragVerticalVariant } from '@tylertech/tyler-icons/extended';\nimport { tylIconDragHandle } from '@tylertech/tyler-icons/standard';\n\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ISplitViewPanelOpenEvent, ISplitViewPanelWillResizeEvent, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { SplitViewPanelFoundation } from './split-view-panel-foundation';\nimport { SplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { ISplitViewUpdateConfig } from '../split-view/split-view-constants';\nimport { ISplitViewBase } from '../core/split-view-base';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { RippleComponent } from '../../ripple';\n\nconst template = '<template><div class=\\\"forge-split-view-panel\\\" id=\\\"root\\\" part=\\\"root\\\"><div class=\\\"forge-split-view-panel__handle\\\" id=\\\"handle\\\" part=\\\"handle\\\" role=\\\"separator\\\" aria-controls=\\\"content\\\" aria-grabbed=\\\"false\\\" tabindex=\\\"0\\\"><forge-icon class=\\\"forge-split-view-panel__icon\\\" id=\\\"icon\\\" part=\\\"icon\\\"></forge-icon><forge-ripple id=\\\"ripple\\\" part=\\\"ripple\\\"></forge-ripple></div><div class=\\\"forge-split-view-panel__content\\\" id=\\\"content\\\" part=\\\"content\\\" role=\\\"group\\\"><slot></slot></div></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uyor2gb;animation-name:uyor2gb;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uyor2gb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uyor2gb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uyor2gn;animation-name:uyor2gn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uyor2gn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uyor2gn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uyor2hd;animation-name:uyor2hd;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uyor2hd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uyor2hd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uyor2id;animation-name:uyor2id;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uyor2id{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uyor2id{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uyor2ii;animation-name:uyor2ii;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uyor2ii{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uyor2ii{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uyor2il;animation-name:uyor2il;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uyor2il{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uyor2il{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uyor2j4;animation-name:uyor2j4;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uyor2j4{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uyor2j4{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uyor2jt;animation-name:uyor2jt;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uyor2jt{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uyor2jt{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';\n\nexport interface ISplitViewPanelComponent extends Partial<ISplitViewBase>, IBaseComponent {\n resizable: SplitViewPanelResizable;\n size: number | string;\n min: number | string;\n max: number | string | undefined;\n accessibleLabel: string;\n open: boolean;\n getContentSize(): number;\n getCollapsibleSize(): number;\n setContentSize(size: number): void;\n update(config: ISplitViewUpdateConfig): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-split-view-panel': ISplitViewPanelComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-split-view-panel-will-resize': CustomEvent<ISplitViewPanelWillResizeEvent>;\n 'forge-split-view-panel-resize-start': CustomEvent<null>;\n 'forge-split-view-panel-resize-end': CustomEvent<null>;\n 'forge-split-view-panel-resize': CustomEvent<number>;\n 'forge-split-view-panel-will-open': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-will-close': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-did-open': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-did-close': CustomEvent<ISplitViewPanelOpenEvent>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-split-view-panel>` element.\n * \n * @tag forge-split-view-panel\n */\n@CustomElement({\n name: SPLIT_VIEW_PANEL_CONSTANTS.elementName,\n dependencies: [\n IconComponent,\n RippleComponent\n ]\n})\nexport class SplitViewPanelComponent extends BaseComponent implements ISplitViewPanelComponent {\n public static get observedAttributes(): string[] {\n return [\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.DISABLED,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.ALLOW_CLOSE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD\n ];\n }\n\n private _foundation: SplitViewPanelFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconDragVerticalVariant, tylIconDragHandle]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SplitViewPanelFoundation(new SplitViewPanelAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE:\n this.resizable = newValue as SplitViewPanelResizable;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE:\n this.size = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN:\n this.min = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX:\n if (newValue) {\n this.max = newValue;\n } else {\n this.max = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL:\n this.accessibleLabel = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.DISABLED:\n if (this.hasAttribute(name)) {\n this.disabled = coerceBoolean(newValue);\n } else {\n this.disabled = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.ALLOW_CLOSE:\n if (this.hasAttribute(name)) {\n this.allowClose = coerceBoolean(newValue);\n } else {\n this.allowClose = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE:\n if (this.hasAttribute(name)) {\n this.autoClose = coerceBoolean(newValue);\n } else {\n this.autoClose = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD:\n if (newValue) {\n this.autoCloseThreshold = coerceNumber(newValue);\n } else {\n this.autoCloseThreshold = undefined;\n }\n break;\n }\n }\n\n /**\n * Controls which side of the panel the resize handle appears on.\n */\n @FoundationProperty()\n public resizable: SplitViewPanelResizable;\n\n /**\n * The initial size along the axis of orientation.\n */\n @FoundationProperty()\n public size: number | string;\n\n /**\n * The smallest size the panel can take along its axis of orientation.\n */\n @FoundationProperty()\n public min: number | string;\n\n /**\n * The largest size the panel can take along its axis of orientation.\n */\n @FoundationProperty()\n public max: number | string | undefined;\n\n /**\n * The ARIA label given to the resize handle.\n */\n @FoundationProperty()\n public accessibleLabel: string;\n\n /**\n * Controls the open state of the panel.\n */\n @FoundationProperty()\n public open: boolean;\n\n /**\n * Whether resize interactions are disabled or enabled.\n */\n @FoundationProperty()\n public disabled?: boolean;\n\n /**\n * Whether the panel can be closed via keyboard interaction.\n */\n @FoundationProperty()\n public allowClose?: boolean;\n\n /**\n * Whether the panel automatically closes when it reaches a size of 0.\n */\n @FoundationProperty()\n public autoClose?: boolean;\n\n /**\n * The size at which the panel auto closes.\n */\n @FoundationProperty()\n public autoCloseThreshold?: number;\n\n /**\n * Gets the size of content along the axis of orientation.\n * @returns The size of content in pixels.\n */\n public getContentSize(): number {\n return this._foundation.getContentSize();\n }\n\n /**\n * Gets the amount that the content can shrink along the axis of orientation before reaching its\n * min size.\n * @returns The amount that content can shrink in pixels.\n */\n public getCollapsibleSize(): number {\n return this._foundation.getCollapsibleSize();\n }\n\n /**\n * Sets the size of content along the axis of orientation.\n * @param size The new size of content in pixels.\n */\n public setContentSize(size: number): void {\n this._foundation.setContentSize(size);\n }\n\n /**\n * Updates the provided characteristics.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n this._foundation.update(config);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SplitViewPanelComponent } from './split-view-panel';\n\nexport * from './split-view-panel-adapter';\nexport * from './split-view-panel-constants';\nexport * from './split-view-panel-foundation';\nexport * from './split-view-panel';\nexport * from './split-view-panel-utils';\n\nexport function defineSplitViewPanelComponent(): void {\n defineCustomElement(SplitViewPanelComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "events", "numbers", "customCssProperties", "SPLIT_VIEW_PANEL_CONSTANTS", "SplitViewAnimatingLayer", "initState", "setState", "adapter", "state", "currentSize", "__spreadProps", "__spreadValues", "clearState", "pointerResize", "evt", "initialSize", "evtPoint", "delta", "size", "clampSize", "handleBoundariesDuringResize", "getValuenow", "siblingDelta", "resizeSibling", "keyboardResize", "increment", "minResize", "maxResize", "availableSpace", "max", "safeMin", "siblingSize", "inputDevice", "handleBoundariesAfterResize", "scaleValue", "getCursor", "orientation", "config", "getHandleIcon", "getSplitViewPanelSibling", "el", "resizable", "sibling", "SplitViewPanelComponent", "parseSize", "value", "_a", "_b", "regex", "parts", "amount", "unit", "getPixelDimension", "parentSize", "parsedSize", "percentToPixels", "createOverlay", "SPLIT_VIEW_PANEL_CONSTANTS", "SplitViewPanelFoundation", "_adapter", "initState", "evt", "value", "_a", "_b", "eventIncludesArrowKey", "size", "minResize", "SPLIT_VIEW_PANEL_CONSTANTS", "maxResize", "increment", "keyboardResize", "handleBoundariesDuringResize", "pointerResize", "inputDeviceType", "setState", "clearState", "shouldOpen", "auto", "userInitiated", "eventType", "event", "parentDisabled", "parentAllowClose", "parentAutoClose", "parentAutoCloseThreshold", "parentSize", "pixelSize", "getPixelDimension", "availableSpace", "maxSize", "safeMin", "newValue", "scaleValue", "isDefined", "pixelMin", "newSize", "clampSize", "config", "valueNow", "getValuenow", "__spreadProps", "__spreadValues", "handleBoundariesAfterResize", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "SPLIT_VIEW_PANEL_CONSTANTS", "numbers", "customCssProperties", "SPLIT_VIEW_CONSTANTS", "SplitViewPanelAdapter", "BaseAdapter", "component", "getShadowElement", "SPLIT_VIEW_PANEL_CONSTANTS", "parent", "SPLIT_VIEW_CONSTANTS", "_a", "listener", "name", "value", "toggleAttribute", "getHandleIcon", "withAnimation", "event", "_b", "finish", "playKeyframeAnimation", "createOverlay", "orientation", "config", "getCursor", "resizable", "sibling", "getSplitViewPanelSibling", "fromActivated", "parentSize", "template", "styles", "SplitViewPanelComponent", "BaseComponent", "IconRegistry", "tylIconDragVerticalVariant", "tylIconDragHandle", "attachShadowTemplate", "SplitViewPanelFoundation", "SplitViewPanelAdapter", "SPLIT_VIEW_PANEL_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "size", "config", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponent", "RippleComponent", "defineSplitViewPanelComponent", "defineCustomElement", "SplitViewPanelComponent"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{r as T}from"./chunk.QG5EYBS3.js";import{a as I}from"./chunk.6GSVB5NB.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as v,b as g,e as x}from"./chunk.UQQQSJVM.js";import{e as m,k as y}from"./chunk.BIQTNLIF.js";import{k as _}from"./chunk.J2M2MXP2.js";import{a as f,d as l}from"./chunk.M3QDAYD2.js";var O=`${g}icon`,B={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},U=f({},B),z={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},R={DEFAULT_NETWORK_BASE_URL:`${x}v1/icons/svg`},r={elementName:O,attributes:U,numbers:z,strings:R},H="forgeIcons";var u=class extends I{constructor(t){super(t)}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){var p;let i=this._component.shadowRoot,s=i.querySelector("style");i.innerHTML=t,t&&((p=i.firstElementChild)==null||p.setAttribute("aria-hidden","true")),s&&i.appendChild(s)}};var n=class n{static define(e,t){if(Array.isArray(e))return e.filter(p=>n._isIconObject(p)).forEach(p=>n._register(p.name,p.data));let{name:i,data:s}=n._parseIcon(e,t);n._register(i,s)}static remove(e){let t=n._isIconObject(e)?e.name:e;n._icons.delete(t)}static removeListener(e,t){let i=n._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){n._icons.clear(),n._listeners.clear()}static get(e){return n._icons.get(e)}static getIconNames(){return Array.from(n._icons.keys())}static awaitIcon(e,t){var s;if(n._icons.has(e)){t();return}let i=(s=n._listeners.get(e))!=null?s:[];n._listeners.set(e,[...i,t])}static get size(){return n._icons.size}static _register(e,t){n._icons.set(e,t),n._invalidateListeners(e)}static _invalidateListeners(e){let t=n._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),n._listeners.delete(e))}static _parseIcon(e,t=""){return n._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}};n._icons=new Map,n._listeners=new Map;var c=n;var b=new Map;function E(o,e,t=!0){if(!o||!o.includes("svg"))return"";!e&&!o.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=T(o,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(s=>{s.setAttribute("part",s.tagName.toLowerCase())})),i?i.outerHTML:""}function A(o){return c.get(o)}function L(o,e){c.awaitIcon(o,e)}function C(o,e){c.removeListener(o,e)}function N(o,e){let t=b.get(o);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(o).then(async i=>{if(i.ok){let s=await i.text()||"";return c.define({name:e,data:s}),b.delete(o),s}return c.define({name:e,data:""}),""}),b.set(o,t);else return c.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function w(o){return["standard","extended","custom"].includes(o)?o:""}var h=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){this._adapter.isConnected&&(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&C(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),L(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await N(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=E(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return A(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=w(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var S="<template></template>",M=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',a=class extends y{constructor(){super();m(this,S,M),this._foundation=new h(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case r.attributes.NAME:this.name=s;break;case r.attributes.SRC:this.src=s;break;case r.attributes.LAZY:this.lazy=_(s);break;case r.attributes.EXTERNAL:this.external=_(s);break;case r.attributes.EXTERNAL_TYPE:this.externalType=s;break;case r.attributes.VIEWBOX:this.viewbox=s;break}}layout(){this._foundation.layout()}};l([d()],a.prototype,"name",2),l([d()],a.prototype,"src",2),l([d()],a.prototype,"lazy",2),l([d()],a.prototype,"external",2),l([d()],a.prototype,"externalType",2),l([d()],a.prototype,"externalUrlBuilder",2),l([d()],a.prototype,"viewbox",2),a=l([v({name:r.elementName})],a);export{r as a,H as b,u as c,c as d,E as e,A as f,L as g,C as h,N as i,w as j,h as k,a as l};
|
|
7
|
-
//# sourceMappingURL=chunk.CIUPY66Y.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (content) {\n shadowRoot.firstElementChild?.setAttribute('aria-hidden', 'true');\n }\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n"],
|
|
5
|
-
"mappings": "oTAEA,IAAMA,EAA2C,GAAGC,QAE9CC,EAAqB,CACzB,KAAM,OACN,IAAK,MACL,KAAM,OACN,SAAU,WACV,cAAe,gBACf,QAAS,SACX,EAEMC,EAAaC,EAAA,GACdF,GAGCG,EAAU,CACd,iBAAkB,GAClB,cAAe,GACf,eAAgB,EAClB,EAEMC,EAAU,CACd,yBAA0B,GAAGC,eAC/B,EAEaC,EAAiB,CAC5B,YAAAR,EACA,WAAAG,EACA,QAAAE,EACA,QAAAC,CACF,EAEaG,EAAoB,aCvB1B,IAAMC,EAAN,cAA0BC,CAAoD,CAGnF,YAAYC,EAA2B,CACrC,MAAMA,CAAS,CACjB,CAEO,aAAuB,CAC5B,MAAO,CAAC,CAAC,OAAO,oBAClB,CAEO,kBAAkBC,EAA4B,CACnD,KAAK,UAAY,IAAI,qBAAqBC,GAAW,CAC/CA,EAAQ,KAAKC,GAASA,EAAM,cAAc,IAC5C,KAAK,0BAA0B,EAC/BF,EAAS,EAEb,EAAG,CAAE,WAAY,GAAGG,EAAe,QAAQ,oBAAqB,CAAC,EACjE,KAAK,UAAU,QAAQ,KAAK,UAAU,CACxC,CAEO,2BAAkC,CACnC,KAAK,YACP,KAAK,UAAU,WAAW,EAC1B,KAAK,UAAY,OAErB,CAEO,WAAWC,EAAuB,CAvC3C,IAAAC,EAwCI,IAAMC,EAAa,KAAK,WAAW,WAC7BC,EAAWD,EAAW,cAAc,OAAO,EACjDA,EAAW,UAAYF,EACnBA,KACFC,EAAAC,EAAW,oBAAX,MAAAD,EAA8B,aAAa,cAAe,SAExDE,GACFD,EAAW,YAAYC,CAAQ,CAEnC,CACF,ECvCO,IAAMC,EAAN,MAAMA,CAAa,CAQxB,OAAc,OAAOC,EAAgCC,EAAwB,CAC3E,GAAI,MAAM,QAAQD,CAAI,EACpB,OAAOA,EAAK,OAAOE,GAAKH,EAAa,cAAcG,CAAC,CAAC,EACzC,QAAQA,GAAKH,EAAa,UAAUG,EAAE,KAAMA,EAAE,IAAI,CAAC,EAEjE,GAAM,CAAE,KAAAC,EAAM,KAAAC,CAAK,EAAIL,EAAa,WAAWC,EAAMC,CAAO,EAC5DF,EAAa,UAAUI,EAAMC,CAAI,CACnC,CAMA,OAAc,OAAOJ,EAA4B,CAC/C,IAAMK,EAAMN,EAAa,cAAcC,CAAI,EAAIA,EAAK,KAAOA,EAC3DD,EAAa,OAAO,OAAOM,CAAG,CAChC,CAOA,OAAc,eAAeA,EAAaC,EAA4B,CACpE,IAAMC,EAAYR,EAAa,WAAW,IAAIM,CAAG,EAC7C,MAAM,QAAQE,CAAS,GAAKA,EAAU,SAASD,CAAQ,GACzDC,EAAU,OAAOA,EAAU,QAAQD,CAAQ,EAAG,CAAC,CAEnD,CAGA,OAAc,OAAc,CAC1BP,EAAa,OAAO,MAAM,EAC1BA,EAAa,WAAW,MAAM,CAChC,CAGA,OAAc,IAAII,EAAkC,CAClD,OAAOJ,EAAa,OAAO,IAAII,CAAI,CACrC,CAGA,OAAc,cAAyB,CACrC,OAAO,MAAM,KAAKJ,EAAa,OAAO,KAAK,CAAC,CAC9C,CAGA,OAAc,UAAUM,EAAaC,EAA4B,CAlEnE,IAAAE,EAmEI,GAAIT,EAAa,OAAO,IAAIM,CAAG,EAAG,CAChCC,EAAS,EACT,OAEF,IAAMC,GAAYC,EAAAT,EAAa,WAAW,IAAIM,CAAG,IAA/B,KAAAG,EAAoC,CAAC,EACvDT,EAAa,WAAW,IAAIM,EAAK,CAAC,GAAGE,EAAWD,CAAQ,CAAC,CAC3D,CAGA,WAAkB,MAAe,CAC/B,OAAOP,EAAa,OAAO,IAC7B,CAGA,OAAe,UAAUM,EAAaI,EAAqB,CACzDV,EAAa,OAAO,IAAIM,EAAKI,CAAK,EAClCV,EAAa,qBAAqBM,CAAG,CACvC,CAGA,OAAe,qBAAqBA,EAAmB,CACrD,IAAME,EAAYR,EAAa,WAAW,IAAIM,CAAG,EAC7C,MAAM,QAAQE,CAAS,GAAKA,EAAU,SACxCA,EAAU,QAAQD,GAAYA,EAAS,CAAC,EACxCP,EAAa,WAAW,OAAOM,CAAG,EAEtC,CAGA,OAAe,WAAWL,EAAsBI,EAAO,GAAW,CAChE,OAAIL,EAAa,cAAcC,CAAI,EAC1BA,EAEF,CAAE,KAAMA,EAAM,KAAAI,CAAK,CAC5B,CAGA,OAAe,cAAcJ,EAA0B,CACrD,OAAO,OAAOA,GAAS,UAAYA,EAAK,eAAe,MAAM,GAAKA,EAAK,eAAe,MAAM,CAC9F,CACF,EAhGaD,EACI,OAAS,IAAI,IADjBA,EAEI,WAAa,IAAI,IAF3B,IAAMW,EAANX,ECPP,IAAMY,EAAsB,IAAI,IAGzB,SAASC,EAAmBC,EAAgCC,EAAwBC,EAAe,GAAc,CACtH,GAAI,CAACF,GAAc,CAACA,EAAW,SAAS,KAAK,EAC3C,MAAO,GAGL,CAACC,GAAiB,CAACD,EAAW,SAAS,SAAS,IAClDC,EAAgB,OAAOE,EAAe,QAAQ,iBAAiBA,EAAe,QAAQ,kBAGxF,IAAMC,EAAaC,EAAoBL,EAAYC,CAAa,EAEhE,OAAIC,GAAgBE,IAClBA,EAAW,aAAa,OAAQ,KAAK,EACrCA,EAAW,iBAAiB,MAAM,EAAE,QAAQE,GAAQ,CAClDA,EAAK,aAAa,OAAQA,EAAK,QAAQ,YAAY,CAAC,CACtD,CAAC,GAGIF,EAAaA,EAAW,UAAY,EAC7C,CAEO,SAASG,EAAcC,EAAiC,CAC7D,OAAOC,EAAa,IAAID,CAAG,CAC7B,CAEO,SAASE,EAAoBF,EAAaG,EAA4B,CAC3EF,EAAa,UAAUD,EAAKG,CAAQ,CACtC,CAEO,SAASC,EAAmBJ,EAAaG,EAA4B,CAC1EF,EAAa,eAAeD,EAAKG,CAAQ,CAC3C,CAEO,SAASE,EAAiBC,EAAaC,EAA+B,CAE3E,IAAIC,EAAUlB,EAAoB,IAAIgB,CAAG,EAEzC,GAAI,CAACE,EACH,GAAI,OAAO,OAAU,aAAe,OAAO,UAAa,YAEtDA,EAAU,MAAMF,CAAG,EAAE,KAAK,MAAMG,GAAY,CAC1C,GAAIA,EAAS,GAAI,CACf,IAAMC,EAAO,MAAMD,EAAS,KAAK,GAAK,GACtC,OAAAR,EAAa,OAAO,CAAE,KAAAM,EAAM,KAAAG,CAAK,CAAC,EAClCpB,EAAoB,OAAOgB,CAAG,EACvBI,EAET,OAAAT,EAAa,OAAO,CAAE,KAAAM,EAAM,KAAM,EAAG,CAAC,EAC/B,EACT,CAAC,EAGDjB,EAAoB,IAAIgB,EAAKE,CAAO,MAGpC,QAAAP,EAAa,OAAO,CAAE,KAAAM,EAAM,KAAM,EAAG,CAAC,EAC/B,QAAQ,QAAQ,EAAE,EAI7B,OAAOC,GAAW,QAAQ,QAAQ,EAAE,CACtC,CAEO,SAASG,EAAqBC,EAAsB,CAEzD,MADoB,CAAC,WAAY,WAAY,QAAQ,EAAE,SAASA,CAAI,EAC/CA,EAAO,EAC9B,CCzDO,IAAMC,EAAN,KAAgD,CAYrD,YAAoBC,EAAwB,CAAxB,cAAAA,EARpB,KAAQ,UAAY,GACpB,KAAQ,cAAkC,WAQxC,KAAK,cAAgB,IAAM,KAAK,UAAU,CAC5C,CAEO,YAAmB,CACxB,KAAK,WAAW,CAClB,CAEO,YAAmB,CACxB,KAAK,SAAS,0BAA0B,EACxC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,CAC1B,CAEQ,gBAAuB,CACxB,KAAK,SAAS,cAGnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACxB,CAEQ,oBAA2B,CAC7B,KAAK,uBAAyB,KAAK,OACrCC,EAAmB,KAAK,MAAO,KAAK,qBAAqB,CAE7D,CAEQ,YAAmB,CACrB,KAAK,OAAS,KAAK,SAAS,YAAY,EAC1C,KAAK,SAAS,kBAAkB,KAAK,aAAa,EAElD,KAAK,UAAU,CAEnB,CAEQ,iBAAwB,CAC1B,KAAK,cACP,aAAa,KAAK,WAAW,EAC7B,KAAK,YAAc,OAEvB,CAEQ,kBAAyB,CAC/B,KAAK,YAAc,OAAO,WAAW,IAAM,CACzC,KAAK,YAAc,OACnB,KAAK,WAAW,CAClB,CAAC,CACH,CAEA,MAAc,WAA2B,CACvC,GAAI,CACF,GAAI,KAAK,KAEP,KAAK,gBAAgB,KAAK,IAAI,UACrB,KAAK,MAAO,CAErB,IAAIC,EAAU,KAAK,YAAY,KAAK,KAAK,EAEzC,GAAI,CAACA,EAAS,CACZ,GAAI,CAAC,KAAK,UAAW,CAEnB,KAAK,sBAAwB,IAAM,KAAK,WAAW,EACnDC,EAAoB,KAAK,MAAO,KAAK,qBAAqB,EAG1D,KAAK,SAAS,WAAW,EAAE,EAC3B,OAIF,GAAI,CAAC,KAAK,cACR,MAAM,IAAI,MAAM,4CAA4C,KAAK,OAAO,EAE1E,IAAMC,EAAM,KAAK,gBAAgB,KAAK,MAAO,KAAK,aAAa,EAC3DA,IACFF,EAAU,MAAMG,EAAiBD,EAAK,KAAK,KAAK,GAIpD,KAAK,gBAAgBF,CAAO,OAE5B,KAAK,SAAS,WAAW,EAAE,CAE/B,OAAS,EAAP,CACA,WAAK,SAAS,WAAW,EAAE,EACrB,CACR,CACF,CAEQ,gBAAgBI,EAAsC,CAC5D,IAAMJ,EAAUK,EAAmBD,EAAY,KAAK,QAAQ,EAC5D,KAAK,SAAS,WAAWJ,CAAO,CAClC,CAEQ,YAAYM,EAAiC,CACnD,OAAOC,EAAcD,CAAG,CAC1B,CAEQ,gBAAgBE,EAAcC,EAAgC,CACpE,GAAI,OAAO,KAAK,qBAAwB,WACtC,OAAO,KAAK,oBAAoBD,EAAMC,CAAI,EAE5C,IAAMC,EAAUC,EAAqB,KAAK,aAAa,EACvD,MAAO,GAAGC,EAAe,QAAQ,2BAA2BF,EAAU,IAAIA,IAAY,MAAMF,OAC9F,CAEA,IAAW,MAA2B,CACpC,OAAO,KAAK,KACd,CACA,IAAW,KAAKK,EAA2B,CACrC,KAAK,QAAUA,IAEX,KAAK,uBACT,KAAK,mBAAmB,EAE1B,KAAK,OAASA,GAAS,IAAI,QAAQ,MAAO,EAAE,EAC5C,KAAK,eAAe,EACpB,KAAK,SAAS,oBAAoBD,EAAe,WAAW,KAAM,CAAC,CAAC,KAAK,MAAO,KAAK,KAAK,EAE9F,CAEA,IAAW,KAA0B,CACnC,OAAO,KAAK,IACd,CACA,IAAW,IAAIC,EAA2B,CACpC,KAAK,OAASA,IAChB,KAAK,KAAOA,EACR,KAAK,SAAS,aAChB,KAAK,WAAW,EAGtB,CAEA,IAAW,MAAgB,CACzB,OAAO,KAAK,KACd,CACA,IAAW,KAAKA,EAAgB,CAC1B,KAAK,QAAUA,IACjB,KAAK,MAAQA,EACb,KAAK,eAAe,EACpB,KAAK,SAAS,iBAAiBD,EAAe,WAAW,KAAM,GAAG,KAAK,OAAO,EAElF,CAEA,IAAW,UAAoB,CAC7B,OAAO,KAAK,SACd,CACA,IAAW,SAASC,EAAgB,CAC9B,KAAK,YAAcA,IACrB,KAAK,UAAYA,EACjB,KAAK,eAAe,EACpB,KAAK,SAAS,iBAAiBD,EAAe,WAAW,SAAU,GAAG,KAAK,WAAW,EAE1F,CAEA,IAAW,cAAiC,CAC1C,OAAO,KAAK,aACd,CACA,IAAW,aAAaC,EAAyB,CAC3C,KAAK,gBAAkBA,IACzB,KAAK,cAAgBA,EACrB,KAAK,eAAe,EACpB,KAAK,SAAS,iBAAiBD,EAAe,WAAW,cAAe,GAAG,KAAK,eAAe,EAEnG,CAEA,IAAW,oBAAqC,CAC9C,OAAO,KAAK,mBACd,CACA,IAAW,mBAAmBE,EAAoB,CAC5C,KAAK,sBAAwBA,IAC/B,KAAK,oBAAsBA,EAC3B,KAAK,eAAe,EAExB,CAEA,IAAW,SAAkB,CAC3B,OAAO,KAAK,QACd,CACA,IAAW,QAAQD,EAAe,CAC5B,KAAK,WAAaA,IACpB,KAAK,SAAWA,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,iBAAiBD,EAAe,WAAW,QAAS,GAAG,KAAK,SAAS,EAEvF,CAEO,QAAe,CAChB,KAAK,SAAS,aAChB,KAAK,WAAW,CAEpB,CACF,ECvNA,IAAMG,EAAW,wBACXC,EAAS,yzBA2BFC,EAAN,cAA4BC,CAAwC,CAczE,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAe,IAAIC,EAAY,IAAI,CAAC,CAC7D,CAjBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAe,WAAW,KAC1BA,EAAe,WAAW,IAC1BA,EAAe,WAAW,KAC1BA,EAAe,WAAW,SAC1BA,EAAe,WAAW,cAC1BA,EAAe,WAAW,OAC5B,CACF,CAUO,mBAA0B,CAC/B,KAAK,YAAY,WAAW,CAC9B,CAEO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAe,WAAW,KAC7B,KAAK,KAAOG,EACZ,MACF,KAAKH,EAAe,WAAW,IAC7B,KAAK,IAAMG,EACX,MACF,KAAKH,EAAe,WAAW,KAC7B,KAAK,KAAOI,EAAcD,CAAQ,EAClC,MACF,KAAKH,EAAe,WAAW,SAC7B,KAAK,SAAWI,EAAcD,CAAQ,EACtC,MACF,KAAKH,EAAe,WAAW,cAC7B,KAAK,aAAeG,EACpB,MACF,KAAKH,EAAe,WAAW,QAC7B,KAAK,QAAUG,EACf,KACJ,CACF,CA+BO,QAAe,CACpB,KAAK,YAAY,OAAO,CAC1B,CACF,EA9BiBE,EAAA,CADdC,EAAmB,GApDTX,EAqDI,oBAIAU,EAAA,CADdC,EAAmB,GAxDTX,EAyDI,mBAIAU,EAAA,CADdC,EAAmB,GA5DTX,EA6DI,oBAIAU,EAAA,CADdC,EAAmB,GAhETX,EAiEI,wBAIAU,EAAA,CADdC,EAAmB,GApETX,EAqEI,4BAIAU,EAAA,CADdC,EAAmB,GAxETX,EAyEI,kCAIAU,EAAA,CADdC,EAAmB,GA5ETX,EA6EI,uBA7EJA,EAANU,EAAA,CAHNE,EAAc,CACb,KAAMP,EAAe,WACvB,CAAC,GACYL",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "numbers", "strings", "CDN_BASE_URL", "ICON_CONSTANTS", "ICON_REGISTRY_KEY", "IconAdapter", "BaseAdapter", "component", "listener", "entries", "entry", "ICON_CONSTANTS", "content", "_a", "shadowRoot", "styleTag", "_IconRegistry", "icon", "svgData", "i", "name", "data", "key", "listener", "listeners", "_a", "value", "IconRegistry", "_activeIconRequests", "sanitizeSvgContent", "svgContent", "customViewBox", "usePartAttrs", "ICON_CONSTANTS", "svgElement", "createSvgFromString", "node", "getCachedIcon", "key", "IconRegistry", "awaitIconDefinition", "listener", "removeIconListener", "fetchIconContent", "url", "name", "request", "response", "data", "sanitizeExternalType", "type", "IconFoundation", "_adapter", "removeIconListener", "content", "awaitIconDefinition", "url", "fetchIconContent", "svgContent", "sanitizeSvgContent", "key", "getCachedIcon", "name", "type", "setName", "sanitizeExternalType", "ICON_CONSTANTS", "value", "cb", "template", "styles", "IconComponent", "BaseComponent", "attachShadowTemplate", "IconFoundation", "IconAdapter", "ICON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{e as B}from"./chunk.BETICEYY.js";import{d as z}from"./chunk.WBCQTZPS.js";import{a as o}from"./chunk.ZSZFWZAI.js";import{e as w}from"./chunk.UV3WIHCM.js";import{a as N}from"./chunk.XU3YSZPA.js";import{a as O}from"./chunk.6GSVB5NB.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as M,b as H}from"./chunk.UQQQSJVM.js";import{a as k,e as D,f as a,k as R}from"./chunk.BIQTNLIF.js";import{f as T,g as S,m as I,p as F,s as m,t as E,z as A}from"./chunk.DCCFF327.js";import{k as c}from"./chunk.J2M2MXP2.js";import{d as l}from"./chunk.M3QDAYD2.js";var L=`${H}chip-field`,P={ROOT:"forge-chip-field"},b={LABEL:"label",HELPER_TEXT:"helper-text",MEMBER:"member"},V={ROOT:`.${P.ROOT}`,INPUT_CONTAINER:".forge-field__input-container",INPUT:"input",LABEL:`[slot=${b.LABEL}]`,HELPER_TEXT:`[slot=${b.HELPER_TEXT}]`,MEMBER:`[slot=${b.MEMBER}]`,LABEL_SLOT:`slot[name=${b.LABEL}]`,MEMBER_SLOT:`slot[name=${b.MEMBER}]`},Y={MEMBER_ADDED:`${L}-member-added`,MEMBER_REMOVED:`${L}-member-removed`},q={ADD_ON_BLUR:"add-on-blur"},n={attributes:q,elementName:L,classes:P,slots:b,selectors:V,events:Y};var h=class extends O{constructor(e){super(e);this._valueChangeListeners=[]}initialize(e){this._rootElement=a(this._component,e),this._labelSlot=a(this._component,"slot[name=label]"),this._leadingSlot=a(this._component,"slot[name=leading]"),this._trailingSlot=a(this._component,"slot[name=trailing]"),this._addonEndSlot=a(this._component,"slot[name=addon-end]"),this._inputElement=this._component.querySelector("input:not([type=checkbox]):not([type=radio])"),this.detectLabel()}destroy(){this._inputMutationObserver&&this._inputMutationObserver.disconnect()}hasLabel(){return!!this._labelElement}ensureSlottedLabel(){this._labelElement.slot="label"}ensureLabelOrder(){if(this._labelElement){let e=Array.from(this._component.children);e.length>1&&e.indexOf(this._labelElement)<e.indexOf(this._inputElement)&&this._component.appendChild(this._labelElement)}}addLabelSlotListener(e){this._labelSlot.addEventListener("slotchange",e)}removeLabelSlotListener(e){this._labelSlot&&this._labelSlot.removeEventListener("slotchange",e)}addLeadingSlotListener(e){this._leadingSlot.addEventListener("slotchange",e)}removeLeadingSlotListener(e){this._leadingSlot&&this._leadingSlot.removeEventListener("slotchange",e)}addTrailingSlotListener(e){this._trailingSlot.addEventListener("slotchange",e)}removeTrailingSlotListener(e){this._trailingSlot&&this._trailingSlot.removeEventListener("slotchange",e)}addAddonEndSlotListener(e){this._addonEndSlot.addEventListener("slotchange",e)}removeAddonEndSlotListener(e){this._addonEndSlot&&this._addonEndSlot.removeEventListener("slotchange",e)}addInputListener(e,t){this._inputElement.addEventListener(e,t)}removeInputListener(e,t){this._inputElement&&this._inputElement.removeEventListener(e,t)}setValueChangedListener(e,t){this.destroyValueChangeListener();let r=w(e,this._inputElement,"value",t);this._valueChangeListeners.push(r)}destroyValueChangeListener(){this._valueChangeListeners.forEach(e=>e())}detectLabel(){this._labelElement=this._component.querySelector("label")}initializeFloatingLabel(){return new z(this._labelElement)}inputHasValue(){return this._inputElement.value?this._inputElement.value.trim().length>0:!1}fieldHasValue(){return this.inputHasValue()}hasPlaceholder(){return this._inputElement.placeholder?this._inputElement.placeholder.trim().length>0:!1}inputHasFocus(e){return this._inputElement===e||this._inputElement===m(this._component.ownerDocument)}setLabelClass(e){this._labelElement&&this._labelElement.classList.add(e)}removeLabelClass(e){this._labelElement&&this._labelElement.classList.remove(e)}isLabelFloating(){return this._component.hasAttribute(o.attributes.HOST_LABEL_FLOATING)}setRoomy(e){E(this._rootElement,e,o.classes.ROOMY)}setDense(e){E(this._rootElement,e,o.classes.DENSE)}hasLeadingNodes(){return this._leadingSlot?this._leadingSlot.assignedNodes().length>0:!1}hasTrailingNodes(){return this._trailingSlot?this._trailingSlot.assignedNodes().length>0:!1}hasAddonEndNodes(){return this._addonEndSlot?this._addonEndSlot.assignedNodes().length>0:!1}setInputClass(e){this._inputElement.classList.add(e)}removeInputClass(e){this._inputElement.classList.remove(e)}setRootClass(e){T(e,this._rootElement)}removeRootClass(e){S(e,this._rootElement)}setInputAttributeObserver(e){this._inputMutationObserver=A(this._inputElement,e,o.observedInputAttributes)}isDisabled(){return this._inputElement.hasAttribute("disabled")}isReadonly(){return this._inputElement.hasAttribute("readonly")}getLabelWidth(e,t){return F(this._labelElement.innerText,{fontSize:e,fontFamily:t})}getLabelFontMetrics(){let e=getComputedStyle(this._labelElement);return{fontSize:parseInt(e.fontSize||"16",10),fontFamily:e.fontFamily||"Roboto"}}};var u=class extends h{constructor(e){super(e)}initialize(){super.initialize(n.selectors.ROOT),this._memberSlot=a(this._component,n.selectors.MEMBER_SLOT),this._inputContainerElement=a(this._component,n.selectors.INPUT_CONTAINER)}addRootListener(e,t){this._rootElement.addEventListener(e,t)}removeRootListener(e,t){this._rootElement.removeEventListener(e,t)}addMemberSlotListener(e){this._memberSlot.addEventListener("slotchange",e)}removeMemberSlotListener(e){this._memberSlot&&this._memberSlot.removeEventListener("slotchange",e)}addInputContainerListener(e,t){this._inputContainerElement.addEventListener(e,t)}removeInputContainerListener(e,t){this._inputContainerElement.removeEventListener(e,t)}fieldHasValue(){return!!this._component.querySelector(n.selectors.MEMBER)||super.inputHasValue()}focusInput(){var e;(e=this._inputElement)==null||e.focus()}tryPropagateClick(e){var t;!this._inputElement.disabled&&e instanceof HTMLElement&&e.matches(n.selectors.INPUT_CONTAINER)&&((t=this._inputElement)==null||t.dispatchEvent(new MouseEvent("click")))}getSlottedMemberElements(){return this._component.querySelectorAll(n.selectors.MEMBER)}};var _=class{constructor(i){this._adapter=i;this._density="default";this._shape="default";this._invalid=!1;this._required=!1;this._floatLabelType="auto";this._isInitialized=!1;this._labelSlotListener=e=>this._onLabelSlotChanged(e),this._leadingSlotListener=e=>this._onLeadingSlotChanged(e),this._trailingSlotListener=e=>this._onTrailingSlotChanged(e),this._addonEndSlotListener=e=>this._onAddonEndSlotChanged(e),this._focusListener=e=>this._onFocus(e),this._blurListener=e=>this._onBlur(e),this._valueChangedListener=e=>this._onValueChanged(e),this._inputAttributeChangedListener=(e,t)=>this._onInputAttributeChanged(e,t)}initialize(){this._adapter.initialize(""),this._adapter.hasLabel()&&this._adapter.ensureSlottedLabel(),this._initializeLabel(),this._adapter.hasPlaceholder()&&(this._floatLabelType="always"),this._detectSlottedContent(),this._adapter.addLabelSlotListener(this._labelSlotListener),this._adapter.addLeadingSlotListener(this._leadingSlotListener),this._adapter.addTrailingSlotListener(this._trailingSlotListener),this._adapter.addAddonEndSlotListener(this._addonEndSlotListener),this._adapter.setValueChangedListener(this,this._valueChangedListener),this._adapter.addInputListener("focus",this._focusListener),this._adapter.addInputListener("blur",this._blurListener),this._adapter.setInputAttributeObserver(this._inputAttributeChangedListener),this._applyDensity(),this._setShapeType(),this._setValidity(),this._adapter.isDisabled()?this._adapter.setRootClass(o.classes.DISABLED):this._adapter.removeRootClass(o.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(o.classes.READONLY):this._adapter.removeRootClass(o.classes.READONLY),this._floatLabelType==="always"&&this.floatLabel(!0),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.destroy(),this._adapter.removeHostAttribute(o.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(o.classes.LABEL),this._floatingLabel&&(this._floatingLabel.destroy(),this._floatingLabel=void 0),this._adapter.removeLabelSlotListener(this._labelSlotListener),this._adapter.removeLeadingSlotListener(this._leadingSlotListener),this._adapter.removeTrailingSlotListener(this._trailingSlotListener),this._adapter.removeAddonEndSlotListener(this._addonEndSlotListener),this._adapter.removeInputListener("focus",this._focusListener),this._adapter.removeInputListener("blur",this._blurListener),this._adapter.destroyValueChangeListener()}get density(){return this._density}set density(i){if(this._density!==i){let e=this._density;this._density=i,this._isInitialized&&(this._applyDensity(),this._density==="dense"?this._destroyFloatingLabel({cancelFloat:!0}):e==="dense"&&this._initializeLabel()),this._adapter.setHostAttribute(o.attributes.DENSITY,this._density.toString())}}get floatLabelType(){return this._floatLabelType}set floatLabelType(i){this._floatLabelType!==i&&(this._floatLabelType=i,this._isInitialized&&this.floatLabel(this._floatLabelType==="always"),this._adapter.setHostAttribute(o.attributes.FLOAT_LABEL_TYPE,this._floatLabelType))}get shape(){return this._shape}set shape(i){this._shape!==i&&(this._shape=i,this._isInitialized&&this._setShapeType(),this._adapter.setHostAttribute(o.attributes.SHAPE,this._shape))}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,this._isInitialized&&this._setValidity())}get required(){return this._required}set required(i){this._required!==i&&(this._required=i,this._isInitialized&&this._setValidity(),this._required?this._adapter.setHostAttribute(o.attributes.REQUIRED):this._adapter.removeHostAttribute(o.attributes.REQUIRED))}floatLabel(i){var e,t;if(((e=this._floatingLabel)==null?void 0:e.isFloating)===i||this._adapter.isLabelFloating()===i){i&&this._adapter.setHostAttribute(o.attributes.HOST_LABEL_FLOATING,"");return}if(!i&&this._floatLabelType==="always"){(t=this._floatingLabel)==null||t.float(!0,!0),this._adapter.setHostAttribute(o.attributes.HOST_LABEL_FLOATING,"");return}this._floatingLabel&&(this._floatingLabel.float(i,this._floatLabelType==="always"),i?(this._adapter.setInputClass(o.classes.INPUT_FOCUSED),this._adapter.setHostAttribute(o.attributes.HOST_LABEL_FLOATING,"")):(this._adapter.removeInputClass(o.classes.INPUT_FOCUSED),this._adapter.removeHostAttribute(o.attributes.HOST_LABEL_FLOATING)))}_onLabelSlotChanged(i){this._initializeLabel()}_onLeadingSlotChanged(i){this._detectLeadingContent()}_onTrailingSlotChanged(i){this._detectTrailingContent()}_onAddonEndSlotChanged(i){this._detectAddonEndContent()}_initializeLabel(){var i;(i=this._floatingLabel)==null||i.destroy(),this._adapter.detectLabel(),this._adapter.hasLabel()&&this._density!=="dense"?(this._floatingLabel=this._adapter.initializeFloatingLabel(),this._adapter.ensureLabelOrder(),this.floatLabel(this._floatLabelType==="always"||this._adapter.fieldHasValue()||this._adapter.hasPlaceholder()),this._adapter.setRootClass(o.classes.LABEL)):this._destroyFloatingLabel()}_destroyFloatingLabel({cancelFloat:i=!1}={}){var e;this._adapter.removeHostAttribute(o.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(o.classes.LABEL),(e=this._floatingLabel)==null||e.destroy({cancelFloat:i}),this._floatingLabel=void 0}_detectLeadingContent(){this._adapter.hasLeadingNodes()?this._adapter.setRootClass(o.classes.LEADING):this._adapter.removeRootClass(o.classes.LEADING)}_detectTrailingContent(){this._adapter.hasTrailingNodes()?this._adapter.setRootClass(o.classes.TRAILING):this._adapter.removeRootClass(o.classes.TRAILING)}_detectAddonEndContent(){this._adapter.hasAddonEndNodes()?this._adapter.setRootClass(o.classes.ADDON_END):this._adapter.removeRootClass(o.classes.ADDON_END)}_detectSlottedContent(){this._detectLeadingContent(),this._detectTrailingContent(),this._detectAddonEndContent()}_onFocus(i){this._adapter.setRootClass(o.classes.FOCUSED),this._adapter.setLabelClass(o.classes.LABEL_FOCUSED),this.floatLabel(!0)}_onBlur(i){this._adapter.inputHasFocus(i.relatedTarget)||(this._adapter.removeRootClass(o.classes.FOCUSED),this._adapter.removeLabelClass(o.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&(this.floatLabel(!1),this._adapter.removeHostAttribute(o.attributes.HOST_LABEL_FLOATING)))}_onValueChanged(i){this._adapter.fieldHasValue()?this.floatLabel(!0):!this._adapter.inputHasFocus()&&!this._adapter.hasPlaceholder()&&this.floatLabel(!1)}_onInputAttributeChanged(i,e){switch(this._adapter.isDisabled()?(this._adapter.setRootClass(o.classes.DISABLED),this._adapter.removeRootClass(o.classes.FOCUSED),this._adapter.removeInputClass(o.classes.INPUT_FOCUSED),this._adapter.removeLabelClass(o.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&this._floatingLabel&&this.floatLabel(!1)):this._adapter.removeRootClass(o.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(o.classes.READONLY):(this._adapter.removeRootClass(o.classes.READONLY),this._adapter.removeRootClass(o.classes.FOCUSED),this._adapter.removeInputClass(o.classes.INPUT_FOCUSED)),i){case"readonly":case"disabled":this._adapter.inputHasFocus()&&(this._adapter.setRootClass(o.classes.FOCUSED),this._adapter.setInputClass(o.classes.INPUT_FOCUSED),this._adapter.setLabelClass(o.classes.LABEL_FOCUSED));break;case"value":this._floatingLabel&&this.floatLabel(this._adapter.fieldHasValue());break;case"placeholder":if(this._floatingLabel){let t=!!e&&!!e.trim()||this._adapter.fieldHasValue();t!==this._floatingLabel.isFloating&&this.floatLabel(t)}break}}_setShapeType(){this._shape==="rounded"?this._adapter.setRootClass(o.classes.SHAPE_ROUNDED):this._adapter.removeRootClass(o.classes.SHAPE_ROUNDED)}_setValidity(){this._invalid?this._adapter.setRootClass(o.classes.INVALID):this._adapter.removeRootClass(o.classes.INVALID),this._required?this._adapter.setRootClass(o.classes.REQUIRED):this._adapter.removeRootClass(o.classes.REQUIRED)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}};var v=class extends _{constructor(e){super(e);this._adapter=e;this._addOnBlur=!1;this._memberSlotListener=()=>this._onMemberSlotChanged(),this._inputContainerMouseDownListener=t=>this._onInputContainerMouseDown(t),this._handleRootKeyDown=t=>this._onRootKeyDown(t),this._handleKeyDown=t=>this._onKeyDown(t)}initialize(){super.initialize(),this._adapter.addMemberSlotListener(this._memberSlotListener),this._adapter.addInputContainerListener("mousedown",this._inputContainerMouseDownListener),this._adapter.addRootListener("keydown",this._handleRootKeyDown),this._adapter.addInputListener("keydown",this._handleKeyDown)}disconnect(){super.disconnect(),this._adapter.removeMemberSlotListener(this._memberSlotListener),this._adapter.removeInputContainerListener("mousedown",this._inputContainerMouseDownListener),this._adapter.removeRootListener("keydown",this._handleRootKeyDown),this._adapter.removeInputListener("keydown",this._handleKeyDown)}get addOnBlur(){return this._addOnBlur}set addOnBlur(e){e=!!e,this._addOnBlur!==e&&(this._addOnBlur=e,this._adapter.toggleHostAttribute(n.attributes.ADD_ON_BLUR,this._addOnBlur))}_onInputContainerMouseDown(e){e.preventDefault(),this._adapter.focusInput(),this._adapter.tryPropagateClick(e.target)}_onBlur(e){let t=e.target;this._addOnBlur&&this._addMember(t),t.value="",super._onBlur(e)}_onRootKeyDown(e){if(!this._adapter.inputHasValue())switch(e.key){case"Right":case"ArrowRight":this._focusNextMember();break;case"Left":case"ArrowLeft":this._focusPreviousMember();break;case"Backspace":case"Delete":case"Del":this._removeMember();break;default:break}}_onKeyDown(e){let t=e.target;switch(e.key){case"Enter":this._addMember(t);break;case"Esc":case"Escape":t.value="";break;case"Tab":this._addOnBlur||(t.value="");break;default:break}}_focusNextMember(){let e=this._adapter.getSlottedMemberElements();if(!(e.length<1||this._adapter.inputHasFocus()))for(let t=0;t<e.length;t++){let r=e.item(t),f=e.item(t+1);if(this._memberIsActive(r))if(f){f.focus();break}else this._adapter.focusInput()}}_focusPreviousMember(){let e=this._adapter.getSlottedMemberElements();if(!(e.length<1)){if(this._adapter.inputHasFocus()){e[e.length-1].focus();return}for(let t=0;t<e.length;t++){let r=e.item(t-1),f=e.item(t);if(this._memberIsActive(f)&&r){r.focus();break}}}}_memberIsActive(e){return e.matches(":focus-within")||m(e.ownerDocument)===e||e.hasAttribute("focused")}_getActiveMember(){let e=this._adapter.getSlottedMemberElements();for(let t=0;t<e.length;t++){let r=e.item(t);if(this._memberIsActive(r))return r}return null}_addMember(e){let t=e.value.trim();t&&t.length>0&&this._adapter.emitHostEvent(n.events.MEMBER_ADDED,t),e.value=""}_removeMember(){let e=this._getActiveMember();if(!e){let t=this._adapter.getSlottedMemberElements();e=t.item(t.length-1)}e&&(this._focusNextMember(),this._adapter.emitHostEvent(n.events.MEMBER_REMOVED,e))}_onMemberSlotChanged(){this.floatLabel(this._adapter.fieldHasValue()||this._adapter.inputHasFocus()),this._adapter.getSlottedMemberElements().forEach(e=>e.tabIndex=-1)}};var s=class extends R{constructor(){super()}static get observedAttributes(){return[o.attributes.DENSITY,o.attributes.FLOAT_LABEL_TYPE,o.attributes.SHAPE,o.attributes.INVALID,o.attributes.REQUIRED]}connectedCallback(){this.querySelector(o.selectors.INPUT)?this._initialize():I(this,o.selectors.INPUT).then(()=>this._initialize())}_initialize(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,r){switch(e){case o.attributes.DENSITY:this.density=r;break;case o.attributes.FLOAT_LABEL_TYPE:this.floatLabelType=r;break;case o.attributes.SHAPE:this.shape=r;break;case o.attributes.INVALID:this.invalid=c(r);break;case o.attributes.REQUIRED:this.required=c(r);break}}floatLabel(e){this._foundation.floatLabel(e)}};l([d()],s.prototype,"density",2),l([d()],s.prototype,"floatLabelType",2),l([d()],s.prototype,"shape",2),l([d()],s.prototype,"invalid",2),l([d()],s.prototype,"required",2);var K='<template><div class="forge-chip-field__wrapper" part="root"><div class="forge-chip-field forge-field" part="container"><div class="forge-field__leading-container" part="leading-container"><slot name="leading"></slot></div><div class="forge-field__label-input-container" part="label-input-container"><slot name="label"></slot><div class="forge-field__input-container" part="input-container"><slot name="member"></slot><slot></slot></div></div><div class="forge-field__trailing-container" part="trailing-container"><slot name="trailing"></slot></div><div class="forge-field__addon-end-container" part="addon-end-container"><slot name="addon-end"></slot></div></div><slot name="helper-text"></slot></div></template>',G='.forge-field::before{content:"";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-style:var(--forge-chip-field-border-style,solid);border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-chip-field-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field ::slotted(label){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field ::slotted(label[dir=rtl]),[dir=rtl] .forge-field ::slotted(label){right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) ::slotted(label){display:none}.forge-field--required ::slotted(label)::after{content:none}.forge-field--required ::slotted(label)::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){font-size:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){font-size:1rem}.forge-field--disabled ::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){top:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) ::slotted(label){left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) ::slotted(label){left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) ::slotted(label){padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded ::slotted(label){padding-right:32px}.forge-field ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field ::slotted([slot=trailing]){align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=trailing]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=trailing]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=trailing]){margin:0 4px}.forge-field ::slotted([slot=trailing]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#6200ee;border-left-color:var(--mdc-theme-primary,#6200ee)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.38);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-chip-field{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-chip-field-margin-top,0);display:grid;grid-template-columns:[leading] -webkit-min-content [input] 1fr [trailing] -webkit-min-content [addon-end] -webkit-min-content [end];grid-template-columns:[leading] min-content [input] 1fr [trailing] min-content [addon-end] min-content [end]}.forge-chip-field.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-chip-field:not(.forge-field--dense):not(.forge-field--roomy){height:auto;min-height:46px;min-height:var(--forge-chip-field-height,46px)}.forge-chip-field.forge-field--roomy:not(.forge-field--dense){height:auto;min-height:3.5rem;min-height:var(--forge-chip-field-height,3.5rem)}.forge-chip-field.forge-field--dense:not(.forge-field--roomy){height:auto;min-height:1.5rem;min-height:var(--forge-chip-field-height,1.5rem)}.forge-field__label-input-container{grid-column-start:input;grid-column-end:trailing}.forge-field__input-container{-webkit-box-flex:1;flex:1 1 0.0001px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-align:start;align-items:flex-start;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field__input-container{padding:2px 12px}.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-field__input-container{padding-left:32px}.forge-field--leading:not(.forge-field--shape-rounded) .forge-field__input-container{padding-left:0}.forge-field--shape-rounded.forge-field--leading .forge-field__input-container{padding-left:0}.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--shape-rounded:not(.forge-field--trailing):not(.forge-field--addon-end) .forge-field__input-container{padding-right:32px}.forge-field--addon-end:not(.forge-field--shape-rounded) .forge-field__input-container,.forge-field--trailing:not(.forge-field--shape-rounded) .forge-field__input-container{padding-right:0}.forge-field--shape-rounded.forge-field--addon-end .forge-field__input-container,.forge-field--shape-rounded.forge-field--trailing .forge-field__input-container{padding-right:0}.forge-field ::slotted([slot=member]){display:block}.forge-field--disabled ::slotted([slot=member]){--mdc-theme-primary:rgba(0, 0, 0, 0.38);--mdc-theme-primary:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));cursor:not-allowed;pointer-events:none}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 8px 2px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=member]){margin:6px 12px 6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 6px 2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:20px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:16px}.forge-field ::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0}.forge-field ::slotted(input)::-webkit-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-moz-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):invalid{-webkit-box-shadow:none;box-shadow:none}.forge-field ::slotted(input):-webkit-autofill{z-index:auto!important}.forge-field:not(.forge-field--disabled) ::slotted(input){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled ::slotted(input){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){font-size:.875rem;font-size:var(--forge-chip-field-font-size, .875rem)}.forge-field ::slotted(input){-webkit-box-flex:1;flex:1 1 0.0001px;min-width:40px;display:block;align-self:flex-start;padding:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){margin:4px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){margin:6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){margin:2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){height:1.25rem;line-height:1.25rem}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field--leading .forge-field__leading-container{grid-column-start:leading;grid-column-end:input;align-self:flex-start;display:-webkit-box;display:flex}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=leading]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){padding-top:0;padding-bottom:0}.forge-field--trailing .forge-field__trailing-container{grid-column-start:trailing;grid-column-end:addon-end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=trailing]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){padding-top:0;padding-bottom:0}.forge-field--addon-end .forge-field__addon-end-container{grid-column-start:addon-end;grid-column-end:end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=addon-end]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:0;margin-bottom:0}.forge-field ::slotted(forge-icon-button){display:-webkit-inline-box!important;display:inline-flex!important}:host{display:block;contain:layout}:host([hidden]){display:none}',p=class extends s{constructor(){super();D(this,K,G),this._foundation=new v(new u(this))}static get observedAttributes(){return[...Object.values(o.attributes),n.attributes.ADD_ON_BLUR]}attributeChangedCallback(e,t,r){switch(e){case n.attributes.ADD_ON_BLUR:this.addOnBlur=c(r);return}super.attributeChangedCallback(e,t,r)}};l([d()],p.prototype,"addOnBlur",2),p=l([M({name:n.elementName,dependencies:[B]})],p);var U=class extends N{constructor(e){super(e)}_build(){var t,r;let e=document.createElement(n.elementName);return this._inputElement=this._buildInputElement(e),(t=this._config.options)!=null&&t.leadingElement&&(this._config.options.leadingElement.slot="leading",e.appendChild(this._config.options.leadingElement)),(r=this._config.options)!=null&&r.trailingElement&&(this._config.options.trailingElement.slot="trailing",e.appendChild(this._config.options.trailingElement)),e.appendChild(this._inputElement),e}_configure(){var e,t;(e=this._config.options)!=null&&e.helperText&&this.setHelperText(this._config.options.helperText),typeof((t=this._config.options)==null?void 0:t.label)=="string"&&this._createLabel(this._config.options.label)}get value(){return this._inputElement.value}set value(e){this._inputElement.value=e}get disabled(){return this._inputElement.disabled}set disabled(e){this._inputElement.disabled=e}get invalid(){return this._element.invalid||!1}set invalid(e){this._element.invalid=e}get inputElement(){return this._inputElement}get labelElement(){return this._labelElement}onChange(e){this._inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._inputElement.addEventListener("blur",t=>e(t))}setLabel(e){e?this._labelElement?this._labelElement.textContent=e:this._createLabel(e):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(e){e?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=e):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}floatLabel(e){this._element.floatLabel(e)}_createLabel(e){var t;this._labelElement=document.createElement("label"),this._labelElement.textContent=e,(t=this._config.options)!=null&&t.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_buildInputElement(e){var r,f,y,x,C;let t=document.createElement("input");return t.type=((r=this._config.options)==null?void 0:r.type)||"text",((f=this._config.options)==null?void 0:f.value)!==void 0&&(t.value=this._config.options.value),(y=this._config.options)!=null&&y.id&&(t.id=this._config.options.id),typeof((x=this._config.options)==null?void 0:x.placeholder)=="string"&&(t.placeholder=(C=this._config.options)==null?void 0:C.placeholder),e.appendChild(t),t}};function Ke(){k(p)}export{n as a,u as b,v as c,p as d,U as e,Ke as f};
|
|
7
|
-
//# sourceMappingURL=chunk.CSCZRSDT.js.map
|