@synergy-design-system/components 3.14.0 → 3.15.1
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/README.md +84 -2
- package/dist/chunks/{chunk.PKI5G2BK.js → chunk.2ICMQHK2.js} +2 -2
- package/dist/chunks/{chunk.VUIJVW2Q.js → chunk.2QJN274R.js} +13 -13
- package/dist/chunks/{chunk.CRFIJO63.js → chunk.3ET6VFFM.js} +2 -2
- package/dist/chunks/{chunk.SDAD3TIZ.js → chunk.3SWPHSWX.js} +2 -2
- package/dist/chunks/{chunk.KI5VDJAL.js → chunk.4E5YHPM6.js} +9 -9
- package/dist/chunks/{chunk.KEWOYD7U.js → chunk.4NOC74ME.js} +2 -2
- package/dist/chunks/{chunk.LHT3EV6M.js → chunk.4OIWU6V3.js} +2 -2
- package/dist/chunks/{chunk.5KYKNKXK.js → chunk.4UNKGNWY.js} +2 -2
- package/dist/chunks/{chunk.73JTC3OL.js → chunk.52CE6GAX.js} +2 -2
- package/dist/chunks/{chunk.UYTYFCZO.js → chunk.5PNZHX46.js} +2 -2
- package/dist/chunks/{chunk.MLW6J2PI.js → chunk.5PUONAZP.js} +2 -2
- package/dist/chunks/{chunk.IMFHPXZV.js → chunk.672U24GD.js} +2 -2
- package/dist/chunks/{chunk.Q462PIAC.js → chunk.7CPWT4JW.js} +2 -2
- package/dist/chunks/{chunk.VICY5B3Y.js → chunk.7GUN5FTB.js} +2 -2
- package/dist/chunks/{chunk.4OSNBR72.js → chunk.7GVHLAPF.js} +17 -17
- package/dist/chunks/{chunk.244QNZMJ.js → chunk.7NW3UNQH.js} +2 -2
- package/dist/chunks/{chunk.66QNJSLF.js → chunk.7W55HRDH.js} +2 -2
- package/dist/chunks/{chunk.I4Z5TIK5.js → chunk.7WBNGACU.js} +2 -2
- package/dist/chunks/{chunk.42C7SFEG.js → chunk.ASYOUIIA.js} +8 -8
- package/dist/chunks/{chunk.YUWPQV2J.js → chunk.ATXXETUW.js} +6 -6
- package/dist/chunks/{chunk.KPAGL3JH.js → chunk.BK4L5JTZ.js} +2 -2
- package/dist/chunks/{chunk.TV7RAXV6.js → chunk.BKK3LZIE.js} +2 -2
- package/dist/chunks/{chunk.QEELQI3B.js → chunk.BW4PBG4C.js} +2 -2
- package/dist/chunks/{chunk.NP7ZR5HF.js → chunk.C7M5UTLM.js} +2 -2
- package/dist/chunks/{chunk.EXQNCNEL.js → chunk.CIR3MZ3J.js} +2 -2
- package/dist/chunks/{chunk.O6IOGX2G.js → chunk.CWADFVTW.js} +12 -12
- package/dist/chunks/{chunk.RXGMDDX4.js → chunk.DG7N2GPP.js} +2 -2
- package/dist/chunks/{chunk.KDW4KG7L.js → chunk.DZU5IHW5.js} +2 -2
- package/dist/chunks/{chunk.NLFERVI7.js → chunk.EE2T4DI3.js} +2 -2
- package/dist/chunks/{chunk.XH5QCNSL.js → chunk.EHQPWQIP.js} +2 -2
- package/dist/chunks/{chunk.K47UDTAJ.js → chunk.ELOOAXBS.js} +10 -10
- package/dist/chunks/{chunk.ITZAD4HQ.js → chunk.EOFEAQAT.js} +2 -2
- package/dist/chunks/{chunk.G3CHXAEJ.js → chunk.HJVKBMLH.js} +2 -2
- package/dist/chunks/{chunk.5HOJNW7M.js → chunk.HTYK7AJW.js} +9 -9
- package/dist/chunks/{chunk.XUI5ISF3.js → chunk.HWHC6OI3.js} +2 -2
- package/dist/chunks/{chunk.234CRR27.js → chunk.IT2TKYM7.js} +2 -2
- package/dist/chunks/{chunk.GMCTWMH3.js → chunk.IYXZ2SMF.js} +7 -7
- package/dist/chunks/{chunk.7GSNTJ3J.js → chunk.JFERWFTG.js} +2 -2
- package/dist/chunks/{chunk.RASMI2WO.js → chunk.JJCL4WAB.js} +5 -5
- package/dist/chunks/{chunk.VKBFEDS6.js → chunk.K2PFFMHF.js} +2 -2
- package/dist/chunks/{chunk.A4I33Y6H.js → chunk.K3CXMAMI.js} +2 -2
- package/dist/chunks/{chunk.SSNYL7AZ.js → chunk.KCVQZ4BE.js} +2 -2
- package/dist/chunks/chunk.KPO6RJLG.js +20 -0
- package/dist/chunks/chunk.KPO6RJLG.js.map +7 -0
- package/dist/chunks/{chunk.OVS5YCLG.js → chunk.KRMDIBND.js} +2 -2
- package/dist/chunks/{chunk.HXQ3Q22D.js → chunk.LRFQWF2J.js} +2 -2
- package/dist/chunks/{chunk.NXIQ25W4.js → chunk.M3HEPL2F.js} +1 -9
- package/dist/chunks/{chunk.NXIQ25W4.js.map → chunk.M3HEPL2F.js.map} +2 -2
- package/dist/chunks/chunk.M3K2Q7WJ.js +142 -0
- package/dist/chunks/chunk.M3K2Q7WJ.js.map +7 -0
- package/dist/chunks/{chunk.BLR7KKUM.js → chunk.M5MQJOPS.js} +2 -2
- package/dist/chunks/{chunk.O5XZM45U.js → chunk.MET45KSE.js} +3 -3
- package/dist/chunks/{chunk.JQZRVTI3.js → chunk.MJYLGANL.js} +3 -3
- package/dist/chunks/{chunk.KC4SP6UE.js → chunk.N5KGL3GC.js} +2 -2
- package/dist/chunks/{chunk.N7DY6HOE.js → chunk.N6MOQ6B5.js} +8 -8
- package/dist/chunks/{chunk.KYHWQEEI.js → chunk.NPCR7UVQ.js} +5 -5
- package/dist/chunks/{chunk.OTXTNYRJ.js → chunk.OEYLCJ7N.js} +6 -6
- package/dist/chunks/{chunk.JNKPQ22W.js → chunk.OGHUH4RS.js} +3 -3
- package/dist/chunks/{chunk.4BS6CBRX.js → chunk.OIAQHRZR.js} +8 -14
- package/dist/chunks/chunk.OIAQHRZR.js.map +7 -0
- package/dist/chunks/{chunk.FJLIZ7EH.js → chunk.OJDJ5NGZ.js} +2 -2
- package/dist/chunks/{chunk.PKPJXZNO.js → chunk.P5U27SXU.js} +2 -2
- package/dist/chunks/{chunk.NB7NQ6ZJ.js → chunk.PHR6O2TK.js} +17 -17
- package/dist/chunks/{chunk.GBWQCBER.js → chunk.PVIVA2RW.js} +2 -2
- package/dist/chunks/{chunk.3GCIZUDQ.js → chunk.Q3QSOXKM.js} +2 -2
- package/dist/chunks/{chunk.LJLE6S7K.js → chunk.QKDPTEYP.js} +2 -2
- package/dist/chunks/{chunk.FZ3YJGQZ.js → chunk.R2K2SDDU.js} +2 -2
- package/dist/chunks/{chunk.NLK6U5GU.js → chunk.R6HOFUDS.js} +9 -9
- package/dist/chunks/{chunk.FVOA7OCQ.js → chunk.R7DCOYSA.js} +2 -2
- package/dist/chunks/{chunk.ZXI2ZVNR.js → chunk.RANSYZYC.js} +2 -2
- package/dist/chunks/{chunk.6JPV7IDA.js → chunk.RFDAYKRC.js} +2 -2
- package/dist/chunks/{chunk.5XISXZ24.js → chunk.RGPTWKCY.js} +2 -2
- package/dist/chunks/{chunk.T4L342TL.js → chunk.RKAIJDOM.js} +3 -3
- package/dist/chunks/{chunk.AVHIO6QX.js → chunk.SDC2FVNL.js} +5 -5
- package/dist/chunks/{chunk.XBW7Z2RY.js → chunk.SUL6IWF7.js} +2 -2
- package/dist/chunks/{chunk.K7MD7OW2.js → chunk.T2BDECHP.js} +6 -6
- package/dist/chunks/{chunk.VFXNG3S7.js → chunk.T6GT575U.js} +2 -2
- package/dist/chunks/{chunk.DXWCV5LF.js → chunk.T6JI76WU.js} +8 -8
- package/dist/chunks/{chunk.NYRH7CY4.js → chunk.TAS6WBOB.js} +13 -13
- package/dist/chunks/{chunk.C7LDSA6N.js → chunk.TIRGUR3V.js} +5 -5
- package/dist/chunks/{chunk.LUVQR5GV.js → chunk.TS65LJ5O.js} +6 -6
- package/dist/chunks/{chunk.KHHMKU5F.js → chunk.U5BNYIGY.js} +2 -2
- package/dist/chunks/{chunk.TKQ3JMIQ.js → chunk.UGUHHPHS.js} +2 -2
- package/dist/chunks/{chunk.LQSKCZDZ.js → chunk.UH52IQFZ.js} +2 -2
- package/dist/chunks/{chunk.M3E33KXI.js → chunk.UJBDQHXK.js} +13 -13
- package/dist/chunks/{chunk.2DIJ66WQ.js → chunk.ULEMFOWH.js} +4 -4
- package/dist/chunks/{chunk.6OB6RYPM.js → chunk.UQMYXB35.js} +2 -2
- package/dist/chunks/{chunk.7GDKE5DX.js → chunk.UTG3I2RF.js} +14 -14
- package/dist/chunks/{chunk.EMJFLRJX.js → chunk.UYUCPG3J.js} +2 -2
- package/dist/chunks/chunk.VJIXW4Z5.js +166 -0
- package/dist/chunks/chunk.VJIXW4Z5.js.map +7 -0
- package/dist/chunks/{chunk.PSAFHY7P.js → chunk.W5XDOOIR.js} +3 -3
- package/dist/chunks/{chunk.OIZEJYK7.js → chunk.WFPTZ3W7.js} +55 -29
- package/dist/chunks/chunk.WFPTZ3W7.js.map +7 -0
- package/dist/chunks/{chunk.RLWMJ7ST.js → chunk.WP2OIWA5.js} +2 -2
- package/dist/chunks/{chunk.YAXXSDKF.js → chunk.WTJCFKLR.js} +2 -2
- package/dist/chunks/{chunk.BC532CB6.js → chunk.WUGCLTH6.js} +78 -1
- package/dist/chunks/chunk.WUGCLTH6.js.map +7 -0
- package/dist/chunks/{chunk.ZJRSA6FU.js → chunk.WWJFXCJ7.js} +2 -2
- package/dist/chunks/{chunk.TTCMP7MI.js → chunk.X72G6ASQ.js} +9 -9
- package/dist/chunks/{chunk.TYSWA3XY.js → chunk.XT6UCMCP.js} +2 -2
- package/dist/chunks/{chunk.UISWB5WE.js → chunk.YBXR5HES.js} +2 -2
- package/dist/chunks/{chunk.UISWB5WE.js.map → chunk.YBXR5HES.js.map} +1 -1
- package/dist/chunks/{chunk.ZT47ZFJC.js → chunk.YEVEQT3G.js} +3 -3
- package/dist/chunks/{chunk.S3SB2L64.js → chunk.YJPWGTIA.js} +2 -2
- package/dist/chunks/{chunk.ZQZGMCRB.js → chunk.YT4ZXOLI.js} +2 -2
- package/dist/chunks/{chunk.X7M4AZCK.js → chunk.Z3WWZV5J.js} +8 -8
- package/dist/chunks/{chunk.QGVMPPJU.js → chunk.Z4LFYYMX.js} +5 -5
- package/dist/chunks/{chunk.LLRGAMEA.js → chunk.ZGUUEAVE.js} +2 -2
- package/dist/chunks/{chunk.HA4TRDJB.js → chunk.ZJSLHMYK.js} +18 -18
- package/dist/chunks/{chunk.QATINK6D.js → chunk.ZPWGYTRR.js} +30 -30
- package/dist/chunks/{chunk.7ZCFVUIZ.js → chunk.ZTKX2YB4.js} +2 -2
- package/dist/components/accordion/accordion.component.js +4 -4
- package/dist/components/accordion/accordion.js +5 -5
- package/dist/components/alert/alert.component.js +14 -14
- package/dist/components/alert/alert.js +15 -15
- package/dist/components/badge/badge.component.js +6 -6
- package/dist/components/badge/badge.js +7 -7
- package/dist/components/breadcrumb/breadcrumb.component.js +5 -5
- package/dist/components/breadcrumb/breadcrumb.js +6 -6
- package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
- package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
- package/dist/components/button/button.component.js +11 -11
- package/dist/components/button/button.js +12 -12
- package/dist/components/button-group/button-group.component.js +2 -2
- package/dist/components/button-group/button-group.js +3 -3
- package/dist/components/card/card.component.js +2 -2
- package/dist/components/card/card.js +3 -3
- package/dist/components/chart/chart.component.d.ts +86 -0
- package/dist/components/chart/chart.component.js +12 -0
- package/dist/components/chart/chart.component.js.map +7 -0
- package/dist/components/chart/chart.d.ts +8 -0
- package/dist/components/chart/chart.js +16 -0
- package/dist/components/chart/chart.js.map +7 -0
- package/dist/components/chart/chart.palettes.d.ts +12 -0
- package/dist/components/chart/chart.palettes.js +8 -0
- package/dist/components/chart/chart.palettes.js.map +7 -0
- package/dist/components/chart/chart.styles.d.ts +2 -0
- package/dist/components/chart/chart.styles.js +8 -0
- package/dist/components/chart/chart.styles.js.map +7 -0
- package/dist/components/chart/types.d.ts +3 -0
- package/dist/components/chart/types.js +1 -0
- package/dist/components/chart/types.js.map +7 -0
- package/dist/components/checkbox/checkbox.component.js +6 -6
- package/dist/components/checkbox/checkbox.js +7 -7
- package/dist/components/combobox/combobox.component.js +24 -24
- package/dist/components/combobox/combobox.js +25 -25
- package/dist/components/details/details.component.js +11 -11
- package/dist/components/details/details.js +12 -12
- package/dist/components/dialog/dialog.component.js +14 -14
- package/dist/components/dialog/dialog.js +15 -15
- package/dist/components/divider/divider.component.js +2 -2
- package/dist/components/divider/divider.js +3 -3
- package/dist/components/drawer/drawer.component.js +14 -14
- package/dist/components/drawer/drawer.js +15 -15
- package/dist/components/dropdown/dropdown.component.js +3 -3
- package/dist/components/dropdown/dropdown.js +4 -4
- package/dist/components/file/file.component.js +16 -16
- package/dist/components/file/file.js +17 -17
- package/dist/components/header/header.component.js +3 -3
- package/dist/components/header/header.js +4 -4
- package/dist/components/icon/icon.component.js +2 -2
- package/dist/components/icon/icon.js +3 -3
- package/dist/components/icon-button/icon-button.component.js +5 -5
- package/dist/components/icon-button/icon-button.js +6 -6
- package/dist/components/input/input.component.js +10 -10
- package/dist/components/input/input.js +11 -11
- package/dist/components/menu/menu.component.d.ts +4 -0
- package/dist/components/menu/menu.component.js +3 -3
- package/dist/components/menu/menu.js +4 -4
- package/dist/components/menu/menu.styles.js +1 -1
- package/dist/components/menu-item/menu-item.component.d.ts +0 -1
- package/dist/components/menu-item/menu-item.component.js +7 -7
- package/dist/components/menu-item/menu-item.js +8 -8
- package/dist/components/menu-item/submenu-controller.d.ts +10 -0
- package/dist/components/menu-item/submenu-controller.js +1 -1
- package/dist/components/menu-label/menu-label.component.js +3 -3
- package/dist/components/menu-label/menu-label.js +4 -4
- package/dist/components/nav-item/nav-item.component.js +4 -4
- package/dist/components/nav-item/nav-item.js +5 -5
- package/dist/components/optgroup/optgroup.component.js +3 -3
- package/dist/components/optgroup/optgroup.js +4 -4
- package/dist/components/option/option.component.js +8 -8
- package/dist/components/option/option.js +9 -9
- package/dist/components/pagination/pagination.component.js +30 -30
- package/dist/components/pagination/pagination.js +31 -31
- package/dist/components/popup/popup.component.js +2 -2
- package/dist/components/popup/popup.js +3 -3
- package/dist/components/prio-nav/prio-nav.component.js +16 -16
- package/dist/components/prio-nav/prio-nav.js +17 -17
- package/dist/components/progress-bar/progress-bar.component.js +2 -2
- package/dist/components/progress-bar/progress-bar.js +3 -3
- package/dist/components/progress-ring/progress-ring.component.js +2 -2
- package/dist/components/progress-ring/progress-ring.js +3 -3
- package/dist/components/radio/radio.component.js +5 -5
- package/dist/components/radio/radio.js +6 -6
- package/dist/components/radio-button/radio-button.component.js +3 -3
- package/dist/components/radio-button/radio-button.js +4 -4
- package/dist/components/radio-group/radio-group.component.js +6 -6
- package/dist/components/radio-group/radio-group.js +7 -7
- package/dist/components/range/range.component.js +12 -12
- package/dist/components/range/range.js +13 -13
- package/dist/components/range-tick/range-tick.component.js +2 -2
- package/dist/components/range-tick/range-tick.js +3 -3
- package/dist/components/resize-observer/resize-observer.component.js +2 -2
- package/dist/components/select/select.component.js +19 -19
- package/dist/components/select/select.js +20 -20
- package/dist/components/side-nav/side-nav.component.js +19 -19
- package/dist/components/side-nav/side-nav.js +20 -20
- package/dist/components/spinner/spinner.component.js +2 -2
- package/dist/components/spinner/spinner.js +3 -3
- package/dist/components/switch/switch.component.js +3 -3
- package/dist/components/switch/switch.js +4 -4
- package/dist/components/tab/tab.component.js +9 -9
- package/dist/components/tab/tab.js +10 -10
- package/dist/components/tab-group/tab-group.component.js +12 -12
- package/dist/components/tab-group/tab-group.js +13 -13
- package/dist/components/tab-panel/tab-panel.component.js +2 -2
- package/dist/components/tab-panel/tab-panel.js +3 -3
- package/dist/components/tag/tag.component.js +9 -9
- package/dist/components/tag/tag.js +10 -10
- package/dist/components/tag-group/tag-group.component.js +3 -3
- package/dist/components/tag-group/tag-group.js +4 -4
- package/dist/components/textarea/textarea.component.js +4 -4
- package/dist/components/textarea/textarea.js +5 -5
- package/dist/components/tooltip/tooltip.component.js +4 -4
- package/dist/components/tooltip/tooltip.js +5 -5
- package/dist/components/validate/utility.js +2 -2
- package/dist/components/validate/validate.component.js +21 -21
- package/dist/components/validate/validate.js +22 -22
- package/dist/custom-elements.json +1730 -1567
- package/dist/styles/fouc.css +1 -0
- package/dist/styles/index.css +2 -1
- package/dist/synergy.js +243 -243
- package/dist/vscode.html-custom-data.json +164 -147
- package/package.json +9 -6
- package/dist/chunks/chunk.4BS6CBRX.js.map +0 -7
- package/dist/chunks/chunk.BC532CB6.js.map +0 -7
- package/dist/chunks/chunk.OIZEJYK7.js.map +0 -7
- /package/dist/chunks/{chunk.PKI5G2BK.js.map → chunk.2ICMQHK2.js.map} +0 -0
- /package/dist/chunks/{chunk.VUIJVW2Q.js.map → chunk.2QJN274R.js.map} +0 -0
- /package/dist/chunks/{chunk.CRFIJO63.js.map → chunk.3ET6VFFM.js.map} +0 -0
- /package/dist/chunks/{chunk.SDAD3TIZ.js.map → chunk.3SWPHSWX.js.map} +0 -0
- /package/dist/chunks/{chunk.KI5VDJAL.js.map → chunk.4E5YHPM6.js.map} +0 -0
- /package/dist/chunks/{chunk.KEWOYD7U.js.map → chunk.4NOC74ME.js.map} +0 -0
- /package/dist/chunks/{chunk.LHT3EV6M.js.map → chunk.4OIWU6V3.js.map} +0 -0
- /package/dist/chunks/{chunk.5KYKNKXK.js.map → chunk.4UNKGNWY.js.map} +0 -0
- /package/dist/chunks/{chunk.73JTC3OL.js.map → chunk.52CE6GAX.js.map} +0 -0
- /package/dist/chunks/{chunk.UYTYFCZO.js.map → chunk.5PNZHX46.js.map} +0 -0
- /package/dist/chunks/{chunk.MLW6J2PI.js.map → chunk.5PUONAZP.js.map} +0 -0
- /package/dist/chunks/{chunk.IMFHPXZV.js.map → chunk.672U24GD.js.map} +0 -0
- /package/dist/chunks/{chunk.Q462PIAC.js.map → chunk.7CPWT4JW.js.map} +0 -0
- /package/dist/chunks/{chunk.VICY5B3Y.js.map → chunk.7GUN5FTB.js.map} +0 -0
- /package/dist/chunks/{chunk.4OSNBR72.js.map → chunk.7GVHLAPF.js.map} +0 -0
- /package/dist/chunks/{chunk.244QNZMJ.js.map → chunk.7NW3UNQH.js.map} +0 -0
- /package/dist/chunks/{chunk.66QNJSLF.js.map → chunk.7W55HRDH.js.map} +0 -0
- /package/dist/chunks/{chunk.I4Z5TIK5.js.map → chunk.7WBNGACU.js.map} +0 -0
- /package/dist/chunks/{chunk.42C7SFEG.js.map → chunk.ASYOUIIA.js.map} +0 -0
- /package/dist/chunks/{chunk.YUWPQV2J.js.map → chunk.ATXXETUW.js.map} +0 -0
- /package/dist/chunks/{chunk.KPAGL3JH.js.map → chunk.BK4L5JTZ.js.map} +0 -0
- /package/dist/chunks/{chunk.TV7RAXV6.js.map → chunk.BKK3LZIE.js.map} +0 -0
- /package/dist/chunks/{chunk.QEELQI3B.js.map → chunk.BW4PBG4C.js.map} +0 -0
- /package/dist/chunks/{chunk.NP7ZR5HF.js.map → chunk.C7M5UTLM.js.map} +0 -0
- /package/dist/chunks/{chunk.EXQNCNEL.js.map → chunk.CIR3MZ3J.js.map} +0 -0
- /package/dist/chunks/{chunk.O6IOGX2G.js.map → chunk.CWADFVTW.js.map} +0 -0
- /package/dist/chunks/{chunk.RXGMDDX4.js.map → chunk.DG7N2GPP.js.map} +0 -0
- /package/dist/chunks/{chunk.KDW4KG7L.js.map → chunk.DZU5IHW5.js.map} +0 -0
- /package/dist/chunks/{chunk.NLFERVI7.js.map → chunk.EE2T4DI3.js.map} +0 -0
- /package/dist/chunks/{chunk.XH5QCNSL.js.map → chunk.EHQPWQIP.js.map} +0 -0
- /package/dist/chunks/{chunk.K47UDTAJ.js.map → chunk.ELOOAXBS.js.map} +0 -0
- /package/dist/chunks/{chunk.ITZAD4HQ.js.map → chunk.EOFEAQAT.js.map} +0 -0
- /package/dist/chunks/{chunk.G3CHXAEJ.js.map → chunk.HJVKBMLH.js.map} +0 -0
- /package/dist/chunks/{chunk.5HOJNW7M.js.map → chunk.HTYK7AJW.js.map} +0 -0
- /package/dist/chunks/{chunk.XUI5ISF3.js.map → chunk.HWHC6OI3.js.map} +0 -0
- /package/dist/chunks/{chunk.234CRR27.js.map → chunk.IT2TKYM7.js.map} +0 -0
- /package/dist/chunks/{chunk.GMCTWMH3.js.map → chunk.IYXZ2SMF.js.map} +0 -0
- /package/dist/chunks/{chunk.7GSNTJ3J.js.map → chunk.JFERWFTG.js.map} +0 -0
- /package/dist/chunks/{chunk.RASMI2WO.js.map → chunk.JJCL4WAB.js.map} +0 -0
- /package/dist/chunks/{chunk.VKBFEDS6.js.map → chunk.K2PFFMHF.js.map} +0 -0
- /package/dist/chunks/{chunk.A4I33Y6H.js.map → chunk.K3CXMAMI.js.map} +0 -0
- /package/dist/chunks/{chunk.SSNYL7AZ.js.map → chunk.KCVQZ4BE.js.map} +0 -0
- /package/dist/chunks/{chunk.OVS5YCLG.js.map → chunk.KRMDIBND.js.map} +0 -0
- /package/dist/chunks/{chunk.HXQ3Q22D.js.map → chunk.LRFQWF2J.js.map} +0 -0
- /package/dist/chunks/{chunk.BLR7KKUM.js.map → chunk.M5MQJOPS.js.map} +0 -0
- /package/dist/chunks/{chunk.O5XZM45U.js.map → chunk.MET45KSE.js.map} +0 -0
- /package/dist/chunks/{chunk.JQZRVTI3.js.map → chunk.MJYLGANL.js.map} +0 -0
- /package/dist/chunks/{chunk.KC4SP6UE.js.map → chunk.N5KGL3GC.js.map} +0 -0
- /package/dist/chunks/{chunk.N7DY6HOE.js.map → chunk.N6MOQ6B5.js.map} +0 -0
- /package/dist/chunks/{chunk.KYHWQEEI.js.map → chunk.NPCR7UVQ.js.map} +0 -0
- /package/dist/chunks/{chunk.OTXTNYRJ.js.map → chunk.OEYLCJ7N.js.map} +0 -0
- /package/dist/chunks/{chunk.JNKPQ22W.js.map → chunk.OGHUH4RS.js.map} +0 -0
- /package/dist/chunks/{chunk.FJLIZ7EH.js.map → chunk.OJDJ5NGZ.js.map} +0 -0
- /package/dist/chunks/{chunk.PKPJXZNO.js.map → chunk.P5U27SXU.js.map} +0 -0
- /package/dist/chunks/{chunk.NB7NQ6ZJ.js.map → chunk.PHR6O2TK.js.map} +0 -0
- /package/dist/chunks/{chunk.GBWQCBER.js.map → chunk.PVIVA2RW.js.map} +0 -0
- /package/dist/chunks/{chunk.3GCIZUDQ.js.map → chunk.Q3QSOXKM.js.map} +0 -0
- /package/dist/chunks/{chunk.LJLE6S7K.js.map → chunk.QKDPTEYP.js.map} +0 -0
- /package/dist/chunks/{chunk.FZ3YJGQZ.js.map → chunk.R2K2SDDU.js.map} +0 -0
- /package/dist/chunks/{chunk.NLK6U5GU.js.map → chunk.R6HOFUDS.js.map} +0 -0
- /package/dist/chunks/{chunk.FVOA7OCQ.js.map → chunk.R7DCOYSA.js.map} +0 -0
- /package/dist/chunks/{chunk.ZXI2ZVNR.js.map → chunk.RANSYZYC.js.map} +0 -0
- /package/dist/chunks/{chunk.6JPV7IDA.js.map → chunk.RFDAYKRC.js.map} +0 -0
- /package/dist/chunks/{chunk.5XISXZ24.js.map → chunk.RGPTWKCY.js.map} +0 -0
- /package/dist/chunks/{chunk.T4L342TL.js.map → chunk.RKAIJDOM.js.map} +0 -0
- /package/dist/chunks/{chunk.AVHIO6QX.js.map → chunk.SDC2FVNL.js.map} +0 -0
- /package/dist/chunks/{chunk.XBW7Z2RY.js.map → chunk.SUL6IWF7.js.map} +0 -0
- /package/dist/chunks/{chunk.K7MD7OW2.js.map → chunk.T2BDECHP.js.map} +0 -0
- /package/dist/chunks/{chunk.VFXNG3S7.js.map → chunk.T6GT575U.js.map} +0 -0
- /package/dist/chunks/{chunk.DXWCV5LF.js.map → chunk.T6JI76WU.js.map} +0 -0
- /package/dist/chunks/{chunk.NYRH7CY4.js.map → chunk.TAS6WBOB.js.map} +0 -0
- /package/dist/chunks/{chunk.C7LDSA6N.js.map → chunk.TIRGUR3V.js.map} +0 -0
- /package/dist/chunks/{chunk.LUVQR5GV.js.map → chunk.TS65LJ5O.js.map} +0 -0
- /package/dist/chunks/{chunk.KHHMKU5F.js.map → chunk.U5BNYIGY.js.map} +0 -0
- /package/dist/chunks/{chunk.TKQ3JMIQ.js.map → chunk.UGUHHPHS.js.map} +0 -0
- /package/dist/chunks/{chunk.LQSKCZDZ.js.map → chunk.UH52IQFZ.js.map} +0 -0
- /package/dist/chunks/{chunk.M3E33KXI.js.map → chunk.UJBDQHXK.js.map} +0 -0
- /package/dist/chunks/{chunk.2DIJ66WQ.js.map → chunk.ULEMFOWH.js.map} +0 -0
- /package/dist/chunks/{chunk.6OB6RYPM.js.map → chunk.UQMYXB35.js.map} +0 -0
- /package/dist/chunks/{chunk.7GDKE5DX.js.map → chunk.UTG3I2RF.js.map} +0 -0
- /package/dist/chunks/{chunk.EMJFLRJX.js.map → chunk.UYUCPG3J.js.map} +0 -0
- /package/dist/chunks/{chunk.PSAFHY7P.js.map → chunk.W5XDOOIR.js.map} +0 -0
- /package/dist/chunks/{chunk.RLWMJ7ST.js.map → chunk.WP2OIWA5.js.map} +0 -0
- /package/dist/chunks/{chunk.YAXXSDKF.js.map → chunk.WTJCFKLR.js.map} +0 -0
- /package/dist/chunks/{chunk.ZJRSA6FU.js.map → chunk.WWJFXCJ7.js.map} +0 -0
- /package/dist/chunks/{chunk.TTCMP7MI.js.map → chunk.X72G6ASQ.js.map} +0 -0
- /package/dist/chunks/{chunk.TYSWA3XY.js.map → chunk.XT6UCMCP.js.map} +0 -0
- /package/dist/chunks/{chunk.ZT47ZFJC.js.map → chunk.YEVEQT3G.js.map} +0 -0
- /package/dist/chunks/{chunk.S3SB2L64.js.map → chunk.YJPWGTIA.js.map} +0 -0
- /package/dist/chunks/{chunk.ZQZGMCRB.js.map → chunk.YT4ZXOLI.js.map} +0 -0
- /package/dist/chunks/{chunk.X7M4AZCK.js.map → chunk.Z3WWZV5J.js.map} +0 -0
- /package/dist/chunks/{chunk.QGVMPPJU.js.map → chunk.Z4LFYYMX.js.map} +0 -0
- /package/dist/chunks/{chunk.LLRGAMEA.js.map → chunk.ZGUUEAVE.js.map} +0 -0
- /package/dist/chunks/{chunk.HA4TRDJB.js.map → chunk.ZJSLHMYK.js.map} +0 -0
- /package/dist/chunks/{chunk.QATINK6D.js.map → chunk.ZPWGYTRR.js.map} +0 -0
- /package/dist/chunks/{chunk.7ZCFVUIZ.js.map → chunk.ZTKX2YB4.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
menu_styles_default
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.M3HEPL2F.js";
|
|
4
4
|
import {
|
|
5
5
|
component_styles_default
|
|
6
6
|
} from "./chunk.2NT3B5WJ.js";
|
|
7
7
|
import {
|
|
8
8
|
SynergyElement
|
|
9
|
-
} from "./chunk.
|
|
9
|
+
} from "./chunk.YBXR5HES.js";
|
|
10
10
|
import {
|
|
11
11
|
__decorateClass
|
|
12
12
|
} from "./chunk.MO2GTRUM.js";
|
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
import { html } from "lit";
|
|
16
16
|
import { query } from "lit/decorators.js";
|
|
17
17
|
import { state } from "lit/decorators.js";
|
|
18
|
-
import { classMap } from "lit/directives/class-map.js";
|
|
19
18
|
var SynMenu = class extends SynergyElement {
|
|
20
19
|
constructor() {
|
|
21
20
|
super(...arguments);
|
|
22
21
|
this.hasMenuItemsWithCheckmarks = false;
|
|
22
|
+
this.checkmarkStyledItems = /* @__PURE__ */ new Set();
|
|
23
23
|
this.updateCheckMarksByChildPropChange = (e) => {
|
|
24
24
|
e.stopImmediatePropagation();
|
|
25
25
|
this.handleUpdateCheckmarks(this.getAllItems());
|
|
@@ -27,30 +27,52 @@ var SynMenu = class extends SynergyElement {
|
|
|
27
27
|
}
|
|
28
28
|
handleUpdateCheckmarks(items) {
|
|
29
29
|
this.hasMenuItemsWithCheckmarks = items.some((item) => item.type === "checkbox" || item.loading);
|
|
30
|
+
this.syncCheckmarkVisibility(items);
|
|
31
|
+
}
|
|
32
|
+
syncCheckmarkVisibility(items) {
|
|
33
|
+
this.checkmarkStyledItems.forEach((item) => {
|
|
34
|
+
if (!items.includes(item)) {
|
|
35
|
+
item.style.removeProperty("--display-checkmark");
|
|
36
|
+
this.checkmarkStyledItems.delete(item);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (this.hasMenuItemsWithCheckmarks) {
|
|
40
|
+
items.forEach((item) => {
|
|
41
|
+
item.style.removeProperty("--display-checkmark");
|
|
42
|
+
this.checkmarkStyledItems.delete(item);
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
items.forEach((item) => {
|
|
47
|
+
item.style.setProperty("--display-checkmark", "none");
|
|
48
|
+
this.checkmarkStyledItems.add(item);
|
|
49
|
+
});
|
|
30
50
|
}
|
|
31
51
|
disconnectedCallback() {
|
|
32
52
|
this.removeEventListener("syn-attributes-changed", this.updateCheckMarksByChildPropChange);
|
|
53
|
+
this.checkmarkStyledItems.forEach((item) => item.style.removeProperty("--display-checkmark"));
|
|
54
|
+
this.checkmarkStyledItems.clear();
|
|
33
55
|
}
|
|
34
56
|
connectedCallback() {
|
|
35
57
|
super.connectedCallback();
|
|
36
58
|
this.setAttribute("role", "menu");
|
|
37
59
|
this.addEventListener("syn-attributes-changed", this.updateCheckMarksByChildPropChange);
|
|
38
60
|
}
|
|
39
|
-
|
|
40
|
-
const menuItemTypes = ["menuitem", "menuitemcheckbox"];
|
|
61
|
+
getMenuItemFromEvent(event) {
|
|
41
62
|
const composedPath = event.composedPath();
|
|
42
|
-
const target = composedPath.find((el) =>
|
|
43
|
-
|
|
44
|
-
return
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const item =
|
|
63
|
+
const target = composedPath.find((el) => el instanceof HTMLElement && this.isMenuItem(el));
|
|
64
|
+
if (!target || !(target instanceof HTMLElement)) {
|
|
65
|
+
return void 0;
|
|
66
|
+
}
|
|
67
|
+
const closestMenu = composedPath.find((el) => el instanceof Element && el.getAttribute("role") === "menu");
|
|
68
|
+
if (closestMenu !== this) {
|
|
69
|
+
return void 0;
|
|
70
|
+
}
|
|
71
|
+
return target;
|
|
72
|
+
}
|
|
73
|
+
handleClick(event) {
|
|
74
|
+
const item = this.getMenuItemFromEvent(event);
|
|
75
|
+
if (!item) return;
|
|
54
76
|
if (item.type === "checkbox") {
|
|
55
77
|
item.checked = !item.checked;
|
|
56
78
|
}
|
|
@@ -90,8 +112,8 @@ var SynMenu = class extends SynergyElement {
|
|
|
90
112
|
}
|
|
91
113
|
}
|
|
92
114
|
handleMouseDown(event) {
|
|
93
|
-
const target = event
|
|
94
|
-
if (
|
|
115
|
+
const target = this.getMenuItemFromEvent(event);
|
|
116
|
+
if (target) {
|
|
95
117
|
this.setCurrentItem(target);
|
|
96
118
|
}
|
|
97
119
|
}
|
|
@@ -106,14 +128,21 @@ var SynMenu = class extends SynergyElement {
|
|
|
106
128
|
var _a;
|
|
107
129
|
return item.tagName.toLowerCase() === "syn-menu-item" || ["menuitem", "menuitemcheckbox", "menuitemradio"].includes((_a = item.getAttribute("role")) != null ? _a : "");
|
|
108
130
|
}
|
|
131
|
+
getMenuItemsFromElement(element) {
|
|
132
|
+
if (element.inert) {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
if (this.isMenuItem(element)) {
|
|
136
|
+
return [element];
|
|
137
|
+
}
|
|
138
|
+
if (element.tagName.toLowerCase() === "syn-menu") {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
return [...element.children].flatMap((child) => this.getMenuItemsFromElement(child));
|
|
142
|
+
}
|
|
109
143
|
/** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */
|
|
110
144
|
getAllItems() {
|
|
111
|
-
return [...this.defaultSlot.assignedElements({ flatten: true })].
|
|
112
|
-
if (el.inert || !this.isMenuItem(el)) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
return true;
|
|
116
|
-
});
|
|
145
|
+
return [...this.defaultSlot.assignedElements({ flatten: true })].flatMap((el) => this.getMenuItemsFromElement(el));
|
|
117
146
|
}
|
|
118
147
|
/**
|
|
119
148
|
* @internal Gets the current menu item, which is the menu item that has `tabindex="0"` within the roving tab index.
|
|
@@ -135,9 +164,6 @@ var SynMenu = class extends SynergyElement {
|
|
|
135
164
|
render() {
|
|
136
165
|
return html`
|
|
137
166
|
<slot
|
|
138
|
-
class=${classMap({
|
|
139
|
-
"menu--no-checkmarks": !this.hasMenuItemsWithCheckmarks
|
|
140
|
-
})}
|
|
141
167
|
@slotchange=${this.handleSlotChange}
|
|
142
168
|
@click=${this.handleClick}
|
|
143
169
|
@keydown=${this.handleKeyDown}
|
|
@@ -157,4 +183,4 @@ __decorateClass([
|
|
|
157
183
|
export {
|
|
158
184
|
SynMenu
|
|
159
185
|
};
|
|
160
|
-
//# sourceMappingURL=chunk.
|
|
186
|
+
//# sourceMappingURL=chunk.WFPTZ3W7.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/menu/menu.component.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable */\nimport { html } from 'lit';\nimport { query } from 'lit/decorators.js';\nimport { state } from 'lit/decorators.js';\nimport type { SynAttributesChangedEvent } from '../../events/syn-attributes-changed.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './menu.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type SynMenuItem from '../menu-item/menu-item.component.js';\n\nexport interface MenuSelectEventDetail {\n item: SynMenuItem;\n}\n\n/**\n * @summary Menus provide a list of options for the user to choose from.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu--docs\n * @status stable\n * @since 1.12.0\n *\n * @slot - The menu's content, including menu items, menu labels, and dividers.\n *\n * @event {{ item: SynMenuItem }} syn-select - Emitted when a menu item is selected.\n */\nexport default class SynMenu extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @state() hasMenuItemsWithCheckmarks = false;\n private checkmarkStyledItems = new Set<SynMenuItem>();\n\n private handleUpdateCheckmarks(items: SynMenuItem[]) {\n // #368: Treat a menu as having checkmarks if it has any checkboxes or items with loading states\n // The loading indicator has to be checked as well, as it's specially placed over the check mark\n this.hasMenuItemsWithCheckmarks = items.some(item => item.type === 'checkbox' || item.loading);\n this.syncCheckmarkVisibility(items);\n }\n\n private syncCheckmarkVisibility(items: SynMenuItem[]) {\n this.checkmarkStyledItems.forEach(item => {\n if (!items.includes(item)) {\n item.style.removeProperty('--display-checkmark');\n this.checkmarkStyledItems.delete(item);\n }\n });\n\n if (this.hasMenuItemsWithCheckmarks) {\n items.forEach(item => {\n item.style.removeProperty('--display-checkmark');\n this.checkmarkStyledItems.delete(item);\n });\n return;\n }\n\n items.forEach(item => {\n item.style.setProperty('--display-checkmark', 'none');\n this.checkmarkStyledItems.add(item);\n });\n }\n\n private updateCheckMarksByChildPropChange = (e: SynAttributesChangedEvent) => {\n e.stopImmediatePropagation();\n this.handleUpdateCheckmarks(this.getAllItems());\n };\n \n disconnectedCallback() {\n this.removeEventListener('syn-attributes-changed', this.updateCheckMarksByChildPropChange);\n this.checkmarkStyledItems.forEach(item => item.style.removeProperty('--display-checkmark'));\n this.checkmarkStyledItems.clear();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'menu');\n this.addEventListener('syn-attributes-changed', this.updateCheckMarksByChildPropChange);\n }\n\n private getMenuItemFromEvent(event: Event) {\n const composedPath = event.composedPath();\n const target = composedPath.find((el: EventTarget) => el instanceof HTMLElement && this.isMenuItem(el));\n\n if (!target || !(target instanceof HTMLElement)) {\n return undefined;\n }\n\n const closestMenu = composedPath.find((el: EventTarget) => el instanceof Element && el.getAttribute('role') === 'menu');\n if (closestMenu !== this) {\n return undefined;\n }\n\n return target as SynMenuItem;\n }\n\n private handleClick(event: MouseEvent) {\n const item = this.getMenuItemFromEvent(event);\n\n if (!item) return;\n\n if (item.type === 'checkbox') {\n item.checked = !item.checked;\n }\n\n this.emit('syn-select', { detail: { item } });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n // Make a selection when pressing enter or space\n if (event.key === 'Enter' || event.key === ' ') {\n const item = this.getCurrentItem();\n event.preventDefault();\n event.stopPropagation();\n\n // Simulate a click to support @click handlers on menu items that also work with the keyboard\n item?.click();\n }\n\n // Move the selection when pressing down or up\n else if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.getAllItems();\n const activeItem = this.getCurrentItem();\n let index = activeItem ? items.indexOf(activeItem) : 0;\n\n if (items.length > 0) {\n event.preventDefault();\n event.stopPropagation();\n\n if (event.key === 'ArrowDown') {\n index++;\n } else if (event.key === 'ArrowUp') {\n index--;\n } else if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = items.length - 1;\n }\n\n if (index < 0) {\n index = items.length - 1;\n }\n if (index > items.length - 1) {\n index = 0;\n }\n\n this.setCurrentItem(items[index]);\n items[index].focus();\n }\n }\n }\n\n private handleMouseDown(event: MouseEvent) {\n const target = this.getMenuItemFromEvent(event);\n\n if (target) {\n this.setCurrentItem(target);\n }\n }\n\n private handleSlotChange() {\n const items = this.getAllItems();\n this.handleUpdateCheckmarks(items);\n\n // Reset the roving tab index when the slotted items change\n if (items.length > 0) {\n this.setCurrentItem(items[0]);\n }\n }\n\n private isMenuItem(item: HTMLElement) {\n return (\n item.tagName.toLowerCase() === 'syn-menu-item' ||\n ['menuitem', 'menuitemcheckbox', 'menuitemradio'].includes(item.getAttribute('role') ?? '')\n );\n }\n\n private getMenuItemsFromElement(element: HTMLElement): SynMenuItem[] {\n if (element.inert) {\n return [];\n }\n\n if (this.isMenuItem(element)) {\n return [element as SynMenuItem];\n }\n\n if (element.tagName.toLowerCase() === 'syn-menu') {\n return [];\n }\n\n return [...element.children].flatMap(child => this.getMenuItemsFromElement(child as HTMLElement));\n }\n\n /** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */\n getAllItems() {\n return [...this.defaultSlot.assignedElements({ flatten: true })].flatMap(el => this.getMenuItemsFromElement(el as HTMLElement));\n }\n\n /**\n * @internal Gets the current menu item, which is the menu item that has `tabindex=\"0\"` within the roving tab index.\n * The menu item may or may not have focus, but for keyboard interaction purposes it's considered the \"active\" item.\n */\n getCurrentItem() {\n return this.getAllItems().find(i => i.getAttribute('tabindex') === '0');\n }\n\n /**\n * @internal Sets the current menu item to the specified element. This sets `tabindex=\"0\"` on the target element and\n * `tabindex=\"-1\"` to all other items. This method must be called prior to setting focus on a menu item.\n */\n setCurrentItem(item: SynMenuItem) {\n const items = this.getAllItems();\n\n // Update tab indexes\n items.forEach(i => {\n i.setAttribute('tabindex', i === item ? '0' : '-1');\n });\n }\n\n render() {\n return html`\n <slot\n @slotchange=${this.handleSlotChange}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleMouseDown}\n ></slot>\n `;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynPagination
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.PHR6O2TK.js";
|
|
4
4
|
|
|
5
5
|
// src/components/pagination/pagination.ts
|
|
6
6
|
var pagination_default = SynPagination;
|
|
@@ -9,4 +9,4 @@ SynPagination.define("syn-pagination");
|
|
|
9
9
|
export {
|
|
10
10
|
pagination_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.WP2OIWA5.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynButton
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.UJBDQHXK.js";
|
|
4
4
|
|
|
5
5
|
// src/components/button/button.ts
|
|
6
6
|
var button_default = SynButton;
|
|
@@ -9,4 +9,4 @@ SynButton.define("syn-button");
|
|
|
9
9
|
export {
|
|
10
10
|
button_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.WTJCFKLR.js.map
|
|
@@ -5,6 +5,7 @@ var SubmenuController = class {
|
|
|
5
5
|
constructor(host, hasSlotController) {
|
|
6
6
|
this.popupRef = createRef();
|
|
7
7
|
this.enableSubmenuTimer = -1;
|
|
8
|
+
this.hasGlobalDismissListeners = false;
|
|
8
9
|
this.isConnected = false;
|
|
9
10
|
this.isPopupConnected = false;
|
|
10
11
|
this.skidding = 0;
|
|
@@ -19,6 +20,12 @@ var SubmenuController = class {
|
|
|
19
20
|
this.enableSubmenu();
|
|
20
21
|
}
|
|
21
22
|
};
|
|
23
|
+
this.handleHostMouseLeave = (event) => {
|
|
24
|
+
if (this.isWithinSubmenuInteractionTree(event.relatedTarget)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.disableSubmenu();
|
|
28
|
+
};
|
|
22
29
|
// Focus on the first menu-item of a submenu.
|
|
23
30
|
this.handleKeyDown = (event) => {
|
|
24
31
|
switch (event.key) {
|
|
@@ -59,10 +66,33 @@ var SubmenuController = class {
|
|
|
59
66
|
}
|
|
60
67
|
this.disableSubmenu();
|
|
61
68
|
};
|
|
69
|
+
this.handleWindowBlur = () => {
|
|
70
|
+
this.disableSubmenu();
|
|
71
|
+
};
|
|
72
|
+
this.handlePageHide = () => {
|
|
73
|
+
this.disableSubmenu();
|
|
74
|
+
};
|
|
75
|
+
this.handleVisibilityChange = () => {
|
|
76
|
+
if (document.visibilityState === "hidden") {
|
|
77
|
+
this.disableSubmenu();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
this.handleDocumentKeyDown = (event) => {
|
|
81
|
+
if (event.key === "Escape" && this.isExpanded()) {
|
|
82
|
+
this.disableSubmenu();
|
|
83
|
+
event.stopPropagation();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
62
86
|
// Prevent the parent menu-item from getting focus on mouse movement on the submenu
|
|
63
87
|
this.handlePopupMouseover = (event) => {
|
|
64
88
|
event.stopPropagation();
|
|
65
89
|
};
|
|
90
|
+
this.handlePopupMouseLeave = (event) => {
|
|
91
|
+
if (this.isWithinSubmenuInteractionTree(event.relatedTarget)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this.disableSubmenu();
|
|
95
|
+
};
|
|
66
96
|
// Set the safe triangle values for the submenu when the position changes
|
|
67
97
|
this.handlePopupReposition = () => {
|
|
68
98
|
const submenuSlot = this.host.renderRoot.querySelector("slot[name='submenu']");
|
|
@@ -100,6 +130,7 @@ var SubmenuController = class {
|
|
|
100
130
|
if (!this.isConnected) {
|
|
101
131
|
this.host.addEventListener("mousemove", this.handleMouseMove);
|
|
102
132
|
this.host.addEventListener("mouseover", this.handleMouseOver);
|
|
133
|
+
this.host.addEventListener("mouseleave", this.handleHostMouseLeave);
|
|
103
134
|
this.host.addEventListener("keydown", this.handleKeyDown);
|
|
104
135
|
this.host.addEventListener("click", this.handleClick);
|
|
105
136
|
this.host.addEventListener("focusout", this.handleFocusOut);
|
|
@@ -108,6 +139,7 @@ var SubmenuController = class {
|
|
|
108
139
|
if (!this.isPopupConnected) {
|
|
109
140
|
if (this.popupRef.value) {
|
|
110
141
|
this.popupRef.value.addEventListener("mouseover", this.handlePopupMouseover);
|
|
142
|
+
this.popupRef.value.addEventListener("mouseleave", this.handlePopupMouseLeave);
|
|
111
143
|
this.popupRef.value.addEventListener("syn-reposition", this.handlePopupReposition);
|
|
112
144
|
this.isPopupConnected = true;
|
|
113
145
|
}
|
|
@@ -117,6 +149,7 @@ var SubmenuController = class {
|
|
|
117
149
|
if (this.isConnected) {
|
|
118
150
|
this.host.removeEventListener("mousemove", this.handleMouseMove);
|
|
119
151
|
this.host.removeEventListener("mouseover", this.handleMouseOver);
|
|
152
|
+
this.host.removeEventListener("mouseleave", this.handleHostMouseLeave);
|
|
120
153
|
this.host.removeEventListener("keydown", this.handleKeyDown);
|
|
121
154
|
this.host.removeEventListener("click", this.handleClick);
|
|
122
155
|
this.host.removeEventListener("focusout", this.handleFocusOut);
|
|
@@ -125,10 +158,49 @@ var SubmenuController = class {
|
|
|
125
158
|
if (this.isPopupConnected) {
|
|
126
159
|
if (this.popupRef.value) {
|
|
127
160
|
this.popupRef.value.removeEventListener("mouseover", this.handlePopupMouseover);
|
|
161
|
+
this.popupRef.value.removeEventListener("mouseleave", this.handlePopupMouseLeave);
|
|
128
162
|
this.popupRef.value.removeEventListener("syn-reposition", this.handlePopupReposition);
|
|
129
163
|
this.isPopupConnected = false;
|
|
130
164
|
}
|
|
131
165
|
}
|
|
166
|
+
this.removeGlobalDismissListeners();
|
|
167
|
+
}
|
|
168
|
+
addGlobalDismissListeners() {
|
|
169
|
+
if (this.hasGlobalDismissListeners) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
document.addEventListener("keydown", this.handleDocumentKeyDown);
|
|
173
|
+
window.addEventListener("blur", this.handleWindowBlur);
|
|
174
|
+
window.addEventListener("pagehide", this.handlePageHide);
|
|
175
|
+
document.addEventListener("visibilitychange", this.handleVisibilityChange);
|
|
176
|
+
this.hasGlobalDismissListeners = true;
|
|
177
|
+
}
|
|
178
|
+
removeGlobalDismissListeners() {
|
|
179
|
+
if (!this.hasGlobalDismissListeners) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
document.removeEventListener("keydown", this.handleDocumentKeyDown);
|
|
183
|
+
window.removeEventListener("blur", this.handleWindowBlur);
|
|
184
|
+
window.removeEventListener("pagehide", this.handlePageHide);
|
|
185
|
+
document.removeEventListener("visibilitychange", this.handleVisibilityChange);
|
|
186
|
+
this.hasGlobalDismissListeners = false;
|
|
187
|
+
}
|
|
188
|
+
isWithinSubmenuInteractionTree(target) {
|
|
189
|
+
var _a;
|
|
190
|
+
if (!(target instanceof Node)) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
if (this.host.contains(target)) {
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
if ((_a = this.popupRef.value) == null ? void 0 : _a.contains(target)) {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
const rootNode = target.getRootNode();
|
|
200
|
+
if (rootNode instanceof ShadowRoot) {
|
|
201
|
+
return this.isWithinSubmenuInteractionTree(rootNode.host);
|
|
202
|
+
}
|
|
203
|
+
return false;
|
|
132
204
|
}
|
|
133
205
|
handleSubmenuEntry(event) {
|
|
134
206
|
const submenuSlot = this.host.renderRoot.querySelector("slot[name='submenu']");
|
|
@@ -172,6 +244,11 @@ var SubmenuController = class {
|
|
|
172
244
|
if (this.popupRef.value) {
|
|
173
245
|
if (this.popupRef.value.active !== state) {
|
|
174
246
|
this.popupRef.value.active = state;
|
|
247
|
+
if (state) {
|
|
248
|
+
this.addGlobalDismissListeners();
|
|
249
|
+
} else {
|
|
250
|
+
this.removeGlobalDismissListeners();
|
|
251
|
+
}
|
|
175
252
|
this.host.requestUpdate();
|
|
176
253
|
}
|
|
177
254
|
}
|
|
@@ -237,4 +314,4 @@ var SubmenuController = class {
|
|
|
237
314
|
export {
|
|
238
315
|
SubmenuController
|
|
239
316
|
};
|
|
240
|
-
//# sourceMappingURL=chunk.
|
|
317
|
+
//# sourceMappingURL=chunk.WUGCLTH6.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/menu-item/submenu-controller.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable */\nimport { createRef, ref, type Ref } from 'lit/directives/ref.js';\nimport { type HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type SynMenuItem from './menu-item.js';\nimport type SynPopup from '../popup/popup.js';\n\n/** A reactive controller to manage the registration of event listeners for submenus. */\nexport class SubmenuController implements ReactiveController {\n private host: ReactiveControllerHost & SynMenuItem;\n private popupRef: Ref<SynPopup> = createRef();\n private enableSubmenuTimer = -1;\n private hasGlobalDismissListeners = false;\n private isConnected = false;\n private isPopupConnected = false;\n private skidding = 0;\n private readonly hasSlotController: HasSlotController;\n private readonly submenuOpenDelay = 100;\n\n constructor(host: ReactiveControllerHost & SynMenuItem, hasSlotController: HasSlotController) {\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n\n hostConnected() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n }\n }\n\n hostDisconnected() {\n this.removeListeners();\n }\n\n hostUpdated() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n\n private addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener('mousemove', this.handleMouseMove);\n this.host.addEventListener('mouseover', this.handleMouseOver);\n this.host.addEventListener('mouseleave', this.handleHostMouseLeave);\n this.host.addEventListener('keydown', this.handleKeyDown);\n this.host.addEventListener('click', this.handleClick);\n this.host.addEventListener('focusout', this.handleFocusOut);\n this.isConnected = true;\n }\n\n // The popup does not seem to get wired when the host is\n // connected, so manage its listeners separately.\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.addEventListener('mouseleave', this.handlePopupMouseLeave);\n this.popupRef.value.addEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n\n private removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener('mousemove', this.handleMouseMove);\n this.host.removeEventListener('mouseover', this.handleMouseOver);\n this.host.removeEventListener('mouseleave', this.handleHostMouseLeave);\n this.host.removeEventListener('keydown', this.handleKeyDown);\n this.host.removeEventListener('click', this.handleClick);\n this.host.removeEventListener('focusout', this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.removeEventListener('mouseleave', this.handlePopupMouseLeave);\n this.popupRef.value.removeEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n\n this.removeGlobalDismissListeners();\n }\n\n private addGlobalDismissListeners() {\n if (this.hasGlobalDismissListeners) {\n return;\n }\n\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n window.addEventListener('blur', this.handleWindowBlur);\n window.addEventListener('pagehide', this.handlePageHide);\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n this.hasGlobalDismissListeners = true;\n }\n\n private removeGlobalDismissListeners() {\n if (!this.hasGlobalDismissListeners) {\n return;\n }\n\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n window.removeEventListener('blur', this.handleWindowBlur);\n window.removeEventListener('pagehide', this.handlePageHide);\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n this.hasGlobalDismissListeners = false;\n }\n\n // Set the safe triangle cursor position\n private handleMouseMove = (event: MouseEvent) => {\n this.host.style.setProperty('--safe-triangle-cursor-x', `${event.clientX}px`);\n this.host.style.setProperty('--safe-triangle-cursor-y', `${event.clientY}px`);\n };\n\n private handleMouseOver = () => {\n if (this.hasSlotController.test('submenu')) {\n this.enableSubmenu();\n }\n };\n\n private isWithinSubmenuInteractionTree(target: EventTarget | null): boolean {\n if (!(target instanceof Node)) {\n return false;\n }\n\n if (this.host.contains(target)) {\n return true;\n }\n\n if (this.popupRef.value?.contains(target)) {\n return true;\n }\n\n const rootNode = target.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n return this.isWithinSubmenuInteractionTree(rootNode.host);\n }\n\n return false;\n }\n\n private handleHostMouseLeave = (event: MouseEvent) => {\n if (this.isWithinSubmenuInteractionTree(event.relatedTarget)) {\n return;\n }\n\n this.disableSubmenu();\n };\n\n private handleSubmenuEntry(event: KeyboardEvent) {\n // Pass focus to the first menu-item in the submenu.\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n\n // Missing slot\n if (!submenuSlot) {\n console.error('Cannot activate a submenu if no corresponding menuitem can be found.', this);\n return;\n }\n\n // Menus\n let menuItems: NodeListOf<Element> | null = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"syn-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n\n menuItems[0].setAttribute('tabindex', '0');\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute('tabindex', '-1');\n }\n\n // Open the submenu (if not open), and set focus to first menuitem.\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n\n // Focus on the first menu-item of a submenu.\n private handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape':\n case 'Tab':\n this.disableSubmenu();\n break;\n case 'ArrowLeft':\n // Either focus is currently on the host element or a child\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n\n private handleClick = (event: MouseEvent) => {\n // Clicking on the item which heads the menu does nothing, otherwise hide submenu and propagate\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (\n event.target instanceof Element &&\n (event.target.tagName === 'syn-menu-item' || event.target.role?.startsWith('menuitem'))\n ) {\n this.disableSubmenu();\n }\n };\n\n // Close this submenu on focus outside of the parent or any descendants.\n private handleFocusOut = (event: FocusEvent) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n\n private handleWindowBlur = () => {\n this.disableSubmenu();\n };\n\n private handlePageHide = () => {\n this.disableSubmenu();\n };\n\n private handleVisibilityChange = () => {\n if (document.visibilityState === 'hidden') {\n this.disableSubmenu();\n }\n };\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && this.isExpanded()) {\n this.disableSubmenu();\n event.stopPropagation();\n }\n };\n\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n private handlePopupMouseover = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private handlePopupMouseLeave = (event: MouseEvent) => {\n if (this.isWithinSubmenuInteractionTree(event.relatedTarget)) {\n return;\n }\n\n this.disableSubmenu();\n };\n\n // Set the safe triangle values for the submenu when the position changes\n private handlePopupReposition = () => {\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot?.assignedElements({ flatten: true }).filter(el => el.localName === 'syn-menu')[0];\n const isRtl = getComputedStyle(this.host).direction === 'rtl';\n if (!menu) {\n return;\n }\n\n const { left, top, width, height } = menu.getBoundingClientRect();\n\n this.host.style.setProperty('--safe-triangle-submenu-start-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-start-y', `${top}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-y', `${top + height}px`);\n };\n\n private setSubmenuState(state: boolean) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n if (state) {\n this.addGlobalDismissListeners();\n } else {\n this.removeGlobalDismissListeners();\n }\n this.host.requestUpdate();\n }\n }\n }\n\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n private enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n\n private disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n private updateSkidding(): void {\n // .computedStyleMap() not always available.\n if (!this.host.parentElement?.computedStyleMap) {\n return;\n }\n const styleMap: StylePropertyMapReadOnly = this.host.parentElement.computedStyleMap();\n const attrs: string[] = ['padding-top', 'border-top-width', 'margin-top'];\n\n const skidding = attrs.reduce((accumulator, attr) => {\n const styleValue: CSSStyleValue = styleMap.get(attr) ?? new CSSUnitValue(0, 'px');\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, 'px');\n const pxValue = unitValue.to('px');\n return accumulator - pxValue.value;\n }, 0);\n\n this.skidding = skidding;\n }\n\n isExpanded(): boolean {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n\n renderSubmenu() {\n const isRtl = getComputedStyle(this.host).direction === 'rtl';\n\n // Always render the slot, but conditionally render the outer <syn-popup>\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n\n return html`\n <syn-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? 'left-start' : 'right-start'}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </syn-popup>\n `;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["_a"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynRange
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.N6MOQ6B5.js";
|
|
4
4
|
|
|
5
5
|
// src/components/range/range.ts
|
|
6
6
|
var range_default = SynRange;
|
|
@@ -9,4 +9,4 @@ SynRange.define("syn-range");
|
|
|
9
9
|
export {
|
|
10
10
|
range_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.WWJFXCJ7.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
defaultValue
|
|
3
|
-
} from "./chunk.3JDUKQRN.js";
|
|
4
1
|
import {
|
|
5
2
|
checkbox_styles_default
|
|
6
3
|
} from "./chunk.VOUZJK5T.js";
|
|
4
|
+
import {
|
|
5
|
+
defaultValue
|
|
6
|
+
} from "./chunk.3JDUKQRN.js";
|
|
7
7
|
import {
|
|
8
8
|
form_control_styles_default
|
|
9
9
|
} from "./chunk.34WYIU4C.js";
|
|
@@ -15,19 +15,19 @@ import {
|
|
|
15
15
|
} from "./chunk.CHFWLQN5.js";
|
|
16
16
|
import {
|
|
17
17
|
SynIcon
|
|
18
|
-
} from "./chunk.
|
|
19
|
-
import {
|
|
20
|
-
watch
|
|
21
|
-
} from "./chunk.SMIMHADA.js";
|
|
18
|
+
} from "./chunk.7WBNGACU.js";
|
|
22
19
|
import {
|
|
23
20
|
enableDefaultSettings
|
|
24
21
|
} from "./chunk.4MG3QDNW.js";
|
|
22
|
+
import {
|
|
23
|
+
watch
|
|
24
|
+
} from "./chunk.SMIMHADA.js";
|
|
25
25
|
import {
|
|
26
26
|
component_styles_default
|
|
27
27
|
} from "./chunk.2NT3B5WJ.js";
|
|
28
28
|
import {
|
|
29
29
|
SynergyElement
|
|
30
|
-
} from "./chunk.
|
|
30
|
+
} from "./chunk.YBXR5HES.js";
|
|
31
31
|
import {
|
|
32
32
|
__decorateClass
|
|
33
33
|
} from "./chunk.MO2GTRUM.js";
|
|
@@ -266,4 +266,4 @@ SynCheckbox = __decorateClass([
|
|
|
266
266
|
export {
|
|
267
267
|
SynCheckbox
|
|
268
268
|
};
|
|
269
|
-
//# sourceMappingURL=chunk.
|
|
269
|
+
//# sourceMappingURL=chunk.X72G6ASQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynTabGroup
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.4E5YHPM6.js";
|
|
4
4
|
|
|
5
5
|
// src/components/tab-group/tab-group.ts
|
|
6
6
|
var tab_group_default = SynTabGroup;
|
|
@@ -9,4 +9,4 @@ SynTabGroup.define("syn-tab-group");
|
|
|
9
9
|
export {
|
|
10
10
|
tab_group_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.XT6UCMCP.js.map
|
|
@@ -81,7 +81,7 @@ var SynergyElement = class extends LitElement {
|
|
|
81
81
|
_hasRecordedInitialProperties = new WeakMap();
|
|
82
82
|
/* eslint-disable */
|
|
83
83
|
// @ts-expect-error This is auto-injected at build time.
|
|
84
|
-
SynergyElement.version = "3.
|
|
84
|
+
SynergyElement.version = "3.15.1";
|
|
85
85
|
SynergyElement.dependencies = {};
|
|
86
86
|
__decorateClass([
|
|
87
87
|
property()
|
|
@@ -93,4 +93,4 @@ __decorateClass([
|
|
|
93
93
|
export {
|
|
94
94
|
SynergyElement
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=chunk.
|
|
96
|
+
//# sourceMappingURL=chunk.YBXR5HES.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/internal/synergy-element.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"3.
|
|
4
|
+
"sourcesContent": ["/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"3.15.1\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SynButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {}, options);\n }\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n\n #hasRecordedInitialProperties = false;\n\n // Store the constructor value of all `static properties = {}`\n initialReflectedProperties: Map<string, unknown> = new Map();\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (!this.#hasRecordedInitialProperties) {\n (this.constructor as typeof SynergyElement).elementProperties.forEach(\n (obj, prop: keyof typeof this & string) => {\n // eslint-disable-next-line\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n\n this.#hasRecordedInitialProperties = true;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n protected willUpdate(changedProperties: Parameters<LitElement['willUpdate']>[0]): void {\n super.willUpdate(changedProperties);\n\n // Run the morph fixing *after* willUpdate.\n this.initialReflectedProperties.forEach((value, prop: string & keyof typeof this) => {\n // If a prop changes to `null`, we assume this happens via an attribute changing to `null`.\n // eslint-disable-next-line\n if (changedProperties.has(prop) && this[prop] == null) {\n // Silly type gymnastics to appease the compiler.\n (this as Record<string, unknown>)[prop] = value;\n }\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAFzB;AAiEA,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EA8ErD,cAAc;AACZ,UAAM;AAMR,sDAAgC;AAGhC;AAAA,sCAAmD,oBAAI,IAAI;AARzD,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EArEA,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AAKnC,UAAI;AACF,uBAAe,OAAO,MAAM,oBAAoB,OAAO;AAAA,MACzD,SAAS,MAAM;AACb,uBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,QAAC,GAAG,OAAO;AAAA,MAC1E;AACA;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAAA,EAgBA,yBAAyB,MAAc,UAAyB,UAAyB;AACvF,QAAI,CAAC,mBAAK,gCAA+B;AACvC,MAAC,KAAK,YAAsC,kBAAkB;AAAA,QAC5D,CAAC,KAAK,SAAqC;AAEzC,cAAI,IAAI,WAAW,KAAK,IAAI,KAAK,MAAM;AACrC,iBAAK,2BAA2B,IAAI,MAAM,KAAK,IAAI,CAAC;AAAA,UACtD;AAAA,QACF;AAAA,MACF;AAEA,yBAAK,+BAAgC;AAAA,IACvC;AAEA,UAAM,yBAAyB,MAAM,UAAU,QAAQ;AAAA,EACzD;AAAA,EAEU,WAAW,mBAAkE;AACrF,UAAM,WAAW,iBAAiB;AAGlC,SAAK,2BAA2B,QAAQ,CAAC,OAAO,SAAqC;AAGnF,UAAI,kBAAkB,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM;AAErD,QAAC,KAAiC,IAAI,IAAI;AAAA,MAC5C;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAnCE;AAAA;AAAA;AArFmB,eAiCZ,UAAU;AAjCE,eA4EZ,eAAsD,CAAC;AA1ElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk.JDYQ7EFG.js";
|
|
7
7
|
import {
|
|
8
8
|
SynIconButton
|
|
9
|
-
} from "./chunk.
|
|
9
|
+
} from "./chunk.RKAIJDOM.js";
|
|
10
10
|
import {
|
|
11
11
|
LocalizeController
|
|
12
12
|
} from "./chunk.VCRQ2GII.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk.2NT3B5WJ.js";
|
|
19
19
|
import {
|
|
20
20
|
SynergyElement
|
|
21
|
-
} from "./chunk.
|
|
21
|
+
} from "./chunk.YBXR5HES.js";
|
|
22
22
|
import {
|
|
23
23
|
__decorateClass
|
|
24
24
|
} from "./chunk.MO2GTRUM.js";
|
|
@@ -118,4 +118,4 @@ __decorateClass([
|
|
|
118
118
|
export {
|
|
119
119
|
SynTab
|
|
120
120
|
};
|
|
121
|
-
//# sourceMappingURL=chunk.
|
|
121
|
+
//# sourceMappingURL=chunk.YEVEQT3G.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynTab
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.YEVEQT3G.js";
|
|
4
4
|
|
|
5
5
|
// src/components/tab/tab.ts
|
|
6
6
|
var tab_default = SynTab;
|
|
@@ -9,4 +9,4 @@ SynTab.define("syn-tab");
|
|
|
9
9
|
export {
|
|
10
10
|
tab_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.YJPWGTIA.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynRangeTick
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.7W55HRDH.js";
|
|
4
4
|
|
|
5
5
|
// src/components/range-tick/range-tick.ts
|
|
6
6
|
var range_tick_default = SynRangeTick;
|
|
@@ -9,4 +9,4 @@ SynRangeTick.define("syn-range-tick");
|
|
|
9
9
|
export {
|
|
10
10
|
range_tick_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.YT4ZXOLI.js.map
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
textarea_styles_default
|
|
3
|
-
} from "./chunk.NDJJVGQL.js";
|
|
4
1
|
import {
|
|
5
2
|
defaultValue
|
|
6
3
|
} from "./chunk.3JDUKQRN.js";
|
|
@@ -10,21 +7,24 @@ import {
|
|
|
10
7
|
import {
|
|
11
8
|
FormControlController
|
|
12
9
|
} from "./chunk.J3GDDM6Q.js";
|
|
10
|
+
import {
|
|
11
|
+
textarea_styles_default
|
|
12
|
+
} from "./chunk.NDJJVGQL.js";
|
|
13
13
|
import {
|
|
14
14
|
HasSlotController
|
|
15
15
|
} from "./chunk.CHFWLQN5.js";
|
|
16
|
-
import {
|
|
17
|
-
watch
|
|
18
|
-
} from "./chunk.SMIMHADA.js";
|
|
19
16
|
import {
|
|
20
17
|
enableDefaultSettings
|
|
21
18
|
} from "./chunk.4MG3QDNW.js";
|
|
19
|
+
import {
|
|
20
|
+
watch
|
|
21
|
+
} from "./chunk.SMIMHADA.js";
|
|
22
22
|
import {
|
|
23
23
|
component_styles_default
|
|
24
24
|
} from "./chunk.2NT3B5WJ.js";
|
|
25
25
|
import {
|
|
26
26
|
SynergyElement
|
|
27
|
-
} from "./chunk.
|
|
27
|
+
} from "./chunk.YBXR5HES.js";
|
|
28
28
|
import {
|
|
29
29
|
__decorateClass
|
|
30
30
|
} from "./chunk.MO2GTRUM.js";
|
|
@@ -379,4 +379,4 @@ SynTextarea = __decorateClass([
|
|
|
379
379
|
export {
|
|
380
380
|
SynTextarea
|
|
381
381
|
};
|
|
382
|
-
//# sourceMappingURL=chunk.
|
|
382
|
+
//# sourceMappingURL=chunk.Z3WWZV5J.js.map
|