@tylertech/forge 3.0.0-next.22 → 3.0.0-next.24
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 +28789 -33252
- 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/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.AOVXNX7P.js → chunk.24L6GVJK.js} +2 -2
- package/dist/esm/chunks/{chunk.WMJSYYXQ.js → chunk.27YQZWEJ.js} +2 -2
- package/dist/esm/chunks/{chunk.AG6IRMLZ.js → chunk.2CP5CIRB.js} +2 -2
- package/dist/esm/chunks/chunk.2FF7EQQ3.js +7 -0
- package/dist/esm/chunks/chunk.2FF7EQQ3.js.map +7 -0
- package/dist/esm/chunks/{chunk.USTVZ6MZ.js → chunk.345JBXIL.js} +2 -2
- package/dist/esm/chunks/{chunk.USTVZ6MZ.js.map → chunk.345JBXIL.js.map} +2 -2
- package/dist/esm/chunks/chunk.3B573FQF.js +7 -0
- package/dist/esm/chunks/chunk.3B573FQF.js.map +7 -0
- package/dist/esm/chunks/{chunk.H4VQXV2H.js → chunk.3CXCYRCE.js} +2 -2
- package/dist/esm/chunks/{chunk.MTIPIEXA.js → chunk.3LNZRQAL.js} +2 -2
- package/dist/esm/chunks/{chunk.BQ52JYLA.js → chunk.3LUG3LPU.js} +2 -2
- package/dist/esm/chunks/{chunk.IL4S57WO.js → chunk.3ODT27TD.js} +2 -2
- package/dist/esm/chunks/chunk.3S3NH5P4.js +7 -0
- package/dist/esm/chunks/chunk.3S3NH5P4.js.map +7 -0
- package/dist/esm/chunks/{chunk.A2NB7CIK.js → chunk.45N7ZZVL.js} +2 -2
- package/dist/esm/chunks/{chunk.YWJVZVZX.js → chunk.4GFUXXXH.js} +2 -2
- package/dist/esm/chunks/chunk.4UMFAYZH.js +7 -0
- package/dist/esm/chunks/chunk.4UMFAYZH.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZA7JY3AY.js → chunk.5DDR6QSF.js} +2 -2
- package/dist/esm/chunks/{chunk.3KAKJGUS.js → chunk.5NEWFXFX.js} +2 -2
- package/dist/esm/chunks/{chunk.VRSPT7WX.js → chunk.5OT53ZJM.js} +2 -2
- package/dist/esm/chunks/{chunk.EHVCEEV2.js → chunk.6DWRGYKV.js} +2 -2
- package/dist/esm/chunks/{chunk.IEABOPNB.js → chunk.6T7KPDCD.js} +2 -2
- package/dist/esm/chunks/chunk.6TQDZAMD.js +7 -0
- package/dist/esm/chunks/chunk.6TQDZAMD.js.map +7 -0
- package/dist/esm/chunks/chunk.6V6VLKIK.js +7 -0
- package/dist/esm/chunks/chunk.6V6VLKIK.js.map +7 -0
- package/dist/esm/chunks/{chunk.SROEDYPL.js → chunk.7JO5MB55.js} +2 -2
- package/dist/esm/chunks/{chunk.3IUQ4C47.js → chunk.7TE74NJZ.js} +2 -2
- package/dist/esm/chunks/{chunk.AGLI4WR4.js → chunk.AJLS5C7O.js} +2 -2
- package/dist/esm/chunks/{chunk.KTPEFU7V.js → chunk.BURDWL57.js} +2 -2
- package/dist/esm/chunks/chunk.BYSMPFWQ.js +7 -0
- package/dist/esm/chunks/chunk.BYSMPFWQ.js.map +7 -0
- package/dist/esm/chunks/{chunk.BHE6Z5Y2.js → chunk.CQ4XBOX5.js} +2 -2
- package/dist/esm/chunks/{chunk.NEQX2QVX.js → chunk.DJQXJO3T.js} +2 -2
- package/dist/esm/chunks/chunk.DN6Y3VXC.js +7 -0
- package/dist/esm/chunks/{chunk.RLQB7224.js.map → chunk.DN6Y3VXC.js.map} +2 -2
- package/dist/esm/chunks/{chunk.XTJGWT5F.js → chunk.DPJJB67L.js} +2 -2
- package/dist/esm/chunks/{chunk.7Y3BUR7Q.js → chunk.EBRMG6N3.js} +2 -2
- package/dist/esm/chunks/{chunk.7Y3BUR7Q.js.map → chunk.EBRMG6N3.js.map} +2 -2
- package/dist/esm/chunks/chunk.EPMDEQF7.js +7 -0
- package/dist/esm/chunks/chunk.EPMDEQF7.js.map +7 -0
- package/dist/esm/chunks/{chunk.OOAJHLW4.js → chunk.EZIABLIR.js} +2 -2
- package/dist/esm/chunks/{chunk.ZG6YF2HI.js → chunk.F53DSRUO.js} +2 -2
- package/dist/esm/chunks/{chunk.7AAICE77.js → chunk.FIO22U2C.js} +2 -2
- package/dist/esm/chunks/{chunk.U6J4VHU6.js → chunk.FKMTIOBA.js} +2 -2
- package/dist/esm/chunks/chunk.FMDUCGOU.js +7 -0
- package/dist/esm/chunks/{chunk.5A665C5E.js.map → chunk.FMDUCGOU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.W4HANHUO.js → chunk.FMGBPF7B.js} +2 -2
- package/dist/esm/chunks/{chunk.5MB6CTBA.js → chunk.FVFPDWA4.js} +2 -2
- package/dist/esm/chunks/{chunk.ENUKGA2U.js → chunk.FYPIHFXD.js} +2 -2
- package/dist/esm/chunks/chunk.GNQ24XWK.js +7 -0
- package/dist/esm/chunks/chunk.GNQ24XWK.js.map +7 -0
- package/dist/esm/chunks/chunk.GP6LHJDA.js +7 -0
- package/dist/esm/chunks/chunk.GP6LHJDA.js.map +7 -0
- package/dist/esm/chunks/{chunk.CE35CVDV.js → chunk.GQ33JZVE.js} +2 -2
- package/dist/esm/chunks/{chunk.5ADUSMC7.js → chunk.GUBLRHCG.js} +2 -2
- package/dist/esm/chunks/{chunk.473WRJ5G.js → chunk.HJUXBSFZ.js} +2 -2
- package/dist/esm/chunks/chunk.HJUXBSFZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.37B332ZK.js → chunk.HSNVTV7K.js} +2 -2
- package/dist/esm/chunks/{chunk.PC6TW5XE.js → chunk.HXNNWUI3.js} +2 -2
- package/dist/esm/chunks/{chunk.QCPV5DEG.js → chunk.IOGCI64X.js} +2 -2
- package/dist/esm/chunks/chunk.JB2F2HQE.js +7 -0
- package/dist/esm/chunks/chunk.JB2F2HQE.js.map +7 -0
- package/dist/esm/chunks/chunk.JGPWKCAU.js +7 -0
- package/dist/esm/chunks/chunk.JGPWKCAU.js.map +7 -0
- package/dist/esm/chunks/chunk.JU76GN6C.js +7 -0
- package/dist/esm/chunks/{chunk.KLU54MDQ.js.map → chunk.JU76GN6C.js.map} +2 -2
- package/dist/esm/chunks/chunk.K7I5FWBT.js +7 -0
- package/dist/esm/chunks/chunk.K7I5FWBT.js.map +7 -0
- package/dist/esm/chunks/{chunk.5UOX22ML.js → chunk.KKVQNKMV.js} +2 -2
- package/dist/esm/chunks/{chunk.YPNSK2CK.js → chunk.KW5A2U5U.js} +2 -2
- package/dist/esm/chunks/chunk.L6L3CPBH.js +7 -0
- package/dist/esm/chunks/chunk.L6L3CPBH.js.map +7 -0
- package/dist/esm/chunks/{chunk.KO6ODCZC.js → chunk.LIJE4T3D.js} +2 -2
- package/dist/esm/chunks/{chunk.KEOLH7G3.js → chunk.LQN5U4QH.js} +2 -2
- package/dist/esm/chunks/{chunk.24SQJBSQ.js → chunk.LSUIJDFO.js} +2 -2
- package/dist/esm/chunks/{chunk.77C7S7ZS.js → chunk.N65CAIE5.js} +2 -2
- package/dist/esm/chunks/{chunk.UKBE2FMZ.js → chunk.NNLZKMFX.js} +2 -2
- package/dist/esm/chunks/{chunk.EO3GP6DP.js → chunk.ON6FFHRE.js} +2 -2
- package/dist/esm/chunks/{chunk.OVXEOEJF.js → chunk.ONFZ3H7M.js} +2 -2
- package/dist/esm/chunks/{chunk.XATVDHDW.js → chunk.OVVBXM6K.js} +2 -2
- package/dist/esm/chunks/{chunk.FLBYVCQ6.js → chunk.P3Q3IVVX.js} +2 -2
- package/dist/esm/chunks/{chunk.FLBYVCQ6.js.map → chunk.P3Q3IVVX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DKERDHXH.js → chunk.P74RZEWP.js} +2 -2
- package/dist/esm/chunks/{chunk.QLGJS37N.js → chunk.PBORL6KX.js} +2 -2
- package/dist/esm/chunks/chunk.PDJ2H5ZG.js +7 -0
- package/dist/esm/chunks/{chunk.UPSXYWPD.js.map → chunk.PDJ2H5ZG.js.map} +3 -3
- package/dist/esm/chunks/{chunk.JGURMVW7.js → chunk.PGMOAILY.js} +2 -2
- package/dist/esm/chunks/{chunk.OEI35LFU.js → chunk.PKCMTSWR.js} +2 -2
- package/dist/esm/chunks/{chunk.QUXMLWBJ.js → chunk.Q3Z6VZUD.js} +2 -2
- package/dist/esm/chunks/{chunk.TQWZDM6T.js → chunk.QBHJFCLL.js} +2 -2
- package/dist/esm/chunks/{chunk.WXVVOFNK.js → chunk.QDG6TP2Z.js} +2 -2
- package/dist/esm/chunks/{chunk.H5RW3A4M.js → chunk.QH27OIAK.js} +2 -2
- package/dist/esm/chunks/chunk.QKCPE4LW.js +7 -0
- package/dist/esm/chunks/{chunk.2GUWHBUU.js → chunk.QM32CJAX.js} +2 -2
- package/dist/esm/chunks/{chunk.2GUWHBUU.js.map → chunk.QM32CJAX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.FLF5RTYO.js → chunk.R2CJMM2F.js} +2 -2
- package/dist/esm/chunks/{chunk.IQYOLMPG.js → chunk.RGDLRUSM.js} +2 -2
- package/dist/esm/chunks/{chunk.QIZBZGYT.js → chunk.RKPWFEFJ.js} +2 -2
- package/dist/esm/chunks/{chunk.RXBLU4OJ.js → chunk.S5EU72NR.js} +2 -2
- package/dist/esm/chunks/chunk.SJYEDGBN.js +7 -0
- package/dist/esm/chunks/chunk.SJYEDGBN.js.map +7 -0
- package/dist/esm/chunks/{chunk.T7NWP7DB.js → chunk.SW6JDC2Y.js} +2 -2
- package/dist/esm/chunks/{chunk.7IPAW4D2.js → chunk.TAQRHBGS.js} +2 -2
- package/dist/esm/chunks/{chunk.MFQRXVKO.js → chunk.TEZFEC5B.js} +2 -2
- package/dist/esm/chunks/{chunk.MX4JX4GT.js → chunk.THIUQ2AU.js} +2 -2
- package/dist/esm/chunks/{chunk.JE5LSPXG.js → chunk.TQMT7BIZ.js} +2 -2
- package/dist/esm/chunks/{chunk.GIENHEMN.js → chunk.TR45SGWL.js} +2 -2
- package/dist/esm/chunks/chunk.TZHVZMOB.js +12 -0
- package/dist/esm/chunks/chunk.TZHVZMOB.js.map +7 -0
- package/dist/esm/chunks/{chunk.CFAI4K3E.js → chunk.UBVWYWO7.js} +2 -2
- package/dist/esm/chunks/{chunk.NWVQ5HK2.js → chunk.UHPODZWA.js} +2 -2
- package/dist/esm/chunks/{chunk.3PMONORO.js → chunk.V4R7FCZ2.js} +2 -2
- package/dist/esm/chunks/chunk.V5YGDB7V.js +7 -0
- package/dist/esm/chunks/{chunk.ISLJNJEE.js.map → chunk.V5YGDB7V.js.map} +2 -2
- package/dist/esm/chunks/chunk.VAE5IFEM.js +7 -0
- package/dist/esm/chunks/{chunk.GBAVJILM.js.map → chunk.VAE5IFEM.js.map} +4 -4
- package/dist/esm/chunks/{chunk.QTY25OTN.js → chunk.VCASLYVR.js} +2 -2
- package/dist/esm/chunks/{chunk.QTY25OTN.js.map → chunk.VCASLYVR.js.map} +2 -2
- package/dist/esm/chunks/chunk.W4CL56G7.js +7 -0
- package/dist/esm/chunks/{chunk.BQZKOIAW.js.map → chunk.W4CL56G7.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BEFAXPXJ.js → chunk.WNX3GGYT.js} +2 -2
- package/dist/esm/chunks/chunk.X4NHJE7S.js +7 -0
- package/dist/esm/chunks/chunk.X4NHJE7S.js.map +7 -0
- package/dist/esm/chunks/{chunk.I7YON2TC.js → chunk.X5MI5OFS.js} +2 -2
- package/dist/esm/chunks/{chunk.QKTK5XUE.js → chunk.XHRBFPZ2.js} +2 -2
- package/dist/esm/chunks/{chunk.ASLHRT3N.js → chunk.XT6RPXTM.js} +2 -2
- package/dist/esm/chunks/{chunk.VGIRVTBJ.js → chunk.XWVFJVBN.js} +2 -2
- package/dist/esm/chunks/{chunk.YNCTSMT6.js → chunk.YXFGOJ5Z.js} +2 -2
- package/dist/esm/chunks/chunk.YZ26YDCO.js +7 -0
- package/dist/esm/chunks/{chunk.A7BCLPP4.js.map → chunk.YZ26YDCO.js.map} +2 -2
- package/dist/esm/chunks/chunk.Z6G2RUC2.js +7 -0
- package/dist/esm/chunks/chunk.Z6G2RUC2.js.map +7 -0
- package/dist/esm/chunks/{chunk.K6GJNDTY.js → chunk.Z7IUKJHZ.js} +2 -2
- package/dist/esm/chunks/{chunk.K6GJNDTY.js.map → chunk.Z7IUKJHZ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.GG7IQL46.js → chunk.ZPH3TMNA.js} +2 -2
- package/dist/esm/chunks/chunk.ZSHPKAXP.js +7 -0
- package/dist/esm/chunks/chunk.ZSHPKAXP.js.map +7 -0
- package/dist/esm/chunks/{chunk.CEGBMUSR.js → chunk.ZWELGTD7.js} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/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/icon-button/index.js +7 -0
- 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/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/index.js +1 -1
- 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/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/utils/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge-tokens.css +6 -0
- package/dist/forge.css +1 -1
- package/dist/table/forge-table.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/esm/app-bar/search/app-bar-search.d.ts +3 -3
- package/esm/app-bar/search/app-bar-search.js +3 -3
- package/esm/avatar/avatar-constants.d.ts +0 -1
- package/esm/avatar/avatar-constants.js +0 -2
- package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +26 -42
- package/esm/bottom-sheet/bottom-sheet-adapter.js +46 -85
- package/esm/bottom-sheet/bottom-sheet-constants.d.ts +16 -13
- package/esm/bottom-sheet/bottom-sheet-constants.js +24 -27
- package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +17 -43
- package/esm/bottom-sheet/bottom-sheet-foundation.js +106 -213
- package/esm/bottom-sheet/bottom-sheet.d.ts +42 -29
- package/esm/bottom-sheet/bottom-sheet.js +52 -41
- package/esm/calendar/calendar-constants.d.ts +0 -1
- package/esm/calendar/calendar-constants.js +0 -1
- package/esm/calendar/calendar-dom-utils.js +10 -4
- package/esm/calendar/calendar-menu/calendar-menu-adapter.js +9 -2
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +0 -1
- package/esm/calendar/calendar-menu/calendar-menu-constants.js +0 -1
- package/esm/calendar/calendar-menu/calendar-menu-utils.js +10 -0
- package/esm/calendar/calendar-menu/calendar-menu.js +8 -2
- package/esm/calendar/calendar.js +6 -2
- package/esm/checkbox/checkbox-foundation.js +9 -9
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.d.ts +38 -0
- package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.js +93 -0
- package/esm/deprecated/icon-button/deprecated-icon-button-constants.d.ts +28 -0
- package/esm/deprecated/icon-button/deprecated-icon-button-constants.js +28 -0
- package/esm/deprecated/icon-button/deprecated-icon-button.d.ts +62 -0
- package/esm/deprecated/icon-button/deprecated-icon-button.js +208 -0
- package/esm/deprecated/icon-button/index.d.ts +12 -0
- package/esm/deprecated/icon-button/index.js +16 -0
- package/esm/dialog/dialog.js +1 -1
- package/esm/drawer/drawer/drawer.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
- package/esm/field/field.js +1 -1
- package/esm/index.d.ts +1 -3
- package/esm/index.js +4 -8
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item-adapter.js +4 -0
- package/esm/list/list-item/list-item.d.ts +6 -4
- package/esm/list/list-item/list-item.js +7 -5
- package/esm/open-icon/index.d.ts +0 -2
- package/esm/open-icon/index.js +0 -2
- package/esm/open-icon/open-icon-constants.d.ts +10 -6
- package/esm/open-icon/open-icon-constants.js +9 -11
- package/esm/open-icon/open-icon.d.ts +37 -12
- package/esm/open-icon/open-icon.js +67 -22
- package/esm/paginator/paginator-adapter.d.ts +19 -52
- package/esm/paginator/paginator-adapter.js +25 -106
- package/esm/paginator/paginator-constants.d.ts +22 -35
- package/esm/paginator/paginator-constants.js +17 -40
- package/esm/paginator/paginator-foundation.d.ts +10 -12
- package/esm/paginator/paginator-foundation.js +39 -51
- package/esm/paginator/paginator.d.ts +4 -7
- package/esm/paginator/paginator.js +24 -45
- package/esm/popover/popover.js +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/radio/radio-foundation.js +2 -2
- package/esm/radio/radio/radio.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/stepper/step/step.js +1 -1
- package/esm/switch/switch-foundation.js +6 -6
- package/esm/switch/switch.js +1 -1
- package/esm/table/table-constants.d.ts +1 -0
- package/esm/table/table-constants.js +4 -3
- package/esm/table/table-foundation.js +2 -2
- package/esm/table/table-utils.js +31 -14
- package/esm/tooltip/tooltip.js +1 -1
- package/esm/utils/color-utils.d.ts +0 -4
- package/esm/utils/color-utils.js +0 -19
- package/esm/view-switcher/view-switcher.js +1 -1
- package/package.json +1 -12
- package/styles/bottom-sheet/_core.scss +19 -0
- package/styles/bottom-sheet/_token-utils.scss +30 -0
- package/styles/bottom-sheet/bottom-sheet.scss +59 -3
- package/styles/{color-picker/_variables.scss → bottom-sheet/index.scss} +1 -1
- package/styles/calendar/_mixins.scss +33 -56
- package/styles/calendar/_variables.scss +39 -39
- package/styles/calendar/calendar-menu/_mixins.scss +25 -84
- package/styles/color-picker/_mixins.scss +15 -21
- package/styles/color-picker/color-picker.scss +0 -1
- package/styles/core/styles/animation/index.scss +22 -0
- package/styles/core/styles/border/index.scss +10 -1
- package/styles/core/styles/elevation/index.scss +19 -26
- package/styles/core/styles/shape/index.scss +9 -0
- package/styles/core/styles/spacing/index.scss +9 -0
- package/styles/core/styles/theme/index.scss +2 -13
- package/styles/core/styles/tokens/bottom-sheet/_tokens.scss +21 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +1 -1
- package/styles/core/styles/tokens/elevation/_tokens.scss +35 -84
- package/styles/core/styles/tokens/list/list/_tokens.scss +14 -1
- package/styles/core/styles/tokens/list/list-item/_tokens.scss +6 -6
- package/styles/core/styles/tokens/open-icon/_tokens.scss +25 -0
- package/styles/core/styles/tokens/popover/_tokens.scss +1 -1
- package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
- package/styles/core/styles/tokens/switch/_tokens.scss +1 -1
- package/styles/core/styles/tokens/theme/_tokens.core.scss +60 -30
- package/styles/core/styles/tokens/theme/_tokens.scss +1 -48
- package/styles/core/styles/tokens/theme/_tokens.status.scss +78 -32
- package/styles/core/styles/tokens/theme/_tokens.surface.scss +33 -51
- package/styles/core/styles/tokens/theme/_tokens.text.scss +20 -26
- package/styles/core/styles/tokens/theme/_tokens.utilities.scss +13 -23
- package/styles/core/styles/tokens/tooltip/_tokens.scss +1 -1
- package/styles/deprecated/icon-button/deprecated-icon-button.scss +114 -0
- package/styles/dialog/_core.scss +3 -1
- package/styles/dialog/dialog.scss +1 -1
- package/styles/drawer/base/_mixins.scss +11 -10
- package/styles/drawer/base/_variables.scss +6 -5
- package/styles/drawer/drawer/_variables.scss +6 -5
- package/styles/drawer/mini-drawer/_mixins.scss +11 -14
- package/styles/drawer/modal-drawer/_mixins.scss +4 -9
- package/styles/field/_core.variant.scss +0 -1
- package/styles/forge-tokens.scss +40 -0
- package/styles/forge.scss +1 -10
- package/styles/linear-progress/_core.scss +0 -1
- package/styles/list/list/list.scss +23 -7
- package/styles/list/list-item/_core.scss +10 -10
- package/styles/list/list-item/list-item.scss +4 -4
- package/styles/open-icon/_core.scss +26 -0
- package/styles/open-icon/_token-utils.scss +30 -0
- package/styles/{paginator/_variables.scss → open-icon/index.scss} +1 -1
- package/styles/open-icon/open-icon.scss +75 -3
- package/styles/paginator/_core.scss +42 -0
- package/styles/{typography/_index.scss → paginator/index.scss} +1 -2
- package/styles/paginator/paginator.scss +49 -5
- package/styles/profile-card/profile-card.scss +0 -1
- package/styles/split-view/split-view/_mixins.scss +0 -2
- package/styles/split-view/split-view-panel/_mixins.scss +12 -16
- package/styles/split-view/split-view-panel/_variables.scss +0 -1
- package/styles/table/_core.scss +333 -0
- package/styles/table/_variables.scss +22 -37
- package/styles/table/forge-table.scss +217 -3
- package/styles/{theme/_index.scss → table/index.scss} +1 -2
- package/styles/theme/_theme-dark.scss +0 -5
- package/styles/theme/forge-theme.scss +0 -7
- package/styles/typography/forge-typography.scss +0 -3
- package/styles/view-switcher/_mixins.scss +8 -8
- package/dist/busy-indicator/forge-busy-indicator.css +0 -6
- package/dist/esm/busy-indicator/index.js +0 -7
- package/dist/esm/chunks/chunk.3CTKWBV2.js +0 -7
- package/dist/esm/chunks/chunk.3CTKWBV2.js.map +0 -7
- package/dist/esm/chunks/chunk.5A665C5E.js +0 -7
- package/dist/esm/chunks/chunk.6E5WHIPF.js +0 -7
- package/dist/esm/chunks/chunk.6E5WHIPF.js.map +0 -7
- package/dist/esm/chunks/chunk.6VS3LYAF.js +0 -7
- package/dist/esm/chunks/chunk.6VS3LYAF.js.map +0 -7
- package/dist/esm/chunks/chunk.A7BCLPP4.js +0 -7
- package/dist/esm/chunks/chunk.AFWWND2C.js +0 -7
- package/dist/esm/chunks/chunk.AFWWND2C.js.map +0 -7
- package/dist/esm/chunks/chunk.BQZKOIAW.js +0 -7
- package/dist/esm/chunks/chunk.BV7EAQST.js +0 -7
- package/dist/esm/chunks/chunk.BV7EAQST.js.map +0 -7
- package/dist/esm/chunks/chunk.CGFSMACZ.js +0 -7
- package/dist/esm/chunks/chunk.CGFSMACZ.js.map +0 -7
- package/dist/esm/chunks/chunk.DZJ6HBAG.js +0 -7
- package/dist/esm/chunks/chunk.DZJ6HBAG.js.map +0 -7
- package/dist/esm/chunks/chunk.E2BE52ME.js +0 -7
- package/dist/esm/chunks/chunk.E2BE52ME.js.map +0 -7
- package/dist/esm/chunks/chunk.EUJBIOGT.js +0 -7
- package/dist/esm/chunks/chunk.EUJBIOGT.js.map +0 -7
- package/dist/esm/chunks/chunk.GBAVJILM.js +0 -7
- package/dist/esm/chunks/chunk.HG4IDRAC.js +0 -7
- package/dist/esm/chunks/chunk.HG4IDRAC.js.map +0 -7
- package/dist/esm/chunks/chunk.ISLJNJEE.js +0 -7
- package/dist/esm/chunks/chunk.KLU54MDQ.js +0 -7
- package/dist/esm/chunks/chunk.LGSCBWNR.js +0 -7
- package/dist/esm/chunks/chunk.LGSCBWNR.js.map +0 -7
- package/dist/esm/chunks/chunk.LSMHIVX2.js +0 -7
- package/dist/esm/chunks/chunk.LSMHIVX2.js.map +0 -7
- package/dist/esm/chunks/chunk.O5WAQQNR.js +0 -7
- package/dist/esm/chunks/chunk.O5WAQQNR.js.map +0 -7
- package/dist/esm/chunks/chunk.PFIIBXTS.js +0 -7
- package/dist/esm/chunks/chunk.PFIIBXTS.js.map +0 -7
- package/dist/esm/chunks/chunk.Q7TBWGKN.js +0 -12
- package/dist/esm/chunks/chunk.Q7TBWGKN.js.map +0 -7
- package/dist/esm/chunks/chunk.QVATEY5S.js +0 -7
- package/dist/esm/chunks/chunk.QVATEY5S.js.map +0 -7
- package/dist/esm/chunks/chunk.RFT3BAJ2.js +0 -7
- package/dist/esm/chunks/chunk.RFT3BAJ2.js.map +0 -7
- package/dist/esm/chunks/chunk.RKIJTSSL.js +0 -7
- package/dist/esm/chunks/chunk.RKIJTSSL.js.map +0 -7
- package/dist/esm/chunks/chunk.RLQB7224.js +0 -7
- package/dist/esm/chunks/chunk.RONMNRSH.js +0 -7
- package/dist/esm/chunks/chunk.RONMNRSH.js.map +0 -7
- package/dist/esm/chunks/chunk.RSYEG2RW.js +0 -7
- package/dist/esm/chunks/chunk.RSYEG2RW.js.map +0 -7
- package/dist/esm/chunks/chunk.UPSXYWPD.js +0 -7
- package/dist/esm/chunks/chunk.W6FT6MKN.js +0 -7
- package/dist/esm/chunks/chunk.W6FT6MKN.js.map +0 -7
- package/dist/esm/chunks/chunk.YRAEFQJW.js +0 -7
- package/dist/esm/chunks/chunk.YRAEFQJW.js.map +0 -7
- package/dist/esm/quantity-field/index.js +0 -7
- package/dist/esm/quantity-field/index.js.map +0 -7
- package/dist/esm/theme/index.js +0 -7
- package/dist/esm/theme/index.js.map +0 -7
- package/dist/quantity-field/forge-quantity-field.css +0 -6
- package/dist/typography/forge-typography-legacy.css +0 -6
- package/dist/utils/forge-utils.css +0 -6
- package/esm/busy-indicator/busy-indicator-adapter.d.ts +0 -155
- package/esm/busy-indicator/busy-indicator-adapter.js +0 -203
- package/esm/busy-indicator/busy-indicator-constants.d.ts +0 -49
- package/esm/busy-indicator/busy-indicator-constants.js +0 -58
- package/esm/busy-indicator/busy-indicator-foundation.d.ts +0 -97
- package/esm/busy-indicator/busy-indicator-foundation.js +0 -268
- package/esm/busy-indicator/busy-indicator.d.ts +0 -77
- package/esm/busy-indicator/busy-indicator.js +0 -115
- package/esm/busy-indicator/index.d.ts +0 -10
- package/esm/busy-indicator/index.js +0 -14
- package/esm/open-icon/open-icon-adapter.d.ts +0 -18
- package/esm/open-icon/open-icon-adapter.js +0 -27
- package/esm/open-icon/open-icon-foundation.d.ts +0 -22
- package/esm/open-icon/open-icon-foundation.js +0 -35
- package/esm/quantity-field/index.d.ts +0 -11
- package/esm/quantity-field/index.js +0 -15
- package/esm/quantity-field/quantity-field-adapter.d.ts +0 -77
- package/esm/quantity-field/quantity-field-adapter.js +0 -221
- package/esm/quantity-field/quantity-field-component-delegate.d.ts +0 -44
- package/esm/quantity-field/quantity-field-component-delegate.js +0 -129
- package/esm/quantity-field/quantity-field-constants.d.ts +0 -35
- package/esm/quantity-field/quantity-field-constants.js +0 -41
- package/esm/quantity-field/quantity-field-foundation.d.ts +0 -36
- package/esm/quantity-field/quantity-field-foundation.js +0 -100
- package/esm/quantity-field/quantity-field.d.ts +0 -34
- package/esm/quantity-field/quantity-field.js +0 -100
- package/esm/theme/color-constants.d.ts +0 -313
- package/esm/theme/color-constants.js +0 -363
- package/esm/theme/index.d.ts +0 -7
- package/esm/theme/index.js +0 -7
- package/esm/theme/theme-utils.d.ts +0 -9
- package/esm/theme/theme-utils.js +0 -68
- package/styles/bottom-sheet/_mixins.scss +0 -93
- package/styles/bottom-sheet/_variables.scss +0 -7
- package/styles/busy-indicator/_mixins.scss +0 -185
- package/styles/busy-indicator/_variables.scss +0 -9
- package/styles/busy-indicator/busy-indicator.scss +0 -22
- package/styles/busy-indicator/forge-busy-indicator.scss +0 -8
- package/styles/open-icon/_mixins.scss +0 -39
- package/styles/open-icon/_variables.scss +0 -8
- package/styles/paginator/_mixins.scss +0 -136
- package/styles/quantity-field/_mixins.scss +0 -116
- package/styles/quantity-field/forge-quantity-field.scss +0 -18
- package/styles/quantity-field/quantity-field.scss +0 -16
- package/styles/table/_mixins.scss +0 -547
- package/styles/theme/_custom-properties.scss +0 -311
- package/styles/theme/_keys.scss +0 -477
- package/styles/theme/_theme-utils.scss +0 -23
- package/styles/theme/_theme-values.scss +0 -246
- package/styles/theme/_theme.scss +0 -279
- package/styles/typography/_mixins.scss +0 -73
- package/styles/typography/_variables.scss +0 -100
- package/styles/typography/forge-typography-legacy.scss +0 -8
- package/styles/utils/forge-utils.scss +0 -45
- /package/dist/esm/chunks/{chunk.AOVXNX7P.js.map → chunk.24L6GVJK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WMJSYYXQ.js.map → chunk.27YQZWEJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AG6IRMLZ.js.map → chunk.2CP5CIRB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H4VQXV2H.js.map → chunk.3CXCYRCE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MTIPIEXA.js.map → chunk.3LNZRQAL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BQ52JYLA.js.map → chunk.3LUG3LPU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IL4S57WO.js.map → chunk.3ODT27TD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A2NB7CIK.js.map → chunk.45N7ZZVL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YWJVZVZX.js.map → chunk.4GFUXXXH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZA7JY3AY.js.map → chunk.5DDR6QSF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3KAKJGUS.js.map → chunk.5NEWFXFX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VRSPT7WX.js.map → chunk.5OT53ZJM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EHVCEEV2.js.map → chunk.6DWRGYKV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IEABOPNB.js.map → chunk.6T7KPDCD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SROEDYPL.js.map → chunk.7JO5MB55.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3IUQ4C47.js.map → chunk.7TE74NJZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AGLI4WR4.js.map → chunk.AJLS5C7O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KTPEFU7V.js.map → chunk.BURDWL57.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BHE6Z5Y2.js.map → chunk.CQ4XBOX5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NEQX2QVX.js.map → chunk.DJQXJO3T.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XTJGWT5F.js.map → chunk.DPJJB67L.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OOAJHLW4.js.map → chunk.EZIABLIR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZG6YF2HI.js.map → chunk.F53DSRUO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7AAICE77.js.map → chunk.FIO22U2C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U6J4VHU6.js.map → chunk.FKMTIOBA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W4HANHUO.js.map → chunk.FMGBPF7B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5MB6CTBA.js.map → chunk.FVFPDWA4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ENUKGA2U.js.map → chunk.FYPIHFXD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CE35CVDV.js.map → chunk.GQ33JZVE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5ADUSMC7.js.map → chunk.GUBLRHCG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.37B332ZK.js.map → chunk.HSNVTV7K.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PC6TW5XE.js.map → chunk.HXNNWUI3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.77C7S7ZS.js.map → chunk.IOGCI64X.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5UOX22ML.js.map → chunk.KKVQNKMV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YPNSK2CK.js.map → chunk.KW5A2U5U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KO6ODCZC.js.map → chunk.LIJE4T3D.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KEOLH7G3.js.map → chunk.LQN5U4QH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.24SQJBSQ.js.map → chunk.LSUIJDFO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QCPV5DEG.js.map → chunk.N65CAIE5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UKBE2FMZ.js.map → chunk.NNLZKMFX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EO3GP6DP.js.map → chunk.ON6FFHRE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OVXEOEJF.js.map → chunk.ONFZ3H7M.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XATVDHDW.js.map → chunk.OVVBXM6K.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DKERDHXH.js.map → chunk.P74RZEWP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QLGJS37N.js.map → chunk.PBORL6KX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JGURMVW7.js.map → chunk.PGMOAILY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OEI35LFU.js.map → chunk.PKCMTSWR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QUXMLWBJ.js.map → chunk.Q3Z6VZUD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TQWZDM6T.js.map → chunk.QBHJFCLL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WXVVOFNK.js.map → chunk.QDG6TP2Z.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H5RW3A4M.js.map → chunk.QH27OIAK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.473WRJ5G.js.map → chunk.QKCPE4LW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FLF5RTYO.js.map → chunk.R2CJMM2F.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IQYOLMPG.js.map → chunk.RGDLRUSM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QIZBZGYT.js.map → chunk.RKPWFEFJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RXBLU4OJ.js.map → chunk.S5EU72NR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.T7NWP7DB.js.map → chunk.SW6JDC2Y.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7IPAW4D2.js.map → chunk.TAQRHBGS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MFQRXVKO.js.map → chunk.TEZFEC5B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MX4JX4GT.js.map → chunk.THIUQ2AU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JE5LSPXG.js.map → chunk.TQMT7BIZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GIENHEMN.js.map → chunk.TR45SGWL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CFAI4K3E.js.map → chunk.UBVWYWO7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NWVQ5HK2.js.map → chunk.UHPODZWA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3PMONORO.js.map → chunk.V4R7FCZ2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BEFAXPXJ.js.map → chunk.WNX3GGYT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.I7YON2TC.js.map → chunk.X5MI5OFS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QKTK5XUE.js.map → chunk.XHRBFPZ2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ASLHRT3N.js.map → chunk.XT6RPXTM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VGIRVTBJ.js.map → chunk.XWVFJVBN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YNCTSMT6.js.map → chunk.YXFGOJ5Z.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GG7IQL46.js.map → chunk.ZPH3TMNA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CEGBMUSR.js.map → chunk.ZWELGTD7.js.map} +0 -0
- /package/dist/esm/{busy-indicator → deprecated/icon-button}/index.js.map +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/stepper/step/step-constants.ts", "../../src/stepper/step/step-adapter.ts", "../../src/stepper/step/step-foundation.ts", "../../src/stepper/step/step.ts", "../../src/stepper/step/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}step`;\n\nconst classes = {\n STEP: 'forge-step',\n STEP_CONTAINER: 'container',\n ERROR: 'error',\n SELECTED: 'selected',\n COMPLETED: 'completed',\n EDITABLE: 'editable',\n ALTERNATIVE: 'alternative',\n ICON_CONTENT: 'icon-content',\n ICON: 'icon',\n LABEL_CONTAINER: 'label-container',\n LABEL: 'label',\n OPTIONAL_LABEL: 'optional-label',\n INDEX: 'index',\n CLUSTERED: 'clustered',\n DISABLED: 'disabled',\n VERTICAL: 'vertical',\n EXPANDED: 'expanded',\n EXPANDABLE: 'expandable',\n EXPANSION_PANEL: 'expansion-panel',\n EXPANSION_ICON: 'expanded-icon',\n EXPANSION_ICON_EXPANDED: 'expanded-icon--expanded',\n EXPANSION_CONTENT: 'expansion-content'\n};\n\nconst attributes = {\n SELECTED: `selected`,\n INDEX: `index`,\n EDITABLE: `editable`,\n COMPLETED: `completed`,\n ERROR: `error`,\n ALTERNATIVE: 'alternative',\n FIRST: 'first',\n LAST: 'last',\n ARIA_SELECTED: 'aria-selected',\n CLUSTERED: `clustered`,\n DISABLED: 'disabled',\n VERTICAL: 'vertical',\n EXPANDED: 'expanded',\n EXPANDABLE: 'expandable',\n IGNORE_USER_EXPANSION: 'ignore-user-expansion'\n};\n\nconst selectors = {\n STEP: `.${classes.STEP}`,\n STEP_CONTAINER: `.${classes.STEP_CONTAINER}`,\n INDEX: `.${classes.INDEX}`,\n ICON: `.${classes.ICON}`,\n ICON_CONTENT: `.${classes.ICON_CONTENT}`,\n EXPANSION_SLOT: `slot[name=\"expansion-content\"]`,\n EXPANSION_PANEL: `.${classes.EXPANSION_PANEL}`,\n EXPANSION_ICON: `.${classes.EXPANSION_ICON}`\n};\n\nconst strings = {\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n ARROW_DOWN_KEY: 'ArrowDown',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n HOME_KEY: 'Home',\n SPACE_KEY: 'Space',\n EXPANSION_CONTENT_SLOT_NAME: 'expansion-content'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n EXPANDED_CONTENT_FOCUSIN: `${elementName}-expanded-content-focusin`,\n EXPANDED_CONTENT_FOCUSOUT: `${elementName}-expanded-content-focusout`\n};\n\nexport const STEP_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n strings\n};\n\nexport type StepIcons = 'check' | 'block' | 'mode_edit' | 'warning' | '';\n", "import { addClass, getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base';\nimport { IStepComponent } from './step';\nimport { StepIcons, STEP_CONSTANTS } from './step-constants';\nimport { IIconComponent } from '../../icon';\nimport { IExpansionPanelComponent } from '../../expansion-panel';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\n\nexport interface IStepAdapter extends IBaseAdapter {\n component: IStepComponent;\n toggleDisabled(disabled: boolean): void;\n focusButton(): void;\n setIndex(value: number): void;\n initialize(): void;\n toggleRootClass(className: string, on: boolean): void;\n setRootAttribute(attribute: string, value: string): void;\n setRootTabIndex(value: number): void;\n toggleIcon(name: StepIcons, show: boolean): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n slotHasContent(): boolean;\n setExpanded(expanded: boolean): void;\n setSlotListener(listener: (evt: MouseEvent) => void): void;\n removeSlotListener(listener: (evt: MouseEvent) => void): void;\n setExpansionPanelAnimations: (animate: boolean) => void;\n addExpansionPanel: () => void;\n removeExpansionPanel: () => void;\n addExpansionIcon: () => void;\n removeExpansionIcon: () => void;\n addExpansionPanelListener(event: string, listener: EventListener): void;\n removeExpansionPanelListener(event: string, listener: EventListener): void;\n isExpandedContentInFocus(checkElement?: HTMLElement): boolean;\n}\n\nexport class StepAdapter extends BaseAdapter<IStepComponent> implements IStepAdapter {\n private _buttonElement: HTMLButtonElement;\n private _container: HTMLElement;\n private _expansionSlot: HTMLSlotElement;\n private _expansionPanel: IExpansionPanelComponent;\n private readonly _stateLayerElement: IStateLayerComponent;\n\n constructor(_component: IStepComponent) {\n super(_component);\n this._buttonElement = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP) as HTMLButtonElement;\n this._container = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP_CONTAINER) as HTMLElement;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public get root(): HTMLElement {\n return this._buttonElement;\n }\n public unbounded = false;\n public get disabled(): boolean {\n return this._buttonElement.disabled;\n }\n\n public get component(): IStepComponent {\n return this._component;\n }\n\n public setRootTabIndex(value: number): void {\n this._buttonElement.tabIndex = value;\n }\n\n public initialize(): void {\n this._component.setAttribute('role', 'tab');\n }\n\n public setIndex(value: number): void {\n (this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX) as HTMLElement).innerHTML = (value + 1 || '').toString();\n }\n\n public toggleRootClass(className: string, on: boolean): void {\n toggleClass(this._buttonElement, on, className);\n }\n\n public setRootAttribute(attribute: string, value: string): void {\n this._buttonElement.setAttribute(attribute, value);\n }\n\n public focusButton(): void {\n this._buttonElement.focus();\n }\n\n public toggleDisabled(disabled: boolean): void {\n toggleClass(this._buttonElement, disabled, STEP_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._buttonElement, disabled, 'aria-disabled');\n this._stateLayerElement.disabled = disabled;\n\n this._buttonElement.disabled = disabled;\n }\n\n public toggleIcon(name: StepIcons, show: boolean): void {\n const index = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX) as HTMLElement;\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.ICON) as IIconComponent;\n if (!show) {\n index.style.display = 'inherit';\n icon.style.display = 'none';\n return;\n }\n\n index.style.display = 'none';\n icon.style.display = 'inherit';\n icon.name = name;\n }\n\n public slotHasContent(): boolean {\n return this._expansionSlot.assignedElements({ flatten: true }).length > 0;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.removeEventListener('click', listener);\n }\n\n public setSlotListener(listener: (evt: MouseEvent) => void): void {\n this._expansionSlot.addEventListener('slotchange', listener);\n }\n\n public removeSlotListener(listener: (evt: MouseEvent) => void): void {\n if (this._expansionSlot) {\n this._expansionSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public setExpanded(expanded: boolean): void {\n if (this._expansionPanel) {\n this._expansionPanel.open = expanded;\n toggleAttribute(this._expansionPanel, !expanded, 'tabindex', '-1');\n }\n\n toggleClass(this._buttonElement, expanded, STEP_CONSTANTS.classes.EXPANDED);\n }\n\n public setExpansionPanelAnimations(animate: boolean): void {\n this._expansionPanel.animationType = animate ? 'default' : 'none';\n }\n\n public addExpansionPanel(): void {\n const panel = this._container.querySelector(STEP_CONSTANTS.selectors.EXPANSION_PANEL);\n\n if (panel) {\n return;\n }\n\n this._expansionPanel = this._container.appendChild(this._createExpansionPanel());\n this._expansionSlot = this._expansionPanel.querySelector(STEP_CONSTANTS.selectors.EXPANSION_SLOT) as HTMLSlotElement;\n }\n\n public removeExpansionPanel(): void {\n const panel = this._container.querySelector(STEP_CONSTANTS.selectors.EXPANSION_PANEL);\n\n if (panel) {\n this._container.removeChild(panel);\n }\n }\n\n public addExpansionIcon(): void {\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);\n\n if (icon) {\n return;\n }\n\n this._buttonElement.appendChild(this._createExpansionIcon());\n }\n\n public removeExpansionIcon(): void {\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);\n\n if (icon) {\n this._buttonElement.removeChild(icon);\n }\n }\n\n public addExpansionPanelListener(event: string, listener: EventListener): void {\n this._expansionPanel.addEventListener(event, listener);\n }\n\n public removeExpansionPanelListener(event: string, listener: EventListener): void {\n if (this._expansionPanel) {\n this._expansionPanel.removeEventListener(event, listener);\n }\n }\n\n public isExpandedContentInFocus(checkElement?: HTMLElement): boolean {\n return this._expansionSlot.assignedElements().some(element => element.contains(checkElement || document.activeElement));\n }\n\n private _createExpansionPanel(): IExpansionPanelComponent {\n const panel = document.createElement('forge-expansion-panel');\n panel.animationType = 'none';\n panel.setAttribute('part', 'expansion-panel');\n addClass(STEP_CONSTANTS.classes.EXPANSION_PANEL, panel);\n\n const slot = document.createElement('slot');\n\n slot.setAttribute('name', 'expansion-content');\n addClass(STEP_CONSTANTS.classes.EXPANSION_CONTENT, slot);\n panel.appendChild(slot);\n\n return panel;\n }\n\n private _createExpansionIcon(): IIconComponent {\n const icon = document.createElement('forge-icon');\n addClass(STEP_CONSTANTS.classes.EXPANSION_ICON, icon);\n icon.name = 'keyboard_arrow_down';\n icon.setAttribute('part', 'expanded-icon');\n return icon;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IStepAdapter } from './step-adapter';\nimport { StepIcons, STEP_CONSTANTS } from './step-constants';\n\n\nexport interface IStepFoundation extends ICustomElementFoundation {\n index: number;\n editable: boolean;\n completed: boolean;\n error: boolean;\n selected: boolean;\n alternative: boolean;\n vertical: boolean;\n setStepTabIndex(index: number): void;\n}\n\nexport class StepFoundation implements IStepFoundation {\n private _index: number;\n private _completed: boolean;\n private _editable: boolean;\n private _error: boolean;\n private _selected: boolean;\n private _alternative: boolean;\n private _disabled: boolean;\n private _iconState: StepIcons;\n private _vertical: boolean;\n private _expanded: boolean;\n private _ignoreUserExpansion: boolean;\n private _initialized: boolean;\n private _expandedContentFocused: boolean;\n private _clickListener: EventListener;\n private _expansionContentFocusInListener: EventListener;\n private _expansionContentFocusOutListener: EventListener;\n private _expansionContentSlotChangeListener: EventListener;\n\n constructor(private _adapter: IStepAdapter) {\n this._clickListener = () => this._onClickListener();\n this._expansionContentSlotChangeListener = evt => this._onExpansionContentSlotChange(evt);\n this._expansionContentFocusInListener = evt => this._onExpansionContentFocusIn(evt as FocusEvent);\n this._expansionContentFocusOutListener = evt => this._onExpansionContentFocusOut(evt as FocusEvent);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applySelected();\n this._toggleIcon();\n if (this._vertical) {\n this._adapter.addExpansionPanel();\n this._adapter.addExpansionIcon();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setSlotListener(this._expansionContentSlotChangeListener);\n this._adapter.addExpansionPanelListener('focusin', this._expansionContentFocusInListener);\n this._adapter.addExpansionPanelListener('focusout', this._expansionContentFocusOutListener);\n }\n this._initialized = true;\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeSlotListener(this._expansionContentSlotChangeListener);\n this._adapter.removeExpansionPanelListener('focusin', this._onExpansionContentFocusIn);\n this._adapter.removeExpansionPanelListener('focusout', this._onExpansionContentFocusOut);\n }\n\n public get index(): number {\n return this._index;\n }\n public set index(value: number) {\n if (this._index !== value) {\n this._index = value;\n this._applyIndex();\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.INDEX, value.toString());\n }\n }\n\n public get editable(): boolean {\n return this._editable;\n }\n public set editable(value: boolean) {\n if (this._editable !== value) {\n this._editable = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EDITABLE, value);\n this._applyEditable();\n }\n }\n\n public get completed(): boolean {\n return this._completed;\n }\n public set completed(value: boolean) {\n if (this._completed !== value) {\n this._completed = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.COMPLETED, value);\n this._applyCompleted();\n }\n }\n\n public get error(): boolean {\n return this._error;\n }\n public set error(value: boolean) {\n if (this._error !== value) {\n this._error = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.ERROR, value);\n this._applyError();\n }\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.SELECTED, value);\n this._applySelected();\n }\n }\n\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n if (this._alternative !== value) {\n this._alternative = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.ALTERNATIVE, value);\n this._applyAlternative();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n this._disabled = value;\n this._applyDisabled();\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (value !== this._vertical) {\n this._vertical = value;\n this._applyVertical();\n\n if (this._initialized) {\n if (this._vertical) {\n this._adapter.addExpansionPanel();\n this._adapter.addExpansionIcon();\n\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setSlotListener(this._expansionContentSlotChangeListener);\n } else {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeSlotListener(this._expansionContentSlotChangeListener);\n\n this._adapter.removeExpansionPanel();\n this._adapter.removeExpansionIcon();\n }\n }\n }\n }\n\n public get expanded(): boolean {\n return this._expanded;\n }\n public set expanded(value: boolean) {\n if (value !== this._expanded) {\n this._expanded = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EXPANDED, this._expanded);\n if (this._initialized) {\n this._applyExpanded();\n }\n }\n }\n\n public get ignoreUserExpansion(): boolean {\n return this._ignoreUserExpansion;\n }\n public set ignoreUserExpansion(value: boolean) {\n if (value !== this._ignoreUserExpansion) {\n this._ignoreUserExpansion = value;\n }\n }\n\n public setStepTabIndex(index: number): void {\n this._adapter.setRootTabIndex(index);\n }\n\n private _applyExpanded(): void {\n this._adapter.setExpanded(this._expanded);\n }\n\n private _applyVertical(): void {\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.VERTICAL, this._vertical);\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.VERTICAL, this._vertical);\n }\n\n public focus(): void {\n this._adapter.focusButton();\n }\n\n private _applyAlternative(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.ALTERNATIVE, this._alternative);\n }\n\n private _applySelected(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.SELECTED, this._selected);\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.ARIA_SELECTED, (this._selected || false).toString());\n this._adapter.setRootTabIndex(this._selected ? 0 : -1);\n this._toggleIcon();\n }\n\n private _applyIndex(): void {\n this._adapter.setIndex(this._index);\n }\n\n private _applyEditable(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.EDITABLE, this._editable);\n this._toggleIcon();\n }\n\n private _applyCompleted(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.COMPLETED, this._completed);\n this._toggleIcon();\n }\n\n private _applyError(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.ERROR, this._error);\n\n this._toggleIcon();\n }\n\n private _applyDisabled(): void {\n this._adapter.toggleDisabled(this._disabled);\n this._toggleIcon();\n }\n\n private _getIconState(): StepIcons {\n if (this._error) {\n return 'warning';\n }\n\n if (this._completed) {\n if (this._editable) {\n return 'mode_edit';\n }\n\n return 'check';\n }\n\n if (this._editable && this._selected && !this._disabled) {\n return 'mode_edit';\n }\n\n if (this._disabled) {\n return 'block';\n }\n\n return '';\n }\n\n private _toggleIcon(): void {\n this._iconState = this._getIconState();\n this._adapter.toggleIcon(this._iconState, this._iconState !== '');\n }\n\n private _toggleExpanded(): void {\n if (this._adapter.slotHasContent()) {\n this._expanded = !this._expanded;\n this._applyExpanded();\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EXPANDED, this._expanded);\n }\n }\n\n private _onClickListener(): void {\n if (this._vertical && !this._ignoreUserExpansion) {\n this._toggleExpanded();\n }\n }\n\n private _onExpansionContentSlotChange(evt: Event): void {\n const hasSlotContent = this._adapter.slotHasContent();\n\n if (hasSlotContent) {\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.EXPANDABLE);\n this._applyExpanded();\n // The animations on the initial slot content is causing the panel not to open correctly. Opting out for animations on initialization\n this._adapter.setExpansionPanelAnimations(true);\n } else {\n this._adapter.removeHostAttribute(STEP_CONSTANTS.attributes.EXPANDABLE);\n this._adapter.setExpansionPanelAnimations(false);\n }\n\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.EXPANDABLE, hasSlotContent);\n }\n\n private _onExpansionContentFocusIn(event: FocusEvent): void {\n if (!this._expandedContentFocused && this._adapter.isExpandedContentInFocus(event.target as HTMLElement)) {\n this._adapter.emitHostEvent(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSIN, this._adapter.component);\n this._expandedContentFocused = true;\n }\n }\n\n private _onExpansionContentFocusOut(event: FocusEvent): void {\n if (event.relatedTarget && !this._adapter.isExpandedContentInFocus(event.relatedTarget as HTMLElement)) {\n this._adapter.emitHostEvent(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSOUT, this._adapter.component);\n this._expandedContentFocused = false;\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconModeEdit, tylIconWarning, tylIconCheck, tylIconBlock, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { StepAdapter } from './step-adapter';\nimport { STEP_CONSTANTS } from './step-constants';\nimport { StepFoundation } from './step-foundation';\nimport { IconRegistry, IconComponent } from '../../icon';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ExpansionPanelComponent } from '../../expansion-panel';\nimport { StateLayerComponent } from '../../state-layer';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"root\\\"><button class=\\\"forge-step\\\" type=\\\"button\\\" part=\\\"button\\\" id=\\\"button\\\"><div class=\\\"before\\\" part=\\\"before\\\"></div><div class=\\\"icon-container\\\" part=\\\"icon-container\\\"><div class=\\\"icon-content\\\" part=\\\"icon-content\\\"><span class=\\\"index\\\" part=\\\"index\\\"></span><forge-icon class=\\\"icon\\\" part=\\\"icon\\\"></forge-icon></div></div><div class=\\\"text-container\\\" part=\\\"text-container\\\"><div class=\\\"title\\\" part=\\\"title-container\\\"><slot></slot></div><div class=\\\"subtitle\\\" part=\\\"subtitle-container\\\"><slot name=\\\"optional\\\"></slot></div></div><div class=\\\"after\\\" part=\\\"after\\\"></div><forge-state-layer exportparts=\\\"surface:state-layer\\\" target=\\\"button\\\"></forge-state-layer><forge-focus-indicator part=\\\"focus-indicator\\\" target=\\\"button\\\" inward></forge-focus-indicator></button></div></template>';\nconst styles = ':host{--_step-primary-color:var(--forge-step-primary-color, var(--forge-theme-primary, #3f51b5));--_step-text-color:var(--forge-step-text-color, var(--forge-theme-on-primary, #ffffff));--_step-border-radius:var(--forge-step-border-radius, var(--forge-shape-extra-large, 16px));--_step-border-radius-vertical:var(--forge-step-border-radius-vertical, var(--forge-shape-medium, 4px));--_step-disabled-text-color:var(--forge-step-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_step-disabled-color:var(--forge-step-disabled-color, var(--forge-theme-surface-container-minimum, whitesmoke));--_step-icon-fill:var(--forge-step-icon-fill, unset);--_step-icon-fill-active:var(--forge-step-icon-fill-active, var(--_step-primary-color));--_step-icon-text-color:var(--forge-step-icon-text-color, var(--forge-theme-primary, #3f51b5));--_step-icon-text-color-active:var(--forge-step-icon-text-color-active, var(--forge-theme-on-primary, #ffffff));--_step-icon-content-size:var(--forge-step-icon-content-size, 24px);--_step-icon-size:var(--forge-step-icon-size, calc(var(--forge-typography-font-size, 1rem) * 0.875));--_step-icon-transition-duration:var(--forge-step-icon-transition-duration, var(--forge-animation-duration-medium4, 400ms));--_step-icon-transition-easing:var(--forge-step-icon-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_step-line-color:var(--forge-step-line-color, var(--forge-theme-outline, #e0e0e0));--_step-line-min-width:var(--forge-step-line-min-width, 10px);--_step-line-min-width-clustered:var(--forge-step-line-min-width-clustered, 25px);--_step-label-color:var(--forge-step-label-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_step-sub-label-color:var(--forge-step-sub-label-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_step-error-color:var(--forge-step-error-color, var(--forge-theme-error, #b00020));--_step-error-text-color:var(--forge-step-error-text-color, var(--forge-theme-on-error, #ffffff));--_step-expansion-panel-border-left-width:var(--forge-step-expansion-panel-border-left-width, 1px);--_step-expansion-panel-margin-bottom:var(--forge-step-expansion-panel-margin-bottom, 4px);--_step-expansion-panel-margin-left:var(--forge-step-expansion-panel-margin-left, 60px);--_step-expansion-panel-margin-top:var(--forge-step-expansion-panel-margin-top, 4px);--_step-expansion-panel-icon-color:var(--forge-step-expansion-panel-icon-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)))}:host(:focus){outline:0}:host([error]){--forge-state-layer-color:var(--_step-error-color)}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:last-child)[alternative]) .after::after{content:\\\"\\\";-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;right:0;left:0;min-width:0;width:100%;border-color:var(--_step-line-color);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child)[alternative]) .before::before{content:\\\"\\\";left:0;min-width:0;width:100%;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;border-color:var(--_step-line-color);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:is(:first-child)):host(:not([vertical]))::after{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{--_step-border-radius:var(--_step-border-radius-vertical);width:100%;min-height:52px}:host([vertical]) .forge-step .text-container{white-space:normal}:host([vertical]) .icon-container .icon-content{margin:0 16px 0 0}:host([vertical]) .expansion-panel{display:none}:host([vertical]) .expanded-icon{color:var(--_step-expansion-panel-icon-color);display:none;margin-left:auto}:host([vertical][expandable]) .expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step .expanded-icon{display:none}forge-expansion-panel::part(root){border-color:var(--_step-line-color);margin-left:var(--_step-expansion-panel-margin-left);margin-top:var(--_step-expansion-panel-margin-top);margin-bottom:var(--_step-expansion-panel-margin-bottom);border-left-width:var(--_step-expansion-panel-border-left-width);border-left-style:solid}forge-focus-indicator{--forge-focus-indicator-color:var(--_step-primary-color);--forge-focus-indicator-shape:16px}.container{display:contents}.forge-step{-webkit-tap-highlight-color:transparent;padding:12px 16px;outline:0;background:0 0;border:none;border-radius:var(--_step-border-radius);position:relative;display:-webkit-box;display:flex;overflow:hidden;-webkit-box-align:center;align-items:center;z-index:1;cursor:pointer}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step.error forge-focus-indicator{--forge-focus-indicator-color:var(--_step-error-color)}.forge-step.vertical forge-focus-indicator{--forge-focus-indicator-shape:4px}.forge-step.selected:not(.disabled){--forge-state-layer-color:var(--_step-primary-color)}.forge-step.selected:not(.disabled)::before{background-color:var(--_step-primary-color);content:\\\"\\\";position:absolute;inset:0;opacity:.08;height:100%;width:100%}.forge-step.selected:not(.disabled).error{--_step-primary-color:var(--_step-error-color)}.forge-step .title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);color:var(--_step-label-color);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle ::slotted(*){color:var(--_step-sub-label-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label1-text-decoration,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit)}.forge-step .icon-container .icon-content{color:var(--_step-icon-text-color);background-color:var(--_step-icon-fill);height:var(--_step-icon-content-size);width:var(--_step-icon-content-size);border-style:solid;border-width:2px;border-color:transparent;border-radius:50%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);margin:0 8px 0 0;-webkit-box-flex:0;flex:none}.forge-step .icon-container .icon-content forge-icon{font-size:var(--_step-icon-size)}.forge-step.disabled{color:var(--_step-disabled-text-color);cursor:not-allowed}.forge-step.disabled.forge-step .icon-container .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .title{color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .subtitle ::slotted(*){color:var(--_step-disabled-text-color)}.forge-step.alternative{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-step.alternative .icon-container .icon-content{margin:0}.forge-step.alternative .text-container{margin-top:8px;place-items:center}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content{border-color:var(--_step-primary-color)}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content .index,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content .index{color:var(--_step-primary-color)}.forge-step.selected.disabled .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.selected:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.selected:not(.disabled) .title{color:var(--_step-primary-color);font-weight:500}.forge-step.selected:not(.disabled) .subtitle ::slotted(*){color:var(--_step-primary-color);font-weight:500}.forge-step.error:not(.disabled) .title{color:var(--_step-error-color)}.forge-step.error:not(.disabled) .subtitle ::slotted(*){color:var(--_step-error-color)}.forge-step.error:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-error-color);--_step-icon-text-color:var(--_step-error-text-color)}.forge-step.completed:not(.disabled):not(.error):not(.editable) .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.completed:not(.disabled):not(.error).editable .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.expandable .expanded-icon{display:inline-block;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.forge-step.expandable.expanded .expanded-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.forge-step.expandable .icon-container .icon-content{margin:0 16px 0 0}.forge-step .text-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not(:last-child)[clustered])::after{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:last-child[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}';\n\nexport interface IStepComponent extends IBaseComponent {\n index: number;\n editable: boolean;\n completed: boolean;\n error: boolean;\n selected: boolean;\n alternative: boolean;\n disabled: boolean;\n vertical: boolean;\n expanded: boolean;\n ignoreUserExpansion: boolean;\n setStepTabIndex(index: number): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-step': IStepComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-step-selected': CustomEvent<number>;\n 'forge-step-expanded-content-focusin': CustomEvent<IStepComponent>;\n 'forge-step-expanded-content-focusout': CustomEvent<IStepComponent>;\n }\n}\n\n/**\n * The web component class behind the `<forge-step>` custom element.\n * \n * @tag forge-step\n * \n * @property {boolean} alternate - Whether the step is in the alternate style. \n * @property {boolean} completed - Whether the step is completed.\n * @property {boolean} editable - Whether the step is editable.\n * @property {boolean} error - Whether the step has an error.\n * @property {boolean} selected - Whether the step is selected.\n * @property {boolean} disabled - Whether the step is disabled.\n * @property {boolean} vertical - Whether the step is in vertical mode.\n * @property {boolean} expanded - Whether the step is expanded.\n * @property {boolean} ignoreUserExpansion - Whether the step should ignore user expansion.\n * @property {number} index - The index of the step.\n * \n * @attribute {boolean} selected - Whether the step is selected.\n * @attribute {number} index - The index of the step.\n * @attribute {boolean} editable - Whether the step is editable.\n * @attribute {boolean} completed - Whether the step is completed.\n * @attribute {boolean} error - Whether the step has an error.\n * @attribute {boolean} alternative - Whether the step is in alternative mode.\n * @attribute {boolean} disabled - Whether the step is disabled.\n * @attribute {boolean} vertical - Whether the step is in vertical mode.\n * @attribute {boolean} expanded - Whether the step is expanded.\n * @attribute {boolean} ignore-user-expansion - Whether the step should ignore user expansion.\n * \n * @cssproperty --forge-step-primary-color - The primary color of the step. Defaults to the primary theme.\n * @cssproperty --forge-step-text-color - The text color of the step. Defaults to the on-primary theme.\n * @cssproperty --forge-step-border-radius - The border radius of the step. Defaults to the extra-large shape.\n * @cssproperty --forge-step-border-radius-vertical - The border radius of the step in vertical mode. Defaults to the medium shape.\n * @cssproperty --forge-step-disabled-text-color - The text color of the step when disabled. Defaults to the text-low theme.\n * @cssproperty --forge-step-disabled-color - The color of the step when disabled. Defaults to the surface-container-minimum theme.\n * @cssproperty --forge-step-icon-fill - The fill color of the step icon. Defaults to unset.\n * @cssproperty --forge-step-icon-fill-active - The fill color of the step icon when active. Defaults to the primary color.\n * @cssproperty --forge-step-icon-text-color - The text color of the step icon. Defaults to the primary theme.\n * @cssproperty --forge-step-icon-text-color-active - The text color of the step icon when active. Defaults to the on-primary theme.\n * @cssproperty --forge-step-icon-content-size - The size of the step icon content. Defaults to 24px.\n * @cssproperty --forge-step-icon-size - The size of the step icon. Defaults to 0.875em.\n * @cssproperty --forge-step-icon-transition-duration - The duration of the step icon transition. Defaults to the medium4 animation duration.\n * @cssproperty --forge-step-icon-transition-easing - The easing of the step icon transition. Defaults to the standard animation easing.\n * @cssproperty --forge-step-line-color - The color of the step line. Defaults to the outline theme.\n * @cssproperty --forge-step-line-min-width - The minimum width of the step line. Defaults to 10px.\n * @cssproperty --forge-step-line-min-width-clustered - The minimum width of the step line when clustered. Defaults to 25px.\n * @cssproperty --forge-step-label-color - The color of the step label. Defaults to the text-high theme.\n * @cssproperty --forge-step-sub-label-color - The color of the step sub-label. Defaults to the text-medium theme.\n * @cssproperty --forge-step-error-color - The color of the step error. Defaults to the error theme.\n * @cssproperty --forge-step-error-text-color - The text color of the step error. Defaults to the on-error theme.\n * @cssproperty --forge-step-expansion-panel-border-left-width - The border left width of the step expansion panel. Defaults to 1px.\n * @cssproperty --forge-step-expansion-panel-margin-bottom - The margin bottom of the step expansion panel. Defaults to 4px.\n * @cssproperty --forge-step-expansion-panel-margin-left - The margin left of the step expansion panel. Defaults to 60px.\n * @cssproperty --forge-step-expansion-panel-margin-top - The margin top of the step expansion panel. Defaults to 4px.\n * @cssproperty --forge-step-expansion-panel-icon-color - The color of the step expansion panel icon. Defaults to the text-medium theme.\n * \n * @slot - The content of the step.\n * @slot optional - The optional content of the step.\n * @slot expansion-content - The content of the step expansion.\n */\n@CustomElement({\n name: STEP_CONSTANTS.elementName,\n dependencies: [\n IconComponent,\n ExpansionPanelComponent,\n StateLayerComponent,\n FocusIndicatorComponent\n ]\n})\nexport class StepComponent extends BaseComponent implements IStepComponent {\n public static get observedAttributes(): string[] {\n return [\n STEP_CONSTANTS.attributes.COMPLETED,\n STEP_CONSTANTS.attributes.EDITABLE,\n STEP_CONSTANTS.attributes.ERROR,\n STEP_CONSTANTS.attributes.INDEX,\n STEP_CONSTANTS.attributes.SELECTED,\n STEP_CONSTANTS.attributes.ALTERNATIVE,\n STEP_CONSTANTS.attributes.DISABLED,\n STEP_CONSTANTS.attributes.VERTICAL,\n STEP_CONSTANTS.attributes.EXPANDED,\n STEP_CONSTANTS.attributes.IGNORE_USER_EXPANSION\n ];\n }\n\n private _foundation: StepFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconModeEdit,\n tylIconCheck,\n tylIconWarning,\n tylIconBlock,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new StepFoundation(new StepAdapter(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 STEP_CONSTANTS.attributes.INDEX:\n this.index = coerceNumber(newValue);\n break;\n case STEP_CONSTANTS.attributes.COMPLETED:\n this.completed = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.EDITABLE:\n this.editable = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.ERROR:\n this.error = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.EXPANDED:\n this.expanded = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.IGNORE_USER_EXPANSION:\n this.ignoreUserExpansion = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare alternative: boolean;\n\n @FoundationProperty()\n public declare index: number;\n\n @FoundationProperty()\n public declare editable: boolean;\n\n @FoundationProperty()\n public declare completed: boolean;\n\n @FoundationProperty()\n public declare error: boolean;\n\n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare expanded: boolean;\n\n @FoundationProperty()\n public declare ignoreUserExpansion: boolean;\n\n public override focus(): void {\n this._foundation.focus();\n }\n\n public setStepTabIndex(index: number): void {\n this._foundation.setStepTabIndex(index);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { StepComponent } from './step';\n\nexport * from './step-adapter';\nexport * from './step-constants';\nexport * from './step-foundation';\nexport * from './step';\n\nexport function defineStepComponent(): void {\n defineCustomElement(StepComponent);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}step`;\n\nconst classes = {\n STEP: 'forge-step',\n STEP_CONTAINER: 'container',\n ERROR: 'error',\n SELECTED: 'selected',\n COMPLETED: 'completed',\n EDITABLE: 'editable',\n ALTERNATIVE: 'alternative',\n ICON_CONTENT: 'icon-content',\n ICON: 'icon',\n LABEL_CONTAINER: 'label-container',\n LABEL: 'label',\n OPTIONAL_LABEL: 'optional-label',\n INDEX: 'index',\n CLUSTERED: 'clustered',\n DISABLED: 'disabled',\n VERTICAL: 'vertical',\n EXPANDED: 'expanded',\n EXPANDABLE: 'expandable',\n EXPANSION_PANEL: 'expansion-panel',\n EXPANSION_ICON: 'expanded-icon',\n EXPANSION_ICON_EXPANDED: 'expanded-icon--expanded',\n EXPANSION_CONTENT: 'expansion-content'\n};\n\nconst attributes = {\n SELECTED: `selected`,\n INDEX: `index`,\n EDITABLE: `editable`,\n COMPLETED: `completed`,\n ERROR: `error`,\n ALTERNATIVE: 'alternative',\n FIRST: 'first',\n LAST: 'last',\n ARIA_SELECTED: 'aria-selected',\n CLUSTERED: `clustered`,\n DISABLED: 'disabled',\n VERTICAL: 'vertical',\n EXPANDED: 'expanded',\n EXPANDABLE: 'expandable',\n IGNORE_USER_EXPANSION: 'ignore-user-expansion'\n};\n\nconst selectors = {\n STEP: `.${classes.STEP}`,\n STEP_CONTAINER: `.${classes.STEP_CONTAINER}`,\n INDEX: `.${classes.INDEX}`,\n ICON: `.${classes.ICON}`,\n ICON_CONTENT: `.${classes.ICON_CONTENT}`,\n EXPANSION_SLOT: `slot[name=\"expansion-content\"]`,\n EXPANSION_PANEL: `.${classes.EXPANSION_PANEL}`,\n EXPANSION_ICON: `.${classes.EXPANSION_ICON}`\n};\n\nconst strings = {\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n ARROW_DOWN_KEY: 'ArrowDown',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n HOME_KEY: 'Home',\n SPACE_KEY: 'Space',\n EXPANSION_CONTENT_SLOT_NAME: 'expansion-content'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n EXPANDED_CONTENT_FOCUSIN: `${elementName}-expanded-content-focusin`,\n EXPANDED_CONTENT_FOCUSOUT: `${elementName}-expanded-content-focusout`\n};\n\nexport const STEP_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n strings\n};\n\nexport type StepIcons = 'check' | 'block' | 'mode_edit' | 'warning' | '';\n", "import { addClass, getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base';\nimport { IStepComponent } from './step';\nimport { StepIcons, STEP_CONSTANTS } from './step-constants';\nimport { IIconComponent } from '../../icon';\nimport { IExpansionPanelComponent } from '../../expansion-panel';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\n\nexport interface IStepAdapter extends IBaseAdapter {\n component: IStepComponent;\n toggleDisabled(disabled: boolean): void;\n focusButton(): void;\n setIndex(value: number): void;\n initialize(): void;\n toggleRootClass(className: string, on: boolean): void;\n setRootAttribute(attribute: string, value: string): void;\n setRootTabIndex(value: number): void;\n toggleIcon(name: StepIcons, show: boolean): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n slotHasContent(): boolean;\n setExpanded(expanded: boolean): void;\n setSlotListener(listener: (evt: MouseEvent) => void): void;\n removeSlotListener(listener: (evt: MouseEvent) => void): void;\n setExpansionPanelAnimations: (animate: boolean) => void;\n addExpansionPanel: () => void;\n removeExpansionPanel: () => void;\n addExpansionIcon: () => void;\n removeExpansionIcon: () => void;\n addExpansionPanelListener(event: string, listener: EventListener): void;\n removeExpansionPanelListener(event: string, listener: EventListener): void;\n isExpandedContentInFocus(checkElement?: HTMLElement): boolean;\n}\n\nexport class StepAdapter extends BaseAdapter<IStepComponent> implements IStepAdapter {\n private _buttonElement: HTMLButtonElement;\n private _container: HTMLElement;\n private _expansionSlot: HTMLSlotElement;\n private _expansionPanel: IExpansionPanelComponent;\n private readonly _stateLayerElement: IStateLayerComponent;\n\n constructor(_component: IStepComponent) {\n super(_component);\n this._buttonElement = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP) as HTMLButtonElement;\n this._container = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP_CONTAINER) as HTMLElement;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public get root(): HTMLElement {\n return this._buttonElement;\n }\n public unbounded = false;\n public get disabled(): boolean {\n return this._buttonElement.disabled;\n }\n\n public get component(): IStepComponent {\n return this._component;\n }\n\n public setRootTabIndex(value: number): void {\n this._buttonElement.tabIndex = value;\n }\n\n public initialize(): void {\n this._component.setAttribute('role', 'tab');\n }\n\n public setIndex(value: number): void {\n (this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX) as HTMLElement).innerHTML = (value + 1 || '').toString();\n }\n\n public toggleRootClass(className: string, on: boolean): void {\n toggleClass(this._buttonElement, on, className);\n }\n\n public setRootAttribute(attribute: string, value: string): void {\n this._buttonElement.setAttribute(attribute, value);\n }\n\n public focusButton(): void {\n this._buttonElement.focus();\n }\n\n public toggleDisabled(disabled: boolean): void {\n toggleClass(this._buttonElement, disabled, STEP_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._buttonElement, disabled, 'aria-disabled');\n this._stateLayerElement.disabled = disabled;\n\n this._buttonElement.disabled = disabled;\n }\n\n public toggleIcon(name: StepIcons, show: boolean): void {\n const index = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX) as HTMLElement;\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.ICON) as IIconComponent;\n if (!show) {\n index.style.display = 'inherit';\n icon.style.display = 'none';\n return;\n }\n\n index.style.display = 'none';\n icon.style.display = 'inherit';\n icon.name = name;\n }\n\n public slotHasContent(): boolean {\n return this._expansionSlot.assignedElements({ flatten: true }).length > 0;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.removeEventListener('click', listener);\n }\n\n public setSlotListener(listener: (evt: MouseEvent) => void): void {\n this._expansionSlot.addEventListener('slotchange', listener);\n }\n\n public removeSlotListener(listener: (evt: MouseEvent) => void): void {\n if (this._expansionSlot) {\n this._expansionSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public setExpanded(expanded: boolean): void {\n if (this._expansionPanel) {\n this._expansionPanel.open = expanded;\n toggleAttribute(this._expansionPanel, !expanded, 'tabindex', '-1');\n }\n\n toggleClass(this._buttonElement, expanded, STEP_CONSTANTS.classes.EXPANDED);\n }\n\n public setExpansionPanelAnimations(animate: boolean): void {\n this._expansionPanel.animationType = animate ? 'default' : 'none';\n }\n\n public addExpansionPanel(): void {\n const panel = this._container.querySelector(STEP_CONSTANTS.selectors.EXPANSION_PANEL);\n\n if (panel) {\n return;\n }\n\n this._expansionPanel = this._container.appendChild(this._createExpansionPanel());\n this._expansionSlot = this._expansionPanel.querySelector(STEP_CONSTANTS.selectors.EXPANSION_SLOT) as HTMLSlotElement;\n }\n\n public removeExpansionPanel(): void {\n const panel = this._container.querySelector(STEP_CONSTANTS.selectors.EXPANSION_PANEL);\n\n if (panel) {\n this._container.removeChild(panel);\n }\n }\n\n public addExpansionIcon(): void {\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);\n\n if (icon) {\n return;\n }\n\n this._buttonElement.appendChild(this._createExpansionIcon());\n }\n\n public removeExpansionIcon(): void {\n const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);\n\n if (icon) {\n this._buttonElement.removeChild(icon);\n }\n }\n\n public addExpansionPanelListener(event: string, listener: EventListener): void {\n this._expansionPanel.addEventListener(event, listener);\n }\n\n public removeExpansionPanelListener(event: string, listener: EventListener): void {\n if (this._expansionPanel) {\n this._expansionPanel.removeEventListener(event, listener);\n }\n }\n\n public isExpandedContentInFocus(checkElement?: HTMLElement): boolean {\n return this._expansionSlot.assignedElements().some(element => element.contains(checkElement || document.activeElement));\n }\n\n private _createExpansionPanel(): IExpansionPanelComponent {\n const panel = document.createElement('forge-expansion-panel');\n panel.animationType = 'none';\n panel.setAttribute('part', 'expansion-panel');\n addClass(STEP_CONSTANTS.classes.EXPANSION_PANEL, panel);\n\n const slot = document.createElement('slot');\n\n slot.setAttribute('name', 'expansion-content');\n addClass(STEP_CONSTANTS.classes.EXPANSION_CONTENT, slot);\n panel.appendChild(slot);\n\n return panel;\n }\n\n private _createExpansionIcon(): IIconComponent {\n const icon = document.createElement('forge-icon');\n addClass(STEP_CONSTANTS.classes.EXPANSION_ICON, icon);\n icon.name = 'keyboard_arrow_down';\n icon.setAttribute('part', 'expanded-icon');\n return icon;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IStepAdapter } from './step-adapter';\nimport { StepIcons, STEP_CONSTANTS } from './step-constants';\n\n\nexport interface IStepFoundation extends ICustomElementFoundation {\n index: number;\n editable: boolean;\n completed: boolean;\n error: boolean;\n selected: boolean;\n alternative: boolean;\n vertical: boolean;\n setStepTabIndex(index: number): void;\n}\n\nexport class StepFoundation implements IStepFoundation {\n private _index: number;\n private _completed: boolean;\n private _editable: boolean;\n private _error: boolean;\n private _selected: boolean;\n private _alternative: boolean;\n private _disabled: boolean;\n private _iconState: StepIcons;\n private _vertical: boolean;\n private _expanded: boolean;\n private _ignoreUserExpansion: boolean;\n private _initialized: boolean;\n private _expandedContentFocused: boolean;\n private _clickListener: EventListener;\n private _expansionContentFocusInListener: EventListener;\n private _expansionContentFocusOutListener: EventListener;\n private _expansionContentSlotChangeListener: EventListener;\n\n constructor(private _adapter: IStepAdapter) {\n this._clickListener = () => this._onClickListener();\n this._expansionContentSlotChangeListener = evt => this._onExpansionContentSlotChange(evt);\n this._expansionContentFocusInListener = evt => this._onExpansionContentFocusIn(evt as FocusEvent);\n this._expansionContentFocusOutListener = evt => this._onExpansionContentFocusOut(evt as FocusEvent);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applySelected();\n this._toggleIcon();\n if (this._vertical) {\n this._adapter.addExpansionPanel();\n this._adapter.addExpansionIcon();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setSlotListener(this._expansionContentSlotChangeListener);\n this._adapter.addExpansionPanelListener('focusin', this._expansionContentFocusInListener);\n this._adapter.addExpansionPanelListener('focusout', this._expansionContentFocusOutListener);\n }\n this._initialized = true;\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeSlotListener(this._expansionContentSlotChangeListener);\n this._adapter.removeExpansionPanelListener('focusin', this._onExpansionContentFocusIn);\n this._adapter.removeExpansionPanelListener('focusout', this._onExpansionContentFocusOut);\n }\n\n public get index(): number {\n return this._index;\n }\n public set index(value: number) {\n if (this._index !== value) {\n this._index = value;\n this._applyIndex();\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.INDEX, value.toString());\n }\n }\n\n public get editable(): boolean {\n return this._editable;\n }\n public set editable(value: boolean) {\n if (this._editable !== value) {\n this._editable = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EDITABLE, value);\n this._applyEditable();\n }\n }\n\n public get completed(): boolean {\n return this._completed;\n }\n public set completed(value: boolean) {\n if (this._completed !== value) {\n this._completed = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.COMPLETED, value);\n this._applyCompleted();\n }\n }\n\n public get error(): boolean {\n return this._error;\n }\n public set error(value: boolean) {\n if (this._error !== value) {\n this._error = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.ERROR, value);\n this._applyError();\n }\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.SELECTED, value);\n this._applySelected();\n }\n }\n\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n if (this._alternative !== value) {\n this._alternative = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.ALTERNATIVE, value);\n this._applyAlternative();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n this._disabled = value;\n this._applyDisabled();\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (value !== this._vertical) {\n this._vertical = value;\n this._applyVertical();\n\n if (this._initialized) {\n if (this._vertical) {\n this._adapter.addExpansionPanel();\n this._adapter.addExpansionIcon();\n\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setSlotListener(this._expansionContentSlotChangeListener);\n } else {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeSlotListener(this._expansionContentSlotChangeListener);\n\n this._adapter.removeExpansionPanel();\n this._adapter.removeExpansionIcon();\n }\n }\n }\n }\n\n public get expanded(): boolean {\n return this._expanded;\n }\n public set expanded(value: boolean) {\n if (value !== this._expanded) {\n this._expanded = value;\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EXPANDED, this._expanded);\n if (this._initialized) {\n this._applyExpanded();\n }\n }\n }\n\n public get ignoreUserExpansion(): boolean {\n return this._ignoreUserExpansion;\n }\n public set ignoreUserExpansion(value: boolean) {\n if (value !== this._ignoreUserExpansion) {\n this._ignoreUserExpansion = value;\n }\n }\n\n public setStepTabIndex(index: number): void {\n this._adapter.setRootTabIndex(index);\n }\n\n private _applyExpanded(): void {\n this._adapter.setExpanded(this._expanded);\n }\n\n private _applyVertical(): void {\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.VERTICAL, this._vertical);\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.VERTICAL, this._vertical);\n }\n\n public focus(): void {\n this._adapter.focusButton();\n }\n\n private _applyAlternative(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.ALTERNATIVE, this._alternative);\n }\n\n private _applySelected(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.SELECTED, this._selected);\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.ARIA_SELECTED, (this._selected || false).toString());\n this._adapter.setRootTabIndex(this._selected ? 0 : -1);\n this._toggleIcon();\n }\n\n private _applyIndex(): void {\n this._adapter.setIndex(this._index);\n }\n\n private _applyEditable(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.EDITABLE, this._editable);\n this._toggleIcon();\n }\n\n private _applyCompleted(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.COMPLETED, this._completed);\n this._toggleIcon();\n }\n\n private _applyError(): void {\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.ERROR, this._error);\n\n this._toggleIcon();\n }\n\n private _applyDisabled(): void {\n this._adapter.toggleDisabled(this._disabled);\n this._toggleIcon();\n }\n\n private _getIconState(): StepIcons {\n if (this._error) {\n return 'warning';\n }\n\n if (this._completed) {\n if (this._editable) {\n return 'mode_edit';\n }\n\n return 'check';\n }\n\n if (this._editable && this._selected && !this._disabled) {\n return 'mode_edit';\n }\n\n if (this._disabled) {\n return 'block';\n }\n\n return '';\n }\n\n private _toggleIcon(): void {\n this._iconState = this._getIconState();\n this._adapter.toggleIcon(this._iconState, this._iconState !== '');\n }\n\n private _toggleExpanded(): void {\n if (this._adapter.slotHasContent()) {\n this._expanded = !this._expanded;\n this._applyExpanded();\n this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.EXPANDED, this._expanded);\n }\n }\n\n private _onClickListener(): void {\n if (this._vertical && !this._ignoreUserExpansion) {\n this._toggleExpanded();\n }\n }\n\n private _onExpansionContentSlotChange(evt: Event): void {\n const hasSlotContent = this._adapter.slotHasContent();\n\n if (hasSlotContent) {\n this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.EXPANDABLE);\n this._applyExpanded();\n // The animations on the initial slot content is causing the panel not to open correctly. Opting out for animations on initialization\n this._adapter.setExpansionPanelAnimations(true);\n } else {\n this._adapter.removeHostAttribute(STEP_CONSTANTS.attributes.EXPANDABLE);\n this._adapter.setExpansionPanelAnimations(false);\n }\n\n this._adapter.toggleRootClass(STEP_CONSTANTS.classes.EXPANDABLE, hasSlotContent);\n }\n\n private _onExpansionContentFocusIn(event: FocusEvent): void {\n if (!this._expandedContentFocused && this._adapter.isExpandedContentInFocus(event.target as HTMLElement)) {\n this._adapter.emitHostEvent(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSIN, this._adapter.component);\n this._expandedContentFocused = true;\n }\n }\n\n private _onExpansionContentFocusOut(event: FocusEvent): void {\n if (event.relatedTarget && !this._adapter.isExpandedContentInFocus(event.relatedTarget as HTMLElement)) {\n this._adapter.emitHostEvent(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSOUT, this._adapter.component);\n this._expandedContentFocused = false;\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconModeEdit, tylIconWarning, tylIconCheck, tylIconBlock, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { StepAdapter } from './step-adapter';\nimport { STEP_CONSTANTS } from './step-constants';\nimport { StepFoundation } from './step-foundation';\nimport { IconRegistry, IconComponent } from '../../icon';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ExpansionPanelComponent } from '../../expansion-panel';\nimport { StateLayerComponent } from '../../state-layer';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"root\\\"><button class=\\\"forge-step\\\" type=\\\"button\\\" part=\\\"button\\\" id=\\\"button\\\"><div class=\\\"before\\\" part=\\\"before\\\"></div><div class=\\\"icon-container\\\" part=\\\"icon-container\\\"><div class=\\\"icon-content\\\" part=\\\"icon-content\\\"><span class=\\\"index\\\" part=\\\"index\\\"></span><forge-icon class=\\\"icon\\\" part=\\\"icon\\\"></forge-icon></div></div><div class=\\\"text-container\\\" part=\\\"text-container\\\"><div class=\\\"title\\\" part=\\\"title-container\\\"><slot></slot></div><div class=\\\"subtitle\\\" part=\\\"subtitle-container\\\"><slot name=\\\"optional\\\"></slot></div></div><div class=\\\"after\\\" part=\\\"after\\\"></div><forge-state-layer exportparts=\\\"surface:state-layer\\\" target=\\\"button\\\"></forge-state-layer><forge-focus-indicator part=\\\"focus-indicator\\\" target=\\\"button\\\" inward></forge-focus-indicator></button></div></template>';\nconst styles = ':host{--_step-primary-color:var(--forge-step-primary-color, var(--forge-theme-primary, #3f51b5));--_step-text-color:var(--forge-step-text-color, var(--forge-theme-on-primary, #ffffff));--_step-border-radius:var(--forge-step-border-radius, var(--forge-shape-extra-large, 16px));--_step-border-radius-vertical:var(--forge-step-border-radius-vertical, var(--forge-shape-medium, 4px));--_step-disabled-text-color:var(--forge-step-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_step-disabled-color:var(--forge-step-disabled-color, var(--forge-theme-surface-container-minimum, #f5f5f5));--_step-icon-fill:var(--forge-step-icon-fill, unset);--_step-icon-fill-active:var(--forge-step-icon-fill-active, var(--_step-primary-color));--_step-icon-text-color:var(--forge-step-icon-text-color, var(--forge-theme-primary, #3f51b5));--_step-icon-text-color-active:var(--forge-step-icon-text-color-active, var(--forge-theme-on-primary, #ffffff));--_step-icon-content-size:var(--forge-step-icon-content-size, 24px);--_step-icon-size:var(--forge-step-icon-size, calc(var(--forge-typography-font-size, 1rem) * 0.875));--_step-icon-transition-duration:var(--forge-step-icon-transition-duration, var(--forge-animation-duration-medium4, 400ms));--_step-icon-transition-easing:var(--forge-step-icon-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_step-line-color:var(--forge-step-line-color, var(--forge-theme-outline, #e0e0e0));--_step-line-min-width:var(--forge-step-line-min-width, 10px);--_step-line-min-width-clustered:var(--forge-step-line-min-width-clustered, 25px);--_step-label-color:var(--forge-step-label-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_step-sub-label-color:var(--forge-step-sub-label-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_step-error-color:var(--forge-step-error-color, var(--forge-theme-error, #b00020));--_step-error-text-color:var(--forge-step-error-text-color, var(--forge-theme-on-error, #ffffff));--_step-expansion-panel-border-left-width:var(--forge-step-expansion-panel-border-left-width, 1px);--_step-expansion-panel-margin-bottom:var(--forge-step-expansion-panel-margin-bottom, 4px);--_step-expansion-panel-margin-left:var(--forge-step-expansion-panel-margin-left, 60px);--_step-expansion-panel-margin-top:var(--forge-step-expansion-panel-margin-top, 4px);--_step-expansion-panel-icon-color:var(--forge-step-expansion-panel-icon-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)))}:host(:focus){outline:0}:host([error]){--forge-state-layer-color:var(--_step-error-color)}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:last-child)[alternative]) .after::after{content:\\\"\\\";-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;right:0;left:0;min-width:0;width:100%;border-color:var(--_step-line-color);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child)[alternative]) .before::before{content:\\\"\\\";left:0;min-width:0;width:100%;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;border-color:var(--_step-line-color);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:is(:first-child)):host(:not([vertical]))::after{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\\\"\\\";position:relative;height:0;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{--_step-border-radius:var(--_step-border-radius-vertical);width:100%;min-height:52px}:host([vertical]) .forge-step .text-container{white-space:normal}:host([vertical]) .icon-container .icon-content{margin:0 16px 0 0}:host([vertical]) .expansion-panel{display:none}:host([vertical]) .expanded-icon{color:var(--_step-expansion-panel-icon-color);display:none;margin-left:auto}:host([vertical][expandable]) .expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step .expanded-icon{display:none}forge-expansion-panel::part(root){border-color:var(--_step-line-color);margin-left:var(--_step-expansion-panel-margin-left);margin-top:var(--_step-expansion-panel-margin-top);margin-bottom:var(--_step-expansion-panel-margin-bottom);border-left-width:var(--_step-expansion-panel-border-left-width);border-left-style:solid}forge-focus-indicator{--forge-focus-indicator-color:var(--_step-primary-color);--forge-focus-indicator-shape:16px}.container{display:contents}.forge-step{-webkit-tap-highlight-color:transparent;padding:12px 16px;outline:0;background:0 0;border:none;border-radius:var(--_step-border-radius);position:relative;display:-webkit-box;display:flex;overflow:hidden;-webkit-box-align:center;align-items:center;z-index:1;cursor:pointer}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step.error forge-focus-indicator{--forge-focus-indicator-color:var(--_step-error-color)}.forge-step.vertical forge-focus-indicator{--forge-focus-indicator-shape:4px}.forge-step.selected:not(.disabled){--forge-state-layer-color:var(--_step-primary-color)}.forge-step.selected:not(.disabled)::before{background-color:var(--_step-primary-color);content:\\\"\\\";position:absolute;inset:0;opacity:.08;height:100%;width:100%}.forge-step.selected:not(.disabled).error{--_step-primary-color:var(--_step-error-color)}.forge-step .title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);color:var(--_step-label-color);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle ::slotted(*){color:var(--_step-sub-label-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label1-text-decoration,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit)}.forge-step .icon-container .icon-content{color:var(--_step-icon-text-color);background-color:var(--_step-icon-fill);height:var(--_step-icon-content-size);width:var(--_step-icon-content-size);border-style:solid;border-width:2px;border-color:transparent;border-radius:50%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);margin:0 8px 0 0;-webkit-box-flex:0;flex:none}.forge-step .icon-container .icon-content forge-icon{font-size:var(--_step-icon-size)}.forge-step.disabled{color:var(--_step-disabled-text-color);cursor:not-allowed}.forge-step.disabled.forge-step .icon-container .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .title{color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .subtitle ::slotted(*){color:var(--_step-disabled-text-color)}.forge-step.alternative{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-step.alternative .icon-container .icon-content{margin:0}.forge-step.alternative .text-container{margin-top:8px;place-items:center}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content{border-color:var(--_step-primary-color)}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content .index,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content .index{color:var(--_step-primary-color)}.forge-step.selected.disabled .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.selected:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.selected:not(.disabled) .title{color:var(--_step-primary-color);font-weight:500}.forge-step.selected:not(.disabled) .subtitle ::slotted(*){color:var(--_step-primary-color);font-weight:500}.forge-step.error:not(.disabled) .title{color:var(--_step-error-color)}.forge-step.error:not(.disabled) .subtitle ::slotted(*){color:var(--_step-error-color)}.forge-step.error:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-error-color);--_step-icon-text-color:var(--_step-error-text-color)}.forge-step.completed:not(.disabled):not(.error):not(.editable) .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.completed:not(.disabled):not(.error).editable .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.expandable .expanded-icon{display:inline-block;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.forge-step.expandable.expanded .expanded-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.forge-step.expandable .icon-container .icon-content{margin:0 16px 0 0}.forge-step .text-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not(:last-child)[clustered])::after{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:last-child[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}';\n\nexport interface IStepComponent extends IBaseComponent {\n index: number;\n editable: boolean;\n completed: boolean;\n error: boolean;\n selected: boolean;\n alternative: boolean;\n disabled: boolean;\n vertical: boolean;\n expanded: boolean;\n ignoreUserExpansion: boolean;\n setStepTabIndex(index: number): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-step': IStepComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-step-selected': CustomEvent<number>;\n 'forge-step-expanded-content-focusin': CustomEvent<IStepComponent>;\n 'forge-step-expanded-content-focusout': CustomEvent<IStepComponent>;\n }\n}\n\n/**\n * The web component class behind the `<forge-step>` custom element.\n * \n * @tag forge-step\n * \n * @property {boolean} alternate - Whether the step is in the alternate style. \n * @property {boolean} completed - Whether the step is completed.\n * @property {boolean} editable - Whether the step is editable.\n * @property {boolean} error - Whether the step has an error.\n * @property {boolean} selected - Whether the step is selected.\n * @property {boolean} disabled - Whether the step is disabled.\n * @property {boolean} vertical - Whether the step is in vertical mode.\n * @property {boolean} expanded - Whether the step is expanded.\n * @property {boolean} ignoreUserExpansion - Whether the step should ignore user expansion.\n * @property {number} index - The index of the step.\n * \n * @attribute {boolean} selected - Whether the step is selected.\n * @attribute {number} index - The index of the step.\n * @attribute {boolean} editable - Whether the step is editable.\n * @attribute {boolean} completed - Whether the step is completed.\n * @attribute {boolean} error - Whether the step has an error.\n * @attribute {boolean} alternative - Whether the step is in alternative mode.\n * @attribute {boolean} disabled - Whether the step is disabled.\n * @attribute {boolean} vertical - Whether the step is in vertical mode.\n * @attribute {boolean} expanded - Whether the step is expanded.\n * @attribute {boolean} ignore-user-expansion - Whether the step should ignore user expansion.\n * \n * @cssproperty --forge-step-primary-color - The primary color of the step. Defaults to the primary theme.\n * @cssproperty --forge-step-text-color - The text color of the step. Defaults to the on-primary theme.\n * @cssproperty --forge-step-border-radius - The border radius of the step. Defaults to the extra-large shape.\n * @cssproperty --forge-step-border-radius-vertical - The border radius of the step in vertical mode. Defaults to the medium shape.\n * @cssproperty --forge-step-disabled-text-color - The text color of the step when disabled. Defaults to the text-low theme.\n * @cssproperty --forge-step-disabled-color - The color of the step when disabled. Defaults to the surface-container-minimum theme.\n * @cssproperty --forge-step-icon-fill - The fill color of the step icon. Defaults to unset.\n * @cssproperty --forge-step-icon-fill-active - The fill color of the step icon when active. Defaults to the primary color.\n * @cssproperty --forge-step-icon-text-color - The text color of the step icon. Defaults to the primary theme.\n * @cssproperty --forge-step-icon-text-color-active - The text color of the step icon when active. Defaults to the on-primary theme.\n * @cssproperty --forge-step-icon-content-size - The size of the step icon content. Defaults to 24px.\n * @cssproperty --forge-step-icon-size - The size of the step icon. Defaults to 0.875em.\n * @cssproperty --forge-step-icon-transition-duration - The duration of the step icon transition. Defaults to the medium4 animation duration.\n * @cssproperty --forge-step-icon-transition-easing - The easing of the step icon transition. Defaults to the standard animation easing.\n * @cssproperty --forge-step-line-color - The color of the step line. Defaults to the outline theme.\n * @cssproperty --forge-step-line-min-width - The minimum width of the step line. Defaults to 10px.\n * @cssproperty --forge-step-line-min-width-clustered - The minimum width of the step line when clustered. Defaults to 25px.\n * @cssproperty --forge-step-label-color - The color of the step label. Defaults to the text-high theme.\n * @cssproperty --forge-step-sub-label-color - The color of the step sub-label. Defaults to the text-medium theme.\n * @cssproperty --forge-step-error-color - The color of the step error. Defaults to the error theme.\n * @cssproperty --forge-step-error-text-color - The text color of the step error. Defaults to the on-error theme.\n * @cssproperty --forge-step-expansion-panel-border-left-width - The border left width of the step expansion panel. Defaults to 1px.\n * @cssproperty --forge-step-expansion-panel-margin-bottom - The margin bottom of the step expansion panel. Defaults to 4px.\n * @cssproperty --forge-step-expansion-panel-margin-left - The margin left of the step expansion panel. Defaults to 60px.\n * @cssproperty --forge-step-expansion-panel-margin-top - The margin top of the step expansion panel. Defaults to 4px.\n * @cssproperty --forge-step-expansion-panel-icon-color - The color of the step expansion panel icon. Defaults to the text-medium theme.\n * \n * @slot - The content of the step.\n * @slot optional - The optional content of the step.\n * @slot expansion-content - The content of the step expansion.\n */\n@CustomElement({\n name: STEP_CONSTANTS.elementName,\n dependencies: [\n IconComponent,\n ExpansionPanelComponent,\n StateLayerComponent,\n FocusIndicatorComponent\n ]\n})\nexport class StepComponent extends BaseComponent implements IStepComponent {\n public static get observedAttributes(): string[] {\n return [\n STEP_CONSTANTS.attributes.COMPLETED,\n STEP_CONSTANTS.attributes.EDITABLE,\n STEP_CONSTANTS.attributes.ERROR,\n STEP_CONSTANTS.attributes.INDEX,\n STEP_CONSTANTS.attributes.SELECTED,\n STEP_CONSTANTS.attributes.ALTERNATIVE,\n STEP_CONSTANTS.attributes.DISABLED,\n STEP_CONSTANTS.attributes.VERTICAL,\n STEP_CONSTANTS.attributes.EXPANDED,\n STEP_CONSTANTS.attributes.IGNORE_USER_EXPANSION\n ];\n }\n\n private _foundation: StepFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconModeEdit,\n tylIconCheck,\n tylIconWarning,\n tylIconBlock,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new StepFoundation(new StepAdapter(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 STEP_CONSTANTS.attributes.INDEX:\n this.index = coerceNumber(newValue);\n break;\n case STEP_CONSTANTS.attributes.COMPLETED:\n this.completed = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.EDITABLE:\n this.editable = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.ERROR:\n this.error = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.EXPANDED:\n this.expanded = coerceBoolean(newValue);\n break;\n case STEP_CONSTANTS.attributes.IGNORE_USER_EXPANSION:\n this.ignoreUserExpansion = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare alternative: boolean;\n\n @FoundationProperty()\n public declare index: number;\n\n @FoundationProperty()\n public declare editable: boolean;\n\n @FoundationProperty()\n public declare completed: boolean;\n\n @FoundationProperty()\n public declare error: boolean;\n\n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare expanded: boolean;\n\n @FoundationProperty()\n public declare ignoreUserExpansion: boolean;\n\n public override focus(): void {\n this._foundation.focus();\n }\n\n public setStepTabIndex(index: number): void {\n this._foundation.setStepTabIndex(index);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { StepComponent } from './step';\n\nexport * from './step-adapter';\nexport * from './step-constants';\nexport * from './step-foundation';\nexport * from './step';\n\nexport function defineStepComponent(): void {\n defineCustomElement(StepComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "strings", "events", "STEP_CONSTANTS", "StepAdapter", "BaseAdapter", "_component", "getShadowElement", "STEP_CONSTANTS", "STATE_LAYER_CONSTANTS", "value", "className", "on", "toggleClass", "attribute", "disabled", "toggleAttribute", "name", "show", "index", "icon", "listener", "expanded", "animate", "panel", "event", "checkElement", "element", "addClass", "slot", "StepFoundation", "_adapter", "evt", "value", "STEP_CONSTANTS", "index", "hasSlotContent", "event", "template", "styles", "StepComponent", "BaseComponent", "IconRegistry", "tylIconModeEdit", "tylIconCheck", "tylIconWarning", "tylIconBlock", "tylIconKeyboardArrowDown", "attachShadowTemplate", "StepFoundation", "StepAdapter", "STEP_CONSTANTS", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "index", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponent", "ExpansionPanelComponent", "StateLayerComponent", "FocusIndicatorComponent", "defineStepComponent", "defineCustomElement", "StepComponent"]
|
|
7
7
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{g as r,h as n,j as i,k as a,l as s}from"./chunk.
|
|
6
|
+
import{g as r,h as n,j as i,k as a,l as s}from"./chunk.5OT53ZJM.js";import{r as o}from"./chunk.L4QSPQDE.js";function f(u){class l extends u{get form(){return this[a].form}get labels(){return this[a].labels}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}set name(e){o(this,!!e,"name",e)}[n](){return this[r]()}formDisabledCallback(e){this.disabled=e}set[s](e){let t=e==="select"?document.createElement("select"):document.createElement("input");t.setAttribute("type",e),t.name="internal",this._inputElement=t}[i](e){if(this._inputElement)return this[a].validity.customError?this[a].validationMessage:(Object.entries(e).forEach(([t,b])=>this._inputElement[t]=b),this._inputElement.validationMessage)}}return l.formAssociated=!0,l}export{f as a};
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
9
9
|
* Copyright 2023 Google LLC
|
|
@@ -12,4 +12,4 @@ import{g as r,h as n,j as i,k as a,l as s}from"./chunk.VRSPT7WX.js";import{r as
|
|
|
12
12
|
* Adapted and influenced from [Material Web](https://github.com/material-components/material-web).
|
|
13
13
|
* The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/labs/behaviors/form-associated.ts)
|
|
14
14
|
*/
|
|
15
|
-
//# sourceMappingURL=chunk.
|
|
15
|
+
//# sourceMappingURL=chunk.WNX3GGYT.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as x,d as k}from"./chunk.R2CJMM2F.js";import{a as T,p as w}from"./chunk.XT6RPXTM.js";import{l as f}from"./chunk.SB2LOK2R.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as I}from"./chunk.OLFOVKQG.js";import{a as y,b as m}from"./chunk.5OT53ZJM.js";import{a as A,e as L,f as p}from"./chunk.LNTTU2GL.js";import{r as E}from"./chunk.L4QSPQDE.js";import{k as l,n as u}from"./chunk.J2M2MXP2.js";import{a as h,d as a}from"./chunk.M3QDAYD2.js";var C=`${m}list`,O={ROLE:"role",STATIC:"static",NON_INTERACTIVE:"non-interactive",DISABLED:"disabled",DENSE:"dense",PROPAGATE_CLICK:"propagate-click",SELECTED_VALUE:"selected-value",INDENTED:"indented",TWO_LINE:"two-line",THREE_LINE:"three-line",WRAP:"wrap"},H=h({},O),z={SCOPE_TEST:`${C}-item-scope-test`},d={elementName:C,attributes:H,events:z},N={list:"listitem",listbox:"option",menu:"menuitem"};var S=`${m}list-item`,D={HREF:"href",TARGET:"target",DOWNLOAD:"download",REL:"rel",STATIC:"static",NON_INTERACTIVE:"non-interactive",DISABLED:"disabled",SELECTED:"selected",ACTIVE:"active",VALUE:"value",DENSE:"dense",PROPAGATE_CLICK:"propagate-click",INDENTED:"indented",TWO_LINE:"two-line",THREE_LINE:"three-line",WRAP:"wrap"},P=h({},D),R={ROOT:"forge-list-item"},M={ROOT:`.${R.ROOT}`,CHECKBOX_RADIO_SELECTOR:":is(input[type=checkbox],input[type=radio],forge-checkbox,forge-radio):not(:disabled):not([forge-ignore])",SWITCH_SELECTOR:"forge-switch:not([disabled]):not([forge-ignore])",IGNORE:"[forge-ignore],[data-forge-ignore]"},F={SELECT:`${S}-select`},i={elementName:S,observedAttributes:D,attributes:P,classes:R,selectors:M,events:F};var g=class extends I{constructor(t){super(t);this._rootElement=p(t,i.selectors.ROOT),this._focusIndicatorElement=p(t,x.elementName),this._stateLayerElement=p(t,T.elementName)}initialize(){let t=this._getParentList();t&&this._inheritParentListProps(t),this._rootElement.tabIndex=this._component.nonInteractive||this._component.disabled?-1:0,this._component.hasAttribute("role")||this._setRole(t)}setHref(t){if(t){if(this._rootElement.tagName!=="A"){let r=this._createAnchorRootElement();this._rootElement=f(this._rootElement,r)}this._rootElement.href=t}else if(this._rootElement.tagName==="A"){let r=this._createDefaultRootElement();this._rootElement=f(this._rootElement,r)}}setAnchorTarget(t){this._rootElement.tagName==="A"&&(this._rootElement.target=t)}setAnchorDownload(t){this._rootElement.tagName==="A"&&(this._rootElement.download=t)}setAnchorRel(t){this._rootElement.tagName==="A"&&(this._rootElement.rel=t)}setNonInteractive(t){this._rootElement.tabIndex=t?-1:0,t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement)}setDisabled(t){this._rootElement.tabIndex=t?-1:0,E(this._component,t,"aria-disabled","true"),t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement)}setActive(t){this._focusIndicatorElement.active=t}trySelect(t){let r=this._getParentList();if((r==null?void 0:r.selectedValue)===void 0)return null;let c=(Array.isArray(r.selectedValue)?r.selectedValue:[r.selectedValue]).some(_=>u(_,t));return this.tryToggleSelectionControl(c),c}tryToggleSelectionControl(t){let r=this._component.querySelector(i.selectors.CHECKBOX_RADIO_SELECTOR);if(r){let o=typeof t=="boolean",c=r.checked;if(!o&&r.matches(":is(forge-radio[checked],input[type=radio]:checked)"))return;r.checked=o?t:!r.checked,(!o||c!==t)&&r.dispatchEvent(new Event("change",{bubbles:!0}))}else{let o=this._component.querySelector(i.selectors.SWITCH_SELECTOR);if(!o)return;let c=typeof t=="boolean",_=o.on;o.on=c?t:!o.on,(!c||_!==t)&&o.dispatchEvent(new CustomEvent("forge-switch-change",{bubbles:!0,detail:o.on}))}}isFocused(){return this._component.matches(":focus")}setFocus(){this._rootElement.focus({preventScroll:!0})}animateStateLayer(){this._stateLayerElement.playAnimation()}clickAnchor(){this._rootElement.tagName==="A"&&this._rootElement.click()}clickHost(){HTMLElement.prototype.click.call(this._component)}_createAnchorRootElement(){let t=document.createElement("a");return t.classList.add(i.classes.ROOT),t.setAttribute("part","root"),this._component.href&&(t.href=this._component.href),this._component.target&&(t.target=this._component.target),this._component.download&&(t.download=this._component.download),this._component.rel&&(t.rel=this._component.rel),t}_createDefaultRootElement(){let t=document.createElement("div");return t.classList.add(i.classes.ROOT),t.setAttribute("part","root"),t.tabIndex=this._component.nonInteractive||this._component.disabled?-1:0,t}_getParentList(){return this._component.closest(d.elementName)}_inheritParentListProps(t){(t.hasAttribute(d.attributes.NON_INTERACTIVE)||t.hasAttribute(d.attributes.STATIC))&&(this._component.nonInteractive=!0),t.hasAttribute(d.attributes.DISABLED)&&(this._component.disabled=!0),t.hasAttribute(d.attributes.DENSE)&&(this._component.dense=!0),t.getAttribute(d.attributes.PROPAGATE_CLICK)==="false"&&(this._component.propagateClick=!1),t.hasAttribute(d.attributes.INDENTED)&&(this._component.indented=!0),t.hasAttribute(d.attributes.TWO_LINE)&&(this._component.twoLine=!0),t.hasAttribute(d.attributes.THREE_LINE)&&(this._component.threeLine=!0)}_setRole(t){var c;let r=t==null?void 0:t.getAttribute("role"),o=(c=N[r])!=null?c:"listitem";this._component.setAttribute("role",o)}};var b=class{constructor(e){this._adapter=e;this._target="";this._download="";this._rel="";this._nonInteractive=!1;this._disabled=!1;this._selected=!1;this._active=!1;this._dense=!1;this._propagateClick=!0;this._indented=!1;this._twoLine=!1;this._threeLine=!1;this._wrap=!1;this._clickListener=this._onClick.bind(this),this._pointerDownListener=this._onPointerDown.bind(this),this._keydownListener=this._onKeydown.bind(this)}initialize(){this._adapter.initialize(),!this._nonInteractive&&!this._disabled&&(this._adapter.addHostListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keydownListener),this._propagateClick||this._adapter.addHostListener("pointerdown",this._pointerDownListener))}disconnect(){this._adapter.removeHostListener("click",this._clickListener),this._adapter.removeHostListener("pointerdown",this._pointerDownListener),this._adapter.removeHostListener("keydown",this._keydownListener)}setFocus(){this._adapter.setFocus()}click(){this._href?this._adapter.clickAnchor():this._adapter.clickHost()}_onPointerDown(e){this._adapter.isFocused()&&e.preventDefault()}_onKeydown(e){(e.key==="Enter"||e.key===" ")&&(!this._href&&e.key===" "&&e.preventDefault(),this._adapter.animateStateLayer(),this._select(e.target))}_onClick(e){this._select(e.target)}_select(e){let t=e==null?void 0:e.matches(i.selectors.IGNORE);if(this._nonInteractive||this._disabled||t)return;!this._adapter.isFocused()&&this._propagateClick&&this.setFocus(),e.matches(i.selectors.CHECKBOX_RADIO_SELECTOR)||this._adapter.tryToggleSelectionControl();let r={value:this._value,listItem:this._adapter.hostElement};this._adapter.emitHostEvent(i.events.SELECT,r)}get href(){return this._href}set href(e){this._href!==e&&(this._href=e,this._adapter.setHref(this._href),this._adapter.toggleHostAttribute(i.attributes.HREF,!!this._href,this._href))}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._href&&this._adapter.setAnchorTarget(this._target),this._adapter.toggleHostAttribute(i.attributes.TARGET,!!this._target,this._target))}get download(){return this._download}set download(e){this._download!==e&&(this._download=e,this._adapter.setAnchorDownload(this._download),this._adapter.toggleHostAttribute(i.attributes.DOWNLOAD,!!this._download,this._download))}get rel(){return this._rel}set rel(e){this._rel!==e&&(this._rel=e,this._adapter.setAnchorRel(this._rel),this._adapter.toggleHostAttribute(i.attributes.REL,!!this._rel,this._rel))}get static(){return this.nonInteractive}set static(e){this.nonInteractive=e}get nonInteractive(){return this._nonInteractive}set nonInteractive(e){this._nonInteractive!==e&&(this._nonInteractive=e,this._nonInteractive?this._adapter.removeHostListener("click",this._clickListener):this._adapter.addHostListener("click",this._clickListener),this._adapter.setNonInteractive(this._nonInteractive),this._adapter.toggleHostAttribute(i.attributes.STATIC,this._nonInteractive),this._adapter.toggleHostAttribute(i.attributes.NON_INTERACTIVE,this._nonInteractive))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._disabled?this._adapter.removeHostListener("click",this._clickListener):this._adapter.addHostListener("click",this._clickListener),this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get selected(){return this._selected}set selected(e){this._selected!==e&&(this._selected=e,this._adapter.tryToggleSelectionControl(this._selected),this._adapter.toggleHostAttribute(i.attributes.SELECTED,this._selected))}get active(){return this._active}set active(e){this._active!==e&&(this._active=e,this._adapter.setActive(this._active),this._adapter.toggleHostAttribute(i.attributes.ACTIVE,this._active))}get value(){return this._value}set value(e){this._value=e;let t=this._adapter.trySelect(this._value);t!==null&&t!==this._selected&&(this.selected=t)}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get propagateClick(){return this._propagateClick}set propagateClick(e){this._propagateClick!==e&&(this._propagateClick=e,this._propagateClick?this._adapter.removeHostListener("pointerdown",this._pointerDownListener):this._adapter.addHostListener("pointerdown",this._pointerDownListener),this._adapter.setHostAttribute(i.attributes.PROPAGATE_CLICK,this._propagateClick?"true":"false"))}get indented(){return this._indented}set indented(e){this._indented!==e&&(this._indented=e,this._adapter.toggleHostAttribute(i.attributes.INDENTED,this._indented))}get twoLine(){return this._twoLine}set twoLine(e){this._twoLine!==e&&(this._twoLine=e,this._adapter.toggleHostAttribute(i.attributes.TWO_LINE,this._twoLine))}get threeLine(){return this._threeLine}set threeLine(e){this._threeLine!==e&&(this._threeLine=e,this._adapter.toggleHostAttribute(i.attributes.THREE_LINE,this._threeLine))}get wrap(){return this._wrap}set wrap(e){this._wrap!==e&&(this._wrap=e,this._adapter.toggleHostAttribute(i.attributes.WRAP,this._wrap))}};var W='<template><div class="forge-list-item" tabindex="0" part="root"><slot name="leading"></slot><slot name="avatar"></slot><div class="text-container" part="text-container"><slot></slot><slot name="title"></slot><slot name="primary-text"></slot><slot name="subtitle"></slot><slot name="secondary-text"></slot><slot name="tertiary-text"></slot><slot name="tertiary-title"></slot></div><slot name="trailing"></slot><forge-state-layer exportparts="surface:state-layer"></forge-state-layer><forge-focus-indicator part="focus-indicator" inward></forge-focus-indicator></div></template>',B=':host{--_list-item-indent:var(--forge-list-item-indent, 56px);--_list-item-dense-indent:var(--forge-list-item-dense-indent, var(--forge-spacing-xxlarge, 48px))}:host{display:block;outline:0}:host([hidden]){display:none}.forge-list-item{--_list-item-background:var(--forge-list-item-background, transparent);--_list-item-shape:var(--forge-list-item-shape, 0);--_list-item-padding:var(--forge-list-item-padding, 0 var(--forge-spacing-medium, 16px));--_list-item-margin:var(--forge-list-item-margin, 0);--_list-item-height:var(--forge-list-item-height, 48px);--_list-item-dense-height:var(--forge-list-item-dense-height, 32px);--_list-item-cursor:var(--forge-list-item-cursor, pointer);--_list-item-gap:var(--forge-list-item-gap, var(--forge-spacing-xlarge, 32px));--_list-item-text-color:var(--forge-list-item-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-text-font-size:var(--forge-list-item-text-font-size, var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1))));--_list-item-text-font-weight:var(--forge-list-item-text-font-weight, var(--forge-typography-body2-font-weight, 400));--_list-item-text-line-height:var(--forge-list-item-text-line-height, 1.5rem);--_list-item-selected-color:var(--forge-list-item-selected-color, var(--forge-theme-primary, #3f51b5));--_list-item-selected-opacity:var(--forge-list-item-selected-opacity, 0.08);--_list-item-selected-leading-color:var(--forge-list-item-selected-leading-color, var(--_list-item-selected-color));--_list-item-selected-trailing-color:var(--forge-list-item-selected-trailing-color, var(--_list-item-selected-color));--_list-item-selected-text-color:var(--forge-list-item-selected-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-disabled-opacity:var(--forge-list-item-disabled-opacity, 0.38);--_list-item-disabled-cursor:var(--forge-list-item-disabled-cursor, not-allowed);--_list-item-one-line-height:var(--forge-list-item-one-line-height, var(--_list-item-height));--_list-item-two-line-height:var(--forge-list-item-two-line-height, var(--forge-list-item-height, 72px));--_list-item-three-line-height:var(--forge-list-item-three-line-height, var(--forge-list-item-height, 88px));--_list-item-dense-one-line-height:var(--forge-list-item-dense-one-line-height, var(--_list-item-dense-height));--_list-item-dense-two-line-height:var(--forge-list-item-dense-two-line-height, var(--forge-list-item-dense-height, 56px));--_list-item-dense-three-line-height:var(--forge-list-item-dense-three-line-height, var(--forge-list-item-dense-height, 72px));--_list-item-dense-font-size:var(--forge-list-item-dense-font-size, 0.875rem);--_list-item-dense-gap:var(--forge-list-item-dense-gap, var(--forge-spacing-xsmall, 8px));--_list-item-leading-selected-color:var(--forge-list-item-leading-selected-color, var(--_list-item-selected-color));--_list-item-trailing-selected-color:var(--forge-list-item-trailing-selected-color, var(--_list-item-selected-color));--_list-item-avatar-background-color:var(--forge-list-item-avatar-background-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-avatar-color:var(--forge-list-item-avatar-color, var(--forge-theme-on-primary, #ffffff));--_list-item-avatar-shape:var(--forge-list-item-avatar-shape, var(--forge-shape-round, 50%));--_list-item-avatar-size:var(--forge-list-item-avatar-size, 40px);--_list-item-wrap-padding:var(--forge-list-item-wrap-padding, var(--forge-spacing-xsmall, 8px) var(--forge-spacing-medium, 16px))}.forge-list-item{position:relative;display:-webkit-box;display:flex;gap:var(--_list-item-gap);-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;text-decoration:none;background-color:var(--_list-item-background);border-radius:var(--_list-item-shape);-webkit-tap-highlight-color:transparent;height:var(--_list-item-height);min-height:var(--_list-item-height);padding:var(--_list-item-padding);margin:var(--_list-item-margin);cursor:var(--_list-item-cursor)}:host([non-interactive]) .forge-list-item{cursor:initial}:host([disabled]) .forge-list-item{cursor:var(--_list-item-disabled-cursor);opacity:var(--_list-item-disabled-opacity)}:host([two-line]) .forge-list-item{height:var(--_list-item-two-line-height);min-height:var(--_list-item-two-line-height)}:host([three-line]) .forge-list-item{height:var(--_list-item-three-line-height);min-height:var(--_list-item-three-line-height)}:host([dense]) .forge-list-item{--_list-item-gap:var(--_list-item-dense-gap);height:var(--_list-item-dense-one-line-height);min-height:var(--_list-item-dense-one-line-height)}:host([dense]) .text-container{font-size:var(--_list-item-dense-font-size)}:host([dense][indented]){-webkit-margin-start:var(--_list-item-dense-indent);margin-inline-start:var(--_list-item-dense-indent)}:host([dense][two-line]) .forge-list-item{height:var(--_list-item-dense-two-line-height);min-height:var(--_list-item-dense-two-line-height)}:host([dense][three-line]) .forge-list-item{height:var(--_list-item-dense-three-line-height);min-height:var(--_list-item-dense-three-line-height)}:host([selected]) .forge-list-item{color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:var(--_list-item-selected-opacity);background-color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]),:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([selected]) .text-container{color:var(--_list-item-selected-color)}:host([selected]) forge-state-layer{--forge-state-layer-color:var(--_list-item-selected-color)}:host([indented]){-webkit-margin-start:var(--_list-item-indent);margin-inline-start:var(--_list-item-indent)}a.forge-list-item{color:inherit}.text-container{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--_list-item-text-font-size);font-weight:var(--_list-item-text-font-weight);line-height:var(--_list-item-text-line-height);-webkit-box-flex:1;flex:1}slot[name=secondary-text]::slotted(*),slot[name=subtitle]::slotted(*),slot[name=tertiary-text]::slotted(*),slot[name=tertiary-title]::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--_list-item-text-color);display:block}:host([selected]) slot[name=secondary-text]::slotted(*),:host([selected]) slot[name=subtitle]::slotted(*),:host([selected]) slot[name=tertiary-text]::slotted(*),:host([selected]) slot[name=tertiary-title]::slotted(*){color:var(--_list-item-selected-text-color)}::slotted([slot=avatar]){background-color:var(--_list-item-avatar-background-color);color:var(--_list-item-avatar-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;-webkit-margin-end:calc((var(--_list-item-gap)/ 2) * -1);margin-inline-end:calc((var(--_list-item-gap)/ 2) * -1);min-width:var(--_list-item-avatar-size);min-height:var(--_list-item-avatar-size);border-radius:var(--_list-item-avatar-shape)}::slotted([slot=leading]),::slotted([slot=trailing]){color:var(--_list-item-text-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}:host([selected]) ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([selected]) ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([wrap]) .forge-list-item{--_list-item-padding:var(--_list-item-wrap-padding);height:auto}:host([wrap]) .text-container{white-space:normal;overflow:visible;text-overflow:clip;line-height:normal}:host([wrap]) slot[name=secondary-text]::slotted(*),:host([wrap]) slot[name=subtitle]::slotted(*),:host([wrap]) slot[name=tertiary-text]::slotted(*),:host([wrap]) slot[name=tertiary-title]::slotted(*){white-space:normal;overflow:visible;text-overflow:clip;line-height:normal}forge-focus-indicator{z-index:1;--forge-focus-indicator-shape:var(--forge-shape-medium, 4px)}forge-state-layer{border-radius:inherit}',s=class extends HTMLElement{constructor(){super();L(this,W,B),this._foundation=new b(new g(this))}static get observedAttributes(){return[i.observedAttributes.HREF,i.observedAttributes.TARGET,i.observedAttributes.DOWNLOAD,i.observedAttributes.REL,i.observedAttributes.STATIC,i.observedAttributes.NON_INTERACTIVE,i.observedAttributes.DISABLED,i.observedAttributes.SELECTED,i.observedAttributes.ACTIVE,i.observedAttributes.VALUE,i.observedAttributes.DENSE,i.observedAttributes.PROPAGATE_CLICK,i.observedAttributes.INDENTED,i.observedAttributes.TWO_LINE,i.observedAttributes.THREE_LINE,i.observedAttributes.WRAP]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,r,o){switch(t){case i.observedAttributes.HREF:this.href=o;break;case i.observedAttributes.TARGET:this.target=o;break;case i.observedAttributes.DOWNLOAD:this.download=o;break;case i.observedAttributes.REL:this.rel=o;break;case i.observedAttributes.NON_INTERACTIVE:case i.observedAttributes.STATIC:this.nonInteractive=l(o);break;case i.observedAttributes.DISABLED:this.disabled=l(o);break;case i.observedAttributes.SELECTED:this.selected=l(o);break;case i.observedAttributes.ACTIVE:this.active=l(o);break;case i.observedAttributes.VALUE:this.value=o;break;case i.observedAttributes.DENSE:this.dense=l(o);break;case i.observedAttributes.PROPAGATE_CLICK:this.propagateClick=l(o);break;case i.observedAttributes.INDENTED:this.indented=l(o);break;case i.observedAttributes.TWO_LINE:this.twoLine=l(o);break;case i.observedAttributes.THREE_LINE:this.threeLine=l(o);break;case i.observedAttributes.WRAP:this.wrap=l(o);break}}focus(){this._foundation.setFocus()}click(){this._foundation.click()}};a([n()],s.prototype,"href",2),a([n()],s.prototype,"target",2),a([n()],s.prototype,"download",2),a([n()],s.prototype,"rel",2),a([n()],s.prototype,"static",2),a([n()],s.prototype,"nonInteractive",2),a([n()],s.prototype,"disabled",2),a([n()],s.prototype,"selected",2),a([n()],s.prototype,"active",2),a([n()],s.prototype,"value",2),a([n()],s.prototype,"dense",2),a([n()],s.prototype,"propagateClick",2),a([n()],s.prototype,"indented",2),a([n()],s.prototype,"twoLine",2),a([n()],s.prototype,"threeLine",2),a([n()],s.prototype,"wrap",2),s=a([y({name:i.elementName,dependencies:[w,k]})],s);function Et(){A(s)}export{i as a,d as b,N as c,g as d,b as e,s as f,Et as g};
|
|
7
|
+
//# sourceMappingURL=chunk.X4NHJE7S.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/list/list/list-constants.ts", "../../src/list/list-item/list-item-constants.ts", "../../src/list/list-item/list-item-adapter.ts", "../../src/list/list-item/list-item-foundation.ts", "../../src/list/list-item/list-item.ts", "../../src/list/list-item/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}list`;\n\nconst observedAttributes = {\n ROLE: 'role',\n STATIC: 'static',\n NON_INTERACTIVE: 'non-interactive',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n SELECTED_VALUE: 'selected-value',\n INDENTED: 'indented',\n TWO_LINE: 'two-line',\n THREE_LINE: 'three-line',\n WRAP: 'wrap'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n SCOPE_TEST: `${elementName}-item-scope-test`\n} as const;\n\nexport const LIST_CONSTANTS = {\n elementName,\n attributes,\n events\n};\n\nexport const ListComponentItemRole = {\n list: 'listitem',\n listbox: 'option',\n menu: 'menuitem'\n};\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IListItemComponent } from './list-item';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}list-item`;\n\nconst observedAttributes = {\n HREF: 'href',\n TARGET: 'target',\n DOWNLOAD: 'download',\n REL: 'rel',\n STATIC: 'static',\n NON_INTERACTIVE: 'non-interactive',\n DISABLED: 'disabled',\n SELECTED: 'selected',\n ACTIVE: 'active',\n VALUE: 'value',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n TWO_LINE: 'two-line',\n THREE_LINE: 'three-line',\n WRAP: 'wrap'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst classes = {\n ROOT: 'forge-list-item'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n CHECKBOX_RADIO_SELECTOR: ':is(input[type=checkbox],input[type=radio],forge-checkbox,forge-radio):not(:disabled):not([forge-ignore])',\n SWITCH_SELECTOR: 'forge-switch:not([disabled]):not([forge-ignore])',\n IGNORE: '[forge-ignore],[data-forge-ignore]'\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nexport const LIST_ITEM_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n classes,\n selectors,\n events\n};\n\nexport interface IListItemSelectEventData<T = unknown> {\n value: T;\n listItem: IListItemComponent;\n}\n", "import { getShadowElement, isDeepEqual, toggleAttribute } from '@tylertech/forge-core';\nimport { replaceElement } from '../../core/utils/utils';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { IListComponent } from '../list/list';\nimport { ListComponentItemRole, LIST_CONSTANTS } from '../list/list-constants';\nimport { IListItemComponent } from './list-item';\nimport { LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { ISwitchComponent } from '../../switch';\n\nexport interface IListItemAdapter extends IBaseAdapter<IListItemComponent> {\n initialize(): void;\n setHref(href: string): void;\n setAnchorTarget(target: string): void;\n setAnchorDownload(download: string): void;\n setAnchorRel(rel: string): void;\n setNonInteractive(value: boolean): void;\n setDisabled(value: boolean): void;\n setActive(value: boolean): void;\n trySelect(value: unknown): boolean | null;\n tryToggleSelectionControl(value?: boolean): void;\n isFocused(): boolean;\n setFocus(): void;\n animateStateLayer(): void;\n clickAnchor(): void;\n clickHost(): void;\n}\n\nexport class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {\n private _rootElement: HTMLElement | HTMLAnchorElement;\n private _focusIndicatorElement: IFocusIndicatorComponent;\n private _stateLayerElement: IStateLayerComponent;\n\n constructor(component: IListItemComponent) {\n super(component);\n this._rootElement = getShadowElement(component, LIST_ITEM_CONSTANTS.selectors.ROOT);\n this._focusIndicatorElement = getShadowElement(component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public initialize(): void {\n // Attempt to inherit state for corresponding properties from our parent list\n const list = this._getParentList();\n if (list) {\n this._inheritParentListProps(list);\n }\n\n this._rootElement.tabIndex = this._component.nonInteractive || this._component.disabled ? -1 : 0;\n\n if (!this._component.hasAttribute('role')) {\n this._setRole(list);\n }\n }\n\n public setHref(href: string): void {\n if (href) {\n if (this._rootElement.tagName !== 'A') {\n const anchor = this._createAnchorRootElement();\n this._rootElement = replaceElement(this._rootElement, anchor);\n }\n (this._rootElement as HTMLAnchorElement).href = href;\n } else if (this._rootElement.tagName === 'A') {\n const defaultEl = this._createDefaultRootElement();\n this._rootElement = replaceElement(this._rootElement, defaultEl);\n }\n }\n\n public setAnchorTarget(target: string): void {\n if (this._rootElement.tagName === 'A') {\n (this._rootElement as HTMLAnchorElement).target = target;\n }\n }\n\n public setAnchorDownload(download: string): void {\n if (this._rootElement.tagName === 'A') {\n (this._rootElement as HTMLAnchorElement).download = download;\n }\n }\n\n public setAnchorRel(rel: string): void {\n if (this._rootElement.tagName === 'A') {\n (this._rootElement as HTMLAnchorElement).rel = rel;\n }\n }\n\n public setNonInteractive(value: boolean): void {\n this._rootElement.tabIndex = value ? -1 : 0;\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n }\n\n public setDisabled(value: boolean): void {\n this._rootElement.tabIndex = value ? -1 : 0;\n toggleAttribute(this._component, value, 'aria-disabled', 'true');\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n }\n\n public setActive(value: boolean): void {\n this._focusIndicatorElement.active = value;\n }\n\n /**\n * Attempts to set the selected state of the list item element and it's visual indicators\n * @param value The value to compare to the parent list element's selected value\n * @returns Returns whether the list item is selected, or null otherwise.\n */\n public trySelect(value: unknown): boolean | null {\n const list = this._getParentList();\n if (list?.selectedValue === undefined) {\n return null;\n }\n\n const listValues = Array.isArray(list.selectedValue) ? list.selectedValue : [list.selectedValue];\n const isSelected = listValues.some(v => isDeepEqual(v, value));\n\n this.tryToggleSelectionControl(isSelected);\n return isSelected;\n }\n\n /**\n * Attempts to toggle a checkbox radio button, or switch within the list item if it can find one.\n */\n public tryToggleSelectionControl(value?: boolean): void {\n const checkable = this._component.querySelector(LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR) as HTMLInputElement;\n if (checkable) {\n const force = typeof value === 'boolean';\n const currentState = checkable.checked;\n\n // We don't uncheck radio buttons unless we are forcing a value from the selection state\n if (!force && checkable.matches(':is(forge-radio[checked],input[type=radio]:checked)')) {\n return;\n }\n \n // Check if we are just toggling or forcing to a specific checked state\n checkable.checked = force ? value as boolean : !checkable.checked;\n\n // TODO: This seems weird... Should we be dispatching events on slotted elements when changes are made programmatically?\n if (!force || currentState !== value) {\n checkable.dispatchEvent(new Event('change', { bubbles: true }));\n }\n } else {\n // Special case handling for the Forge switch element since it doesn't have a checked property\n const switchEl = this._component.querySelector(LIST_ITEM_CONSTANTS.selectors.SWITCH_SELECTOR) as ISwitchComponent;\n if (!switchEl) {\n return;\n }\n \n const force = typeof value === 'boolean';\n const currentState = switchEl.on;\n\n // Check if we are just toggling or forcing to a specific checked state\n switchEl.on = force ? value as boolean : !switchEl.on;\n\n // TODO: This seems weird... Should we be dispatching events on slotted elements when changes are made programmatically?\n if (!force || currentState !== value) {\n switchEl.dispatchEvent(new CustomEvent('forge-switch-change', { bubbles: true, detail: switchEl.on }));\n }\n }\n }\n\n public isFocused(): boolean {\n return this._component.matches(':focus');\n }\n\n public setFocus(): void {\n this._rootElement.focus({ preventScroll: true });\n }\n\n public animateStateLayer(): void {\n this._stateLayerElement.playAnimation();\n }\n\n public clickAnchor(): void {\n if (this._rootElement.tagName === 'A') {\n (this._rootElement as HTMLAnchorElement).click();\n }\n }\n\n public clickHost(): void {\n // Calling click() on the prototype ensures we don't end up in an infinite\n // recursion since the host overrides the HTMLElement.click() method\n HTMLElement.prototype.click.call(this._component);\n }\n\n private _createAnchorRootElement(): HTMLAnchorElement {\n const a = document.createElement('a');\n a.classList.add(LIST_ITEM_CONSTANTS.classes.ROOT);\n a.setAttribute('part', 'root');\n if (this._component.href) {\n a.href = this._component.href;\n }\n if (this._component.target) {\n a.target = this._component.target;\n }\n if (this._component.download) {\n a.download = this._component.download;\n }\n if (this._component.rel) {\n a.rel = this._component.rel;\n }\n return a;\n }\n\n private _createDefaultRootElement(): HTMLElement {\n const div = document.createElement('div');\n div.classList.add(LIST_ITEM_CONSTANTS.classes.ROOT);\n div.setAttribute('part', 'root');\n div.tabIndex = this._component.nonInteractive || this._component.disabled ? -1 : 0;\n return div;\n }\n\n private _getParentList(): IListComponent | null {\n return this._component.closest(LIST_CONSTANTS.elementName);\n }\n\n private _inheritParentListProps(list: IListComponent): void {\n if (list.hasAttribute(LIST_CONSTANTS.attributes.NON_INTERACTIVE) || list.hasAttribute(LIST_CONSTANTS.attributes.STATIC)) {\n this._component.nonInteractive = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.DISABLED)) {\n this._component.disabled = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.DENSE)) {\n this._component.dense = true;\n }\n if (list.getAttribute(LIST_CONSTANTS.attributes.PROPAGATE_CLICK) === 'false') {\n this._component.propagateClick = false;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.INDENTED)) {\n this._component.indented = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.TWO_LINE)) {\n this._component.twoLine = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.THREE_LINE)) {\n this._component.threeLine = true;\n }\n }\n\n private _setRole(list: IListComponent | null): void {\n const listRole = list?.getAttribute('role');\n const role = ListComponentItemRole[listRole as string] ?? 'listitem';\n this._component.setAttribute('role', role);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IListItemAdapter } from './list-item-adapter';\nimport { IListItemSelectEventData, LIST_ITEM_CONSTANTS } from './list-item-constants';\n\nexport interface IListItemFoundation extends ICustomElementFoundation {\n href: string;\n target: string;\n download: string;\n rel: string;\n static: boolean;\n nonInteractive: boolean;\n disabled: boolean;\n selected: boolean;\n active: boolean;\n value: unknown;\n dense: boolean;\n propagateClick: boolean;\n indented: boolean;\n twoLine: boolean;\n threeLine: boolean;\n wrap: boolean;\n setFocus(): void;\n}\n\nexport class ListItemFoundation implements IListItemFoundation {\n private _href: string;\n private _target = '';\n private _download = '';\n private _rel = '';\n private _nonInteractive = false;\n private _disabled = false;\n private _selected = false;\n private _active = false;\n private _value: unknown;\n private _dense = false;\n private _propagateClick = true;\n private _indented = false;\n private _twoLine = false;\n private _threeLine = false;\n private _wrap = false;\n\n private _clickListener: EventListener;\n private _pointerDownListener: EventListener;\n private _keydownListener: EventListener;\n\n constructor(private _adapter: IListItemAdapter) {\n this._clickListener = this._onClick.bind(this);\n this._pointerDownListener = this._onPointerDown.bind(this);\n this._keydownListener = this._onKeydown.bind(this);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (!this._nonInteractive && !this._disabled) {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n\n if (!this._propagateClick) {\n this._adapter.addHostListener('pointerdown', this._pointerDownListener);\n }\n }\n }\n\n public disconnect(): void {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.removeHostListener('pointerdown', this._pointerDownListener);\n this._adapter.removeHostListener('keydown', this._keydownListener);\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n public click(): void {\n if (this._href) {\n this._adapter.clickAnchor();\n } else {\n this._adapter.clickHost();\n }\n }\n\n private _onPointerDown(evt: MouseEvent): void {\n if (this._adapter.isFocused()) {\n evt.preventDefault();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Enter' || evt.key === ' ') {\n if (!this._href && evt.key === ' ') {\n evt.preventDefault();\n }\n this._adapter.animateStateLayer();\n this._select(evt.target as HTMLElement);\n }\n }\n\n private _onClick(event: MouseEvent): void {\n this._select(event.target as HTMLElement);\n }\n\n private _select(targetElement: HTMLElement): void {\n const ignoreElement = targetElement?.matches(LIST_ITEM_CONSTANTS.selectors.IGNORE);\n if (this._nonInteractive || this._disabled || ignoreElement) {\n return;\n }\n\n if (!this._adapter.isFocused() && this._propagateClick) {\n this.setFocus();\n }\n\n // If the target was not a checkbox or radio button, attempt to find one and toggle its checked state\n if (!targetElement.matches(LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR)) {\n this._adapter.tryToggleSelectionControl();\n }\n\n const data: IListItemSelectEventData = {\n value: this._value,\n listItem: this._adapter.hostElement\n };\n this._adapter.emitHostEvent(LIST_ITEM_CONSTANTS.events.SELECT, data);\n }\n\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n if (this._href !== value) {\n this._href = value;\n this._adapter.setHref(this._href);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.HREF, !!this._href, this._href);\n }\n }\n\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value;\n if (this._href) {\n this._adapter.setAnchorTarget(this._target);\n }\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.TARGET, !!this._target, this._target);\n }\n }\n\n public get download(): string {\n return this._download;\n }\n public set download(value: string) {\n if (this._download !== value) {\n this._download = value;\n this._adapter.setAnchorDownload(this._download);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);\n }\n }\n\n public get rel(): string {\n return this._rel;\n }\n public set rel(value: string) {\n if (this._rel !== value) {\n this._rel = value;\n this._adapter.setAnchorRel(this._rel);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.REL, !!this._rel, this._rel);\n }\n }\n\n public get static(): boolean {\n return this.nonInteractive;\n }\n public set static(value: boolean) {\n this.nonInteractive = value;\n }\n\n public get nonInteractive(): boolean {\n return this._nonInteractive;\n }\n public set nonInteractive(value: boolean) {\n if (this._nonInteractive !== value) {\n this._nonInteractive = value;\n if (this._nonInteractive) {\n this._adapter.removeHostListener('click', this._clickListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n }\n this._adapter.setNonInteractive(this._nonInteractive);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC, this._nonInteractive);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.NON_INTERACTIVE, this._nonInteractive);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n if (this._disabled) {\n this._adapter.removeHostListener('click', this._clickListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n }\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.tryToggleSelectionControl(this._selected);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._active = value;\n this._adapter.setActive(this._active);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE, this._active);\n }\n }\n\n public get value(): unknown {\n return this._value;\n }\n public set value(value: unknown) {\n this._value = value;\n const isSelected = this._adapter.trySelect(this._value);\n if (isSelected !== null && isSelected !== this._selected) {\n this.selected = isSelected;\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get propagateClick(): boolean {\n return this._propagateClick;\n }\n public set propagateClick(value: boolean) {\n if (this._propagateClick !== value) {\n this._propagateClick = value;\n\n if (this._propagateClick) {\n this._adapter.removeHostListener('pointerdown', this._pointerDownListener);\n } else {\n this._adapter.addHostListener('pointerdown', this._pointerDownListener);\n }\n\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK, this._propagateClick ? 'true' : 'false');\n }\n }\n\n public get indented(): boolean {\n return this._indented;\n }\n public set indented(value: boolean) {\n if (this._indented !== value) {\n this._indented = value;\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.INDENTED, this._indented);\n }\n }\n\n public get twoLine(): boolean {\n return this._twoLine;\n }\n public set twoLine(value: boolean) {\n if (this._twoLine !== value) {\n this._twoLine = value;\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE, this._twoLine);\n }\n }\n\n public get threeLine(): boolean {\n return this._threeLine;\n }\n public set threeLine(value: boolean) {\n if (this._threeLine !== value) {\n this._threeLine = value;\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE, this._threeLine);\n }\n }\n\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { ListItemAdapter } from './list-item-adapter';\nimport { ListItemFoundation } from './list-item-foundation';\nimport { IListItemSelectEventData, LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { StateLayerComponent } from '../../state-layer';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\n\nconst template = '<template><div class=\\\"forge-list-item\\\" tabindex=\\\"0\\\" part=\\\"root\\\"><slot name=\\\"leading\\\"></slot><slot name=\\\"avatar\\\"></slot><div class=\\\"text-container\\\" part=\\\"text-container\\\"><slot></slot><slot name=\\\"title\\\"></slot><slot name=\\\"primary-text\\\"></slot><slot name=\\\"subtitle\\\"></slot><slot name=\\\"secondary-text\\\"></slot><slot name=\\\"tertiary-text\\\"></slot><slot name=\\\"tertiary-title\\\"></slot></div><slot name=\\\"trailing\\\"></slot><forge-state-layer exportparts=\\\"surface:state-layer\\\"></forge-state-layer><forge-focus-indicator part=\\\"focus-indicator\\\" inward></forge-focus-indicator></div></template>';\nconst styles = ':host{--_list-item-indent:var(--forge-list-item-indent, 56px);--_list-item-dense-indent:var(--forge-list-item-dense-indent, var(--forge-spacing-xxlarge, 48px))}:host{display:block;outline:0}:host([hidden]){display:none}.forge-list-item{--_list-item-background:var(--forge-list-item-background, transparent);--_list-item-shape:var(--forge-list-item-shape, 0);--_list-item-padding:var(--forge-list-item-padding, 0 var(--forge-spacing-medium, 16px));--_list-item-margin:var(--forge-list-item-margin, 0);--_list-item-height:var(--forge-list-item-height, 48px);--_list-item-dense-height:var(--forge-list-item-dense-height, 32px);--_list-item-cursor:var(--forge-list-item-cursor, pointer);--_list-item-gap:var(--forge-list-item-gap, var(--forge-spacing-xlarge, 32px));--_list-item-text-color:var(--forge-list-item-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-text-font-size:var(--forge-list-item-text-font-size, var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1))));--_list-item-text-font-weight:var(--forge-list-item-text-font-weight, var(--forge-typography-body2-font-weight, 400));--_list-item-text-line-height:var(--forge-list-item-text-line-height, 1.5rem);--_list-item-selected-color:var(--forge-list-item-selected-color, var(--forge-theme-primary, #3f51b5));--_list-item-selected-opacity:var(--forge-list-item-selected-opacity, 0.08);--_list-item-selected-leading-color:var(--forge-list-item-selected-leading-color, var(--_list-item-selected-color));--_list-item-selected-trailing-color:var(--forge-list-item-selected-trailing-color, var(--_list-item-selected-color));--_list-item-selected-text-color:var(--forge-list-item-selected-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-disabled-opacity:var(--forge-list-item-disabled-opacity, 0.38);--_list-item-disabled-cursor:var(--forge-list-item-disabled-cursor, not-allowed);--_list-item-one-line-height:var(--forge-list-item-one-line-height, var(--_list-item-height));--_list-item-two-line-height:var(--forge-list-item-two-line-height, var(--forge-list-item-height, 72px));--_list-item-three-line-height:var(--forge-list-item-three-line-height, var(--forge-list-item-height, 88px));--_list-item-dense-one-line-height:var(--forge-list-item-dense-one-line-height, var(--_list-item-dense-height));--_list-item-dense-two-line-height:var(--forge-list-item-dense-two-line-height, var(--forge-list-item-dense-height, 56px));--_list-item-dense-three-line-height:var(--forge-list-item-dense-three-line-height, var(--forge-list-item-dense-height, 72px));--_list-item-dense-font-size:var(--forge-list-item-dense-font-size, 0.875rem);--_list-item-dense-gap:var(--forge-list-item-dense-gap, var(--forge-spacing-xsmall, 8px));--_list-item-leading-selected-color:var(--forge-list-item-leading-selected-color, var(--_list-item-selected-color));--_list-item-trailing-selected-color:var(--forge-list-item-trailing-selected-color, var(--_list-item-selected-color));--_list-item-avatar-background-color:var(--forge-list-item-avatar-background-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_list-item-avatar-color:var(--forge-list-item-avatar-color, var(--forge-theme-on-primary, #ffffff));--_list-item-avatar-shape:var(--forge-list-item-avatar-shape, var(--forge-shape-round, 50%));--_list-item-avatar-size:var(--forge-list-item-avatar-size, 40px);--_list-item-wrap-padding:var(--forge-list-item-wrap-padding, var(--forge-spacing-xsmall, 8px) var(--forge-spacing-medium, 16px))}.forge-list-item{position:relative;display:-webkit-box;display:flex;gap:var(--_list-item-gap);-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;text-decoration:none;background-color:var(--_list-item-background);border-radius:var(--_list-item-shape);-webkit-tap-highlight-color:transparent;height:var(--_list-item-height);min-height:var(--_list-item-height);padding:var(--_list-item-padding);margin:var(--_list-item-margin);cursor:var(--_list-item-cursor)}:host([non-interactive]) .forge-list-item{cursor:initial}:host([disabled]) .forge-list-item{cursor:var(--_list-item-disabled-cursor);opacity:var(--_list-item-disabled-opacity)}:host([two-line]) .forge-list-item{height:var(--_list-item-two-line-height);min-height:var(--_list-item-two-line-height)}:host([three-line]) .forge-list-item{height:var(--_list-item-three-line-height);min-height:var(--_list-item-three-line-height)}:host([dense]) .forge-list-item{--_list-item-gap:var(--_list-item-dense-gap);height:var(--_list-item-dense-one-line-height);min-height:var(--_list-item-dense-one-line-height)}:host([dense]) .text-container{font-size:var(--_list-item-dense-font-size)}:host([dense][indented]){-webkit-margin-start:var(--_list-item-dense-indent);margin-inline-start:var(--_list-item-dense-indent)}:host([dense][two-line]) .forge-list-item{height:var(--_list-item-dense-two-line-height);min-height:var(--_list-item-dense-two-line-height)}:host([dense][three-line]) .forge-list-item{height:var(--_list-item-dense-three-line-height);min-height:var(--_list-item-dense-three-line-height)}:host([selected]) .forge-list-item{color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item::before{content:\\\"\\\";position:absolute;inset:0;border-radius:inherit;opacity:var(--_list-item-selected-opacity);background-color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]),:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([selected]) .text-container{color:var(--_list-item-selected-color)}:host([selected]) forge-state-layer{--forge-state-layer-color:var(--_list-item-selected-color)}:host([indented]){-webkit-margin-start:var(--_list-item-indent);margin-inline-start:var(--_list-item-indent)}a.forge-list-item{color:inherit}.text-container{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--_list-item-text-font-size);font-weight:var(--_list-item-text-font-weight);line-height:var(--_list-item-text-line-height);-webkit-box-flex:1;flex:1}slot[name=secondary-text]::slotted(*),slot[name=subtitle]::slotted(*),slot[name=tertiary-text]::slotted(*),slot[name=tertiary-title]::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--_list-item-text-color);display:block}:host([selected]) slot[name=secondary-text]::slotted(*),:host([selected]) slot[name=subtitle]::slotted(*),:host([selected]) slot[name=tertiary-text]::slotted(*),:host([selected]) slot[name=tertiary-title]::slotted(*){color:var(--_list-item-selected-text-color)}::slotted([slot=avatar]){background-color:var(--_list-item-avatar-background-color);color:var(--_list-item-avatar-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;-webkit-margin-end:calc((var(--_list-item-gap)/ 2) * -1);margin-inline-end:calc((var(--_list-item-gap)/ 2) * -1);min-width:var(--_list-item-avatar-size);min-height:var(--_list-item-avatar-size);border-radius:var(--_list-item-avatar-shape)}::slotted([slot=leading]),::slotted([slot=trailing]){color:var(--_list-item-text-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}:host([selected]) ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([selected]) ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([wrap]) .forge-list-item{--_list-item-padding:var(--_list-item-wrap-padding);height:auto}:host([wrap]) .text-container{white-space:normal;overflow:visible;text-overflow:clip;line-height:normal}:host([wrap]) slot[name=secondary-text]::slotted(*),:host([wrap]) slot[name=subtitle]::slotted(*),:host([wrap]) slot[name=tertiary-text]::slotted(*),:host([wrap]) slot[name=tertiary-title]::slotted(*){white-space:normal;overflow:visible;text-overflow:clip;line-height:normal}forge-focus-indicator{z-index:1;--forge-focus-indicator-shape:var(--forge-shape-medium, 4px)}forge-state-layer{border-radius:inherit}';\n\nexport interface IListItemComponent<T = unknown> extends ICustomElement {\n href: string;\n target: string;\n download: string;\n rel: string;\n /** @deprecated Use nonInteractive instead. */\n static: boolean;\n nonInteractive: boolean;\n disabled: boolean;\n selected: boolean;\n active: boolean;\n value: T;\n dense: boolean;\n propagateClick: boolean;\n indented: boolean;\n twoLine: boolean;\n threeLine: boolean;\n wrap: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-list-item': IListItemComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-list-item-select': CustomEvent<IListItemSelectEventData>;\n }\n}\n\n/**\n * @tag forge-list-item\n * \n * @summary List items are individual rows of content inside of a list.\n * \n * @property {string} href - The href of the anchor. This forces the list item to render as an anchor element.\n * @property {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.\n * @property {boolean} download - The anchor download attribute.\n * @property {boolean} rel - The anchor rel attribute.\n * @property {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.\n * @property {boolean} nonInteractive - If true, the list item will not be interactive.\n * @property {boolean} static - If true, the list item will not be interactive. Deprecated use `nonInteractive` instead.\n * @property {boolean} disabled - Disables the list item.\n * @property {boolean} selected - Applies the selected state to the list item.\n * @property {boolean} active - Applies the active state to the list item by emulating its focused state.\n * @property {unknown} value - The unique value of the list item.\n * @property {boolean} dense - Applies the dense state to the list item.\n * @property {boolean} propagateClick - If true, the list item will not propagate click events to itself and therefore cannot receive focus.\n * @property {boolean} indented - Applies the indented state by adding margin to the start of the list item.\n * @property {boolean} twoLine - Sets the list item height to support at least two lines of text.\n * @property {boolean} threeLine - Sets the list item height to support at least three lines of text.\n * @property {boolean} wrap - Sets the list item to wrap its text content.\n * \n * @attribute {string} href - The href of the anchor This forces the list item to render as an anchor element.\n * @attribute {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.\n * @attribute {boolean} download - The anchor download attribute.\n * @attribute {boolean} rel - The anchor rel attribute.\n * @attribute {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.\n * @attribute {boolean} non-interactive - If true, the list item will not be interactive.\n * @attribute {boolean} static - If true, the list item will not be interactive. Deprecated use `non-interactive` instead.\n * @attribute {boolean} disabled - Disables the list item.\n * @attribute {boolean} selected - Applies the selected state to the list item.\n * @attribute {boolean} active - Applies the active state to the list item by emulating its focused state.\n * @attribute {unknown} value - The unique value of the list item.\n * @attribute {boolean} dense - Applies the dense state to the list item.\n * @attribute {boolean} propagate-click - If applied, the list item will not propagate click events to itself and therefore cannot receive focus.\n * @attribute {boolean} indented - Applies the indented state by adding margin to the start of the list item.\n * @attribute {boolean} two-line - Sets the list item height to support at least two lines of text.\n * @attribute {boolean} three-line - Sets the list item height to support at least three lines of text.\n * @attribute {boolean} wrap - Sets the list item to wrap its text content.\n * \n * @event {CustomEvent<IListItemSelectEventData>} forge-list-item-select - Fires when the list item is selected.\n * \n * @slot - The primary text.\n * @slot primary-text - The primary text. A named alias for the default slot.\n * @slot secondary-text - The secondary text.\n * @slot tertiary-text - The tertiary text.\n * @slot title - The title element. An alias for the primary-text slot for backwards compatibility.\n * @slot subtitle - The subtitle element. An alias for the secondary-text slot for backwards compatibility.\n * @slot tertiary-title - The tertiary title element. An alias for the tertiary-text slot for backwards compatibility.\n * @slot leading - The leading content.\n * @slot trailing - The trailing element.\n * @slot avatar - The avatar content.\n * \n * @csspart root - The root container element.\n * @csspart text-container - The container for the text content.\n * @csspart focus-indicator - The forwarded focus indicator's internal indicator element.\n * @csspart state-layer - The forwarded state layer's internal surface element.\n * \n * @cssproperty --forge-list-item-background - The background color.\n * @cssproperty --forge-list-item-shape - The shape of the list item.\n * @cssproperty --forge-list-item-padding - The padding inside of the container element.\n * @cssproperty --forge-list-item-wrap-padding - The padding inside of the container element when `wrap` is enabled.\n * @cssproperty --forge-list-item-margin - The margin around the host element.\n * @cssproperty --forge-list-item-height - The height of the container.\n * @cssproperty --forge-list-item-dense-height - The height when in the dense state.\n * @cssproperty --forge-list-item-indent - The margin inline state when in the indented state.\n * @cssproperty --forge-list-item-cursor - The cursor when interactive.\n * @cssproperty --forge-list-item-gap - The gap between the slotted content.\n * @cssproperty --forge-list-item-text-color - The text color of the text.\n * @cssproperty --forge-list-item-text-font-size - The font size of the text.\n * @cssproperty --forge-list-item-text-font-weight - The font weight of the text.\n * @cssproperty --forge-list-item-text-line-height - The line height of the text.\n * @cssproperty --forge-list-item-selected-color - The color when in the selected state.\n * @cssproperty --forge-list-item-opacity - The opacity of the background color when in the disabled state.\n * @cssproperty --forge-list-item-selected-leading-color - The color of the leading content when in the selected state.\n * @cssproperty --forge-list-item-selected-trailing-color - The color of the trailing content when in the selected state.\n * @cssproperty --forge-list-item-selected-text-color - The color of the text when in the selected state.\n * @cssproperty --forge-list-item-disabled-opacity - The opacity of the element when in the disabled state.\n * @cssproperty --forge-list-item-disabled-cursor - The cursor when in the disabled state.\n * @cssproperty --forge-list-item-one-line-height - The line height when in the one/single line state.\n * @cssproperty --forge-list-item-two-line-height - The line height when in the two line state.\n * @cssproperty --forge-list-item-three-line-height - The line height when in the three line state.\n * @cssproperty --forge-list-item-dense-one-line-height - The line height when in the dense one/single line state.\n * @cssproperty --forge-list-item-dense-two-line-height - The line height when in the dense two line state.\n * @cssproperty --forge-list-item-dense-three-line-height - The line height when in the dense three line state.\n * @cssproperty --forge-list-item-dense-font-size - The font size when in the dense state.\n * @cssproperty --forge-list-item-dense-indent - The margin inline state when in the dense indented state.\n * @cssproperty --forge-list-item-dense-gap - The gap between the slotted content when in the dense state.\n * @cssproperty --forge-list-item-leading-selected-color - The color of the leading content when in the selected state.\n * @cssproperty --forge-list-item-trailing-selected-color - The color of the trailing content when in the selected state.\n * @cssproperty --forge-list-item-avatar-background-color - The background color of the avatar container.\n * @cssproperty --forge-list-item-avatar-color - The foreground color of the avatar container.\n * @cssproperty --forge-list-item-avatar-shape - The shape of the avatar container.\n * @cssproperty --forge-list-item-avatar-size - The height & width of the avatar container.\n */\n@CustomElement({\n name: LIST_ITEM_CONSTANTS.elementName,\n dependencies: [\n StateLayerComponent,\n FocusIndicatorComponent\n ]\n})\nexport class ListItemComponent extends HTMLElement implements IListItemComponent {\n public static get observedAttributes(): string[] {\n return [\n LIST_ITEM_CONSTANTS.observedAttributes.HREF,\n LIST_ITEM_CONSTANTS.observedAttributes.TARGET,\n LIST_ITEM_CONSTANTS.observedAttributes.DOWNLOAD,\n LIST_ITEM_CONSTANTS.observedAttributes.REL,\n LIST_ITEM_CONSTANTS.observedAttributes.STATIC,\n LIST_ITEM_CONSTANTS.observedAttributes.NON_INTERACTIVE,\n LIST_ITEM_CONSTANTS.observedAttributes.DISABLED,\n LIST_ITEM_CONSTANTS.observedAttributes.SELECTED,\n LIST_ITEM_CONSTANTS.observedAttributes.ACTIVE,\n LIST_ITEM_CONSTANTS.observedAttributes.VALUE,\n LIST_ITEM_CONSTANTS.observedAttributes.DENSE,\n LIST_ITEM_CONSTANTS.observedAttributes.PROPAGATE_CLICK,\n LIST_ITEM_CONSTANTS.observedAttributes.INDENTED,\n LIST_ITEM_CONSTANTS.observedAttributes.TWO_LINE,\n LIST_ITEM_CONSTANTS.observedAttributes.THREE_LINE,\n LIST_ITEM_CONSTANTS.observedAttributes.WRAP\n ];\n }\n\n private _foundation: ListItemFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ListItemFoundation(new ListItemAdapter(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 LIST_ITEM_CONSTANTS.observedAttributes.HREF:\n this.href = newValue;\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.TARGET:\n this.target = newValue;\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.DOWNLOAD:\n this.download = newValue;\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.REL:\n this.rel = newValue;\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.NON_INTERACTIVE:\n case LIST_ITEM_CONSTANTS.observedAttributes.STATIC:\n this.nonInteractive = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.VALUE:\n this.value = newValue;\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.PROPAGATE_CLICK:\n this.propagateClick = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.INDENTED:\n this.indented = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.TWO_LINE:\n this.twoLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.THREE_LINE:\n this.threeLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.observedAttributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n }\n }\n\n public override focus(): void {\n this._foundation.setFocus();\n }\n\n @FoundationProperty()\n public declare href: string;\n\n @FoundationProperty()\n public declare target: string;\n\n @FoundationProperty()\n public declare download: string;\n\n @FoundationProperty()\n public declare rel: string;\n\n /** @deprecated Use nonInteractive instead. */\n @FoundationProperty()\n public declare static: boolean;\n\n @FoundationProperty()\n public declare nonInteractive: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare active: boolean;\n\n @FoundationProperty()\n public declare value: unknown;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare propagateClick: boolean;\n\n @FoundationProperty()\n public declare indented: boolean;\n\n @FoundationProperty()\n public declare twoLine: boolean;\n\n @FoundationProperty()\n public declare threeLine: boolean;\n\n @FoundationProperty()\n public declare wrap: boolean;\n\n public override click(): void {\n this._foundation.click();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ListItemComponent } from './list-item';\n\nexport * from './list-item-adapter';\nexport * from './list-item-constants';\nexport * from './list-item-foundation';\nexport * from './list-item';\n\nexport function defineListItemComponent(): void {\n defineCustomElement(ListItemComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "events", "LIST_CONSTANTS", "ListComponentItemRole", "elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "classes", "selectors", "events", "LIST_ITEM_CONSTANTS", "ListItemAdapter", "BaseAdapter", "component", "getShadowElement", "LIST_ITEM_CONSTANTS", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "list", "href", "anchor", "replaceElement", "defaultEl", "target", "download", "rel", "value", "toggleAttribute", "isSelected", "v", "isDeepEqual", "checkable", "force", "currentState", "switchEl", "a", "div", "LIST_CONSTANTS", "_a", "listRole", "role", "ListComponentItemRole", "ListItemFoundation", "_adapter", "evt", "event", "targetElement", "ignoreElement", "LIST_ITEM_CONSTANTS", "data", "value", "isSelected", "template", "styles", "ListItemComponent", "attachShadowTemplate", "ListItemFoundation", "ListItemAdapter", "LIST_ITEM_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "StateLayerComponent", "FocusIndicatorComponent", "defineListItemComponent", "defineCustomElement", "ListItemComponent"]
|
|
7
|
+
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as p,d as w}from"./chunk.7Y3BUR7Q.js";import{a as u,d as k}from"./chunk.QVATEY5S.js";import{c as S}from"./chunk.USTVZ6MZ.js";import{c as R}from"./chunk.GBAVJILM.js";import{a as x,d as U}from"./chunk.GIENHEMN.js";import{a as P}from"./chunk.37B332ZK.js";import{m as N}from"./chunk.J2Y5KPON.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.OLFOVKQG.js";import{a as I,b as L}from"./chunk.VRSPT7WX.js";import{a as B,d as A,g as h,k as C}from"./chunk.LNTTU2GL.js";import{b as g,c as m,r as E}from"./chunk.L4QSPQDE.js";import{h as T,k as l,l as b}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var M=`${L}app-bar-profile-button`,D={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},y=["aria-label","aria-labelledby"],i={elementName:M,attributes:D,forwardedAttributes:y};var _=class extends O{constructor(e){super(e)}get popupElement(){return this._popupElement}initialize(){this._avatarElement=h(this._component,u.elementName),this._iconButtonElement=h(this._component,x.elementName);let e=this._iconButtonElement.getAttribute("aria-labelledby");this._forwardObserver=N(this._component,i.forwardedAttributes,(a,r)=>{a==="aria-labelledby"&&!r&&(r=e),E(this._iconButtonElement,!!r,a,r!=null?r:void 0)})}destroy(){var e;(e=this._forwardObserver)==null||e.disconnect(),this._forwardObserver=void 0,this._popupElement&&(this._popupElement.remove(),this._popupElement=void 0,this._profileCardElement=void 0)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,a,r,F,f){var v;return(v=this._popupElement)!=null&&v.isConnected&&this._popupElement.remove(),this._profileCardElement=document.createElement(p.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarIcon=e.avatarIcon,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(p.events.PROFILE,()=>r()),this._profileCardElement.addEventListener(p.events.SIGN_OUT,()=>F()),f&&this._profileCardElement.appendChild(f),this._popupElement=document.createElement("forge-popover"),this._popupElement.anchorElement=this._iconButtonElement,this._popupElement.placement="bottom-end",this._popupElement.arrow=!0,this._popupElement.persistent=!0,this._popupElement.appendChild(this._profileCardElement),this._component.ownerDocument.body.appendChild(this._popupElement),this._popupElement.open=!0,this._profileCardElement.tabIndex=-1,this._profileCardElement.focus(),g(this._popupElement,()=>{if(!this._popupElement){a();return}!this._popupElement.matches(":focus-within")&&!this._component.matches(":focus-within")&&a()},!0)}async closePopup(){this._popupElement&&(await this._popupElement.hideAsync(),this._popupElement.remove(),this._popupElement=void 0,this._profileCardElement=void 0)}focusButtonElement(){this._iconButtonElement.focus()}setAvatarText(e){this._avatarElement.text=e,m(this._avatarElement)}setAvatarIcon(e){if(e){let a=new P({props:{name:e}});this._avatarElement.replaceChildren(a.element)}else m(this._avatarElement)}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var a;this._profileCardElement&&(this._profileCardElement.signOutText=e,(a=this._popupElement)==null||a.position())}setProfileButtonText(e){var a;this._profileCardElement&&(this._profileCardElement.profileText=e,(a=this._popupElement)==null||a.position())}};var d=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=p.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=p.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=p.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=p.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=this._onClick.bind(this);this._dismissListener=this._onDismiss.bind(this);this._keydownListener=this._onKeydown.bind(this);this._profileButtonListener=this._onProfileButtonClick.bind(this);this._signOutButtonListener=this._onSignOutButtonClick.bind(this)}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._adapter.setAvatarIcon(this._avatarIcon),this._isInitialized=!0}destroy(){this._adapter.removeDocumentListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._adapter.destroy(),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){t.key==="Escape"&&(this._closeDropdown(),this._adapter.focusButtonElement())}_onDismiss(){this._closeDropdown()}_onProfileButtonClick(){this._adapter.dispatchHostEvent(new CustomEvent(p.events.PROFILE,{bubbles:!0,composed:!0})),this._closeDropdown()}_onSignOutButtonClick(){this._adapter.dispatchHostEvent(new CustomEvent(p.events.SIGN_OUT,{bubbles:!0,composed:!0})),this._closeDropdown()}_openDropdown(){if(this._open)return;let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarIcon:this._avatarIcon,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addDocumentListener("keydown",this._keydownListener),this._open=!0,this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open)}_closeDropdown(){this._open&&(this._cancelDismissListener&&T(this._cancelDismissListener)&&(this._cancelDismissListener(),this._cancelDismissListener=void 0),this._open=!1,this._adapter.closePopup(),this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open))}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this.avatarText=this._fullName,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,String(this._avatarLetterCount))))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText)))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t,this._isInitialized&&(this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.toggleHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){t=!!t,this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get popupElement(){return this._adapter.popupElement}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var H='<template><forge-icon-button><forge-avatar aria-hidden="true"></forge-avatar></forge-icon-button><forge-tooltip type="label" placement="bottom">View profile</forge-tooltip></template>',o=class extends C{constructor(){super();this._foundation=new d(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){A(this,H)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,a,r){switch(e){case i.attributes.FULL_NAME:this.fullName=r;break;case i.attributes.EMAIL:this.email=r;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=r;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=b(r);break;case i.attributes.AVATAR_TEXT:this.avatarText=r;break;case i.attributes.AVATAR_ICON:this.avatarIcon=r;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=l(r);break;case i.attributes.PROFILE_BUTTON:this.profileButton=l(r);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=r;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=r;break;case i.attributes.OPEN:this.open=l(r);break}}get popupElement(){return this._foundation.popupElement}};n([s()],o.prototype,"fullName",2),n([s()],o.prototype,"email",2),n([s()],o.prototype,"avatarImageUrl",2),n([s()],o.prototype,"avatarLetterCount",2),n([s()],o.prototype,"avatarText",2),n([s()],o.prototype,"avatarIcon",2),n([s()],o.prototype,"signOutButton",2),n([s()],o.prototype,"profileButton",2),n([s()],o.prototype,"signOutButtonText",2),n([s()],o.prototype,"profileButtonText",2),n([s()],o.prototype,"open",2),n([s()],o.prototype,"profileCardBuilder",2),o=n([I({name:i.elementName,dependencies:[S,w,U,k,R]})],o);function Nt(){B(o)}export{i as a,_ as b,d as c,o as d,Nt as e};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as p,d as w}from"./chunk.EBRMG6N3.js";import{a as u,d as k}from"./chunk.3S3NH5P4.js";import{c as S}from"./chunk.345JBXIL.js";import{c as R}from"./chunk.VAE5IFEM.js";import{a as x,d as U}from"./chunk.TR45SGWL.js";import{a as P}from"./chunk.HSNVTV7K.js";import{m as N}from"./chunk.J2Y5KPON.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.OLFOVKQG.js";import{a as I,b as L}from"./chunk.5OT53ZJM.js";import{a as B,d as A,g as h,k as C}from"./chunk.LNTTU2GL.js";import{b as g,c as m,r as E}from"./chunk.L4QSPQDE.js";import{h as T,k as l,l as b}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var M=`${L}app-bar-profile-button`,D={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},y=["aria-label","aria-labelledby"],i={elementName:M,attributes:D,forwardedAttributes:y};var _=class extends O{constructor(e){super(e)}get popupElement(){return this._popupElement}initialize(){this._avatarElement=h(this._component,u.elementName),this._iconButtonElement=h(this._component,x.elementName);let e=this._iconButtonElement.getAttribute("aria-labelledby");this._forwardObserver=N(this._component,i.forwardedAttributes,(a,r)=>{a==="aria-labelledby"&&!r&&(r=e),E(this._iconButtonElement,!!r,a,r!=null?r:void 0)})}destroy(){var e;(e=this._forwardObserver)==null||e.disconnect(),this._forwardObserver=void 0,this._popupElement&&(this._popupElement.remove(),this._popupElement=void 0,this._profileCardElement=void 0)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,a,r,F,f){var v;return(v=this._popupElement)!=null&&v.isConnected&&this._popupElement.remove(),this._profileCardElement=document.createElement(p.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarIcon=e.avatarIcon,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(p.events.PROFILE,()=>r()),this._profileCardElement.addEventListener(p.events.SIGN_OUT,()=>F()),f&&this._profileCardElement.appendChild(f),this._popupElement=document.createElement("forge-popover"),this._popupElement.anchorElement=this._iconButtonElement,this._popupElement.placement="bottom-end",this._popupElement.arrow=!0,this._popupElement.persistent=!0,this._popupElement.appendChild(this._profileCardElement),this._component.ownerDocument.body.appendChild(this._popupElement),this._popupElement.open=!0,this._profileCardElement.tabIndex=-1,this._profileCardElement.focus(),g(this._popupElement,()=>{if(!this._popupElement){a();return}!this._popupElement.matches(":focus-within")&&!this._component.matches(":focus-within")&&a()},!0)}async closePopup(){this._popupElement&&(await this._popupElement.hideAsync(),this._popupElement.remove(),this._popupElement=void 0,this._profileCardElement=void 0)}focusButtonElement(){this._iconButtonElement.focus()}setAvatarText(e){this._avatarElement.text=e,m(this._avatarElement)}setAvatarIcon(e){if(e){let a=new P({props:{name:e}});this._avatarElement.replaceChildren(a.element)}else m(this._avatarElement)}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var a;this._profileCardElement&&(this._profileCardElement.signOutText=e,(a=this._popupElement)==null||a.position())}setProfileButtonText(e){var a;this._profileCardElement&&(this._profileCardElement.profileText=e,(a=this._popupElement)==null||a.position())}};var d=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=p.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=p.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=p.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=p.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=this._onClick.bind(this);this._dismissListener=this._onDismiss.bind(this);this._keydownListener=this._onKeydown.bind(this);this._profileButtonListener=this._onProfileButtonClick.bind(this);this._signOutButtonListener=this._onSignOutButtonClick.bind(this)}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._adapter.setAvatarIcon(this._avatarIcon),this._isInitialized=!0}destroy(){this._adapter.removeDocumentListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._adapter.destroy(),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){t.key==="Escape"&&(this._closeDropdown(),this._adapter.focusButtonElement())}_onDismiss(){this._closeDropdown()}_onProfileButtonClick(){this._adapter.dispatchHostEvent(new CustomEvent(p.events.PROFILE,{bubbles:!0,composed:!0})),this._closeDropdown()}_onSignOutButtonClick(){this._adapter.dispatchHostEvent(new CustomEvent(p.events.SIGN_OUT,{bubbles:!0,composed:!0})),this._closeDropdown()}_openDropdown(){if(this._open)return;let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarIcon:this._avatarIcon,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addDocumentListener("keydown",this._keydownListener),this._open=!0,this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open)}_closeDropdown(){this._open&&(this._cancelDismissListener&&T(this._cancelDismissListener)&&(this._cancelDismissListener(),this._cancelDismissListener=void 0),this._open=!1,this._adapter.closePopup(),this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open))}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this.avatarText=this._fullName,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,String(this._avatarLetterCount))))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText)))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t,this._isInitialized&&(this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.toggleHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){t=!!t,this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get popupElement(){return this._adapter.popupElement}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var H='<template><forge-icon-button><forge-avatar aria-hidden="true"></forge-avatar></forge-icon-button><forge-tooltip type="label" placement="bottom">View profile</forge-tooltip></template>',o=class extends C{constructor(){super();this._foundation=new d(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){A(this,H)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,a,r){switch(e){case i.attributes.FULL_NAME:this.fullName=r;break;case i.attributes.EMAIL:this.email=r;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=r;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=b(r);break;case i.attributes.AVATAR_TEXT:this.avatarText=r;break;case i.attributes.AVATAR_ICON:this.avatarIcon=r;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=l(r);break;case i.attributes.PROFILE_BUTTON:this.profileButton=l(r);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=r;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=r;break;case i.attributes.OPEN:this.open=l(r);break}}get popupElement(){return this._foundation.popupElement}};n([s()],o.prototype,"fullName",2),n([s()],o.prototype,"email",2),n([s()],o.prototype,"avatarImageUrl",2),n([s()],o.prototype,"avatarLetterCount",2),n([s()],o.prototype,"avatarText",2),n([s()],o.prototype,"avatarIcon",2),n([s()],o.prototype,"signOutButton",2),n([s()],o.prototype,"profileButton",2),n([s()],o.prototype,"signOutButtonText",2),n([s()],o.prototype,"profileButtonText",2),n([s()],o.prototype,"open",2),n([s()],o.prototype,"profileCardBuilder",2),o=n([I({name:i.elementName,dependencies:[S,w,U,k,R]})],o);function Nt(){B(o)}export{i as a,_ as b,d as c,o as d,Nt as e};
|
|
7
|
+
//# sourceMappingURL=chunk.X5MI5OFS.js.map
|