@synergy-design-system/components 1.11.0 → 1.13.0
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/dist/chunks/chunk.2KYFCKCK.js +10 -0
- package/dist/chunks/chunk.2KYFCKCK.js.map +7 -0
- package/dist/chunks/chunk.2QOQY4ZG.js +132 -0
- package/dist/chunks/chunk.2QOQY4ZG.js.map +7 -0
- package/dist/chunks/{chunk.GTSRMEPE.js → chunk.2QYALZBT.js} +2 -51
- package/dist/chunks/chunk.2QYALZBT.js.map +7 -0
- package/dist/chunks/{chunk.2OLVTQ5P.js → chunk.3A65FBTX.js} +2 -1
- package/dist/chunks/chunk.3A65FBTX.js.map +7 -0
- package/dist/chunks/chunk.3FOVDOJX.js +26 -0
- package/dist/chunks/chunk.3FOVDOJX.js.map +7 -0
- package/dist/chunks/{chunk.27H5YFFI.js → chunk.3PBOWA5U.js} +5 -5
- package/dist/chunks/{chunk.L6ENEGDU.js → chunk.4IIG6F76.js} +2 -2
- package/dist/chunks/{chunk.RUEZLCM4.js → chunk.4RYBHPDG.js} +2 -2
- package/dist/chunks/{chunk.XGXFE6IF.js → chunk.66WXVGAW.js} +16 -2
- package/dist/chunks/{chunk.XGXFE6IF.js.map → chunk.66WXVGAW.js.map} +1 -1
- package/dist/chunks/chunk.7BEVGRQ2.js +52 -0
- package/dist/chunks/chunk.7BEVGRQ2.js.map +7 -0
- package/dist/chunks/{chunk.RKCUJRKU.js → chunk.7JJZR4JG.js} +3 -3
- package/dist/chunks/{chunk.P2PJU2JX.js → chunk.AW7IXLZ6.js} +2 -2
- package/dist/chunks/{chunk.OEBVCWZK.js → chunk.B35CKL75.js} +2 -2
- package/dist/chunks/{chunk.NJPQTVZC.js → chunk.BAPPYU2J.js} +3 -3
- package/dist/chunks/{chunk.DAQB7JE5.js → chunk.BD3YJRAC.js} +2 -2
- package/dist/chunks/{chunk.RRG6TAY7.js → chunk.CKASWRIG.js} +2 -2
- package/dist/chunks/chunk.EMIN5Z4Y.js +12 -0
- package/dist/chunks/chunk.EMIN5Z4Y.js.map +7 -0
- package/dist/chunks/{chunk.5NLSHXNC.js → chunk.F2JCTYYN.js} +2 -2
- package/dist/chunks/chunk.FIVDEPVP.js +194 -0
- package/dist/chunks/chunk.FIVDEPVP.js.map +7 -0
- package/dist/chunks/{chunk.MTUGTGK4.js → chunk.FYJQBDYL.js} +2 -2
- package/dist/chunks/{chunk.XOIRFMBL.js → chunk.HJNNSNKN.js} +3 -3
- package/dist/chunks/chunk.HOJ7LSMH.js +12 -0
- package/dist/chunks/chunk.HOJ7LSMH.js.map +7 -0
- package/dist/chunks/chunk.J4XBGQBY.js +35 -0
- package/dist/chunks/chunk.J4XBGQBY.js.map +7 -0
- package/dist/chunks/{chunk.YJO3VNKR.js → chunk.JZLW5XX6.js} +2 -2
- package/dist/chunks/{chunk.24VV3YAD.js → chunk.K74W3RP4.js} +3 -3
- package/dist/chunks/chunk.KZFU7TFZ.js +131 -0
- package/dist/chunks/chunk.KZFU7TFZ.js.map +7 -0
- package/dist/chunks/{chunk.TIZ7TBXR.js → chunk.LDWFJMF6.js} +2 -2
- package/dist/chunks/{chunk.5Q46XTEM.js → chunk.LKEOG4V4.js} +2 -2
- package/dist/chunks/{chunk.WPY6PWSD.js → chunk.LUPEZL5H.js} +2 -2
- package/dist/chunks/{chunk.WPY6PWSD.js.map → chunk.LUPEZL5H.js.map} +1 -1
- package/dist/chunks/{chunk.KBQDYKZQ.js → chunk.MEMVYSEM.js} +2 -2
- package/dist/chunks/{chunk.Q3LOBGRV.js → chunk.MKKJWJHG.js} +2 -2
- package/dist/chunks/{chunk.WGHLFFPZ.js → chunk.MM2YC5ZH.js} +6 -6
- package/dist/chunks/{chunk.CHESV63R.js → chunk.NE7RLB6A.js} +2 -2
- package/dist/chunks/{chunk.HQC36QXK.js → chunk.NXAAWXFC.js} +18 -133
- package/dist/chunks/chunk.NXAAWXFC.js.map +7 -0
- package/dist/chunks/chunk.OOABXWCW.js +111 -0
- package/dist/chunks/chunk.OOABXWCW.js.map +7 -0
- package/dist/chunks/{chunk.EGIUUFQ4.js → chunk.OQ7JU642.js} +2 -2
- package/dist/chunks/{chunk.OQ72PVRS.js → chunk.OWAQA3TV.js} +2 -2
- package/dist/chunks/chunk.PDHVYHXD.js +156 -0
- package/dist/chunks/chunk.PDHVYHXD.js.map +7 -0
- package/dist/chunks/chunk.PILX7LVU.js +26 -0
- package/dist/chunks/chunk.PILX7LVU.js.map +7 -0
- package/dist/chunks/{chunk.G5AYV6GN.js → chunk.RBDVQQ3E.js} +6 -6
- package/dist/chunks/chunk.RRWSXFQ5.js +239 -0
- package/dist/chunks/chunk.RRWSXFQ5.js.map +7 -0
- package/dist/chunks/chunk.RSSY7KPD.js +24 -0
- package/dist/chunks/chunk.RSSY7KPD.js.map +7 -0
- package/dist/chunks/chunk.SLCYXMHB.js +57 -0
- package/dist/chunks/chunk.SLCYXMHB.js.map +7 -0
- package/dist/chunks/{chunk.WJX2T5MU.js → chunk.SR56N2RY.js} +6 -6
- package/dist/chunks/{chunk.XOL5KILI.js → chunk.T7D7X73E.js} +10 -8
- package/dist/chunks/{chunk.XOL5KILI.js.map → chunk.T7D7X73E.js.map} +1 -1
- package/dist/chunks/{chunk.EK3YHGUC.js → chunk.TDEBVJWI.js} +3 -3
- package/dist/chunks/{chunk.HIBWKIA6.js → chunk.TEWZUSS3.js} +3 -3
- package/dist/chunks/{chunk.C64JGJO3.js → chunk.TOBWLVQY.js} +2 -2
- package/dist/chunks/chunk.UJIWHSZR.js +12 -0
- package/dist/chunks/chunk.UJIWHSZR.js.map +7 -0
- package/dist/chunks/{chunk.XOQKLUKE.js → chunk.WBOGDY52.js} +2 -2
- package/dist/chunks/{chunk.HZDJ5AOY.js → chunk.WNUV3MAD.js} +3 -3
- package/dist/chunks/{chunk.3GR4ZUZH.js → chunk.WU6GTI3K.js} +2 -2
- package/dist/chunks/chunk.WWBODWZN.js +12 -0
- package/dist/chunks/chunk.WWBODWZN.js.map +7 -0
- package/dist/chunks/chunk.X6GR6IA2.js +29 -0
- package/dist/chunks/chunk.X6GR6IA2.js.map +7 -0
- package/dist/chunks/{chunk.HSC2UWAO.js → chunk.XF4DS2IU.js} +8 -8
- package/dist/chunks/{chunk.C5HHWDZB.js → chunk.XKURNDPY.js} +2 -2
- package/dist/chunks/{chunk.JAHRZFQ6.js → chunk.XRLJLT47.js} +4 -4
- package/dist/chunks/{chunk.TWO26WWF.js → chunk.YSDEWPDF.js} +4 -4
- package/dist/chunks/chunk.ZFDPWUKA.js +365 -0
- package/dist/chunks/chunk.ZFDPWUKA.js.map +7 -0
- package/dist/chunks/{chunk.42OELSP4.js → chunk.ZGKQGMNS.js} +2 -2
- package/dist/chunks/chunk.ZKGSBP7D.js +12 -0
- package/dist/chunks/chunk.ZKGSBP7D.js.map +7 -0
- package/dist/chunks/{chunk.6QB26MQP.js → chunk.ZPMKYF4O.js} +7 -7
- package/dist/components/button/button.component.js +7 -7
- package/dist/components/button/button.js +8 -8
- package/dist/components/button-group/button-group.component.js +2 -2
- package/dist/components/button-group/button-group.js +3 -3
- package/dist/components/checkbox/checkbox.component.js +6 -6
- package/dist/components/checkbox/checkbox.js +7 -7
- package/dist/components/divider/divider.component.js +2 -2
- package/dist/components/divider/divider.js +3 -3
- package/dist/components/drawer/drawer.component.js +11 -9
- package/dist/components/drawer/drawer.js +12 -10
- package/dist/components/dropdown/dropdown.component.d.ts +96 -0
- package/dist/components/dropdown/dropdown.component.js +19 -0
- package/dist/components/dropdown/dropdown.component.js.map +7 -0
- package/dist/components/dropdown/dropdown.custom.styles.d.ts +2 -0
- package/dist/components/dropdown/dropdown.custom.styles.js +8 -0
- package/dist/components/dropdown/dropdown.custom.styles.js.map +7 -0
- package/dist/components/dropdown/dropdown.d.ts +8 -0
- package/dist/components/dropdown/dropdown.js +20 -0
- package/dist/components/dropdown/dropdown.js.map +7 -0
- package/dist/components/dropdown/dropdown.styles.d.ts +2 -0
- package/dist/components/dropdown/dropdown.styles.js +8 -0
- package/dist/components/dropdown/dropdown.styles.js.map +7 -0
- package/dist/components/header/header.component.js +7 -7
- package/dist/components/header/header.js +8 -8
- package/dist/components/icon/icon.component.js +4 -4
- package/dist/components/icon/icon.js +5 -5
- 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 +8 -8
- package/dist/components/input/input.custom.styles.js +1 -1
- package/dist/components/input/input.js +9 -9
- package/dist/components/menu/menu.component.d.ts +39 -0
- package/dist/components/menu/menu.component.js +11 -0
- package/dist/components/menu/menu.component.js.map +7 -0
- package/dist/components/menu/menu.custom.styles.d.ts +2 -0
- package/dist/components/menu/menu.custom.styles.js +8 -0
- package/dist/components/menu/menu.custom.styles.js.map +7 -0
- package/dist/components/menu/menu.d.ts +8 -0
- package/dist/components/menu/menu.js +12 -0
- package/dist/components/menu/menu.js.map +7 -0
- package/dist/components/menu/menu.styles.d.ts +2 -0
- package/dist/components/menu/menu.styles.js +8 -0
- package/dist/components/menu/menu.styles.js.map +7 -0
- package/dist/components/menu-item/menu-item.component.d.ts +67 -0
- package/dist/components/menu-item/menu-item.component.js +27 -0
- package/dist/components/menu-item/menu-item.component.js.map +7 -0
- package/dist/components/menu-item/menu-item.custom.styles.d.ts +2 -0
- package/dist/components/menu-item/menu-item.custom.styles.js +8 -0
- package/dist/components/menu-item/menu-item.custom.styles.js.map +7 -0
- package/dist/components/menu-item/menu-item.d.ts +8 -0
- package/dist/components/menu-item/menu-item.js +28 -0
- package/dist/components/menu-item/menu-item.js.map +7 -0
- package/dist/components/menu-item/menu-item.styles.d.ts +2 -0
- package/dist/components/menu-item/menu-item.styles.js +8 -0
- package/dist/components/menu-item/menu-item.styles.js.map +7 -0
- package/dist/components/menu-item/submenu-controller.d.ts +36 -0
- package/dist/components/menu-item/submenu-controller.js +11 -0
- package/dist/components/menu-item/submenu-controller.js.map +7 -0
- package/dist/components/menu-label/menu-label.component.d.ts +31 -0
- package/dist/components/menu-label/menu-label.component.js +15 -0
- package/dist/components/menu-label/menu-label.component.js.map +7 -0
- package/dist/components/menu-label/menu-label.custom.styles.d.ts +2 -0
- package/dist/components/menu-label/menu-label.custom.styles.js +8 -0
- package/dist/components/menu-label/menu-label.custom.styles.js.map +7 -0
- package/dist/components/menu-label/menu-label.d.ts +8 -0
- package/dist/components/menu-label/menu-label.js +16 -0
- package/dist/components/menu-label/menu-label.js.map +7 -0
- package/dist/components/menu-label/menu-label.styles.d.ts +2 -0
- package/dist/components/menu-label/menu-label.styles.js +8 -0
- package/dist/components/menu-label/menu-label.styles.js.map +7 -0
- package/dist/components/optgroup/optgroup.component.js +4 -4
- package/dist/components/optgroup/optgroup.js +5 -5
- package/dist/components/option/option.component.js +5 -5
- package/dist/components/option/option.js +6 -6
- package/dist/components/popup/popup.component.js +2 -2
- package/dist/components/popup/popup.d.ts +8 -0
- package/dist/components/popup/popup.js +11 -0
- package/dist/components/popup/popup.js.map +7 -0
- 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 +5 -5
- package/dist/components/radio-group/radio-group.js +6 -6
- package/dist/components/select/select.component.js +13 -12
- package/dist/components/select/select.js +14 -13
- package/dist/components/spinner/spinner.component.js +2 -2
- package/dist/components/switch/switch.component.js +3 -3
- package/dist/components/switch/switch.js +4 -4
- package/dist/components/tag/tag.component.js +6 -6
- package/dist/components/tag/tag.js +7 -7
- package/dist/components/textarea/textarea.component.js +3 -3
- package/dist/components/textarea/textarea.js +4 -4
- package/dist/custom-elements.json +1802 -943
- package/dist/events/events.d.ts +1 -0
- package/dist/events/syn-select.d.ts +9 -0
- package/dist/synergy.d.ts +5 -0
- package/dist/synergy.js +97 -62
- package/dist/themes/utility.css +12 -3
- package/dist/vscode.html-custom-data.json +137 -17
- package/package.json +4 -4
- package/dist/chunks/chunk.2OLVTQ5P.js.map +0 -7
- package/dist/chunks/chunk.GTSRMEPE.js.map +0 -7
- package/dist/chunks/chunk.HQC36QXK.js.map +0 -7
- /package/dist/chunks/{chunk.27H5YFFI.js.map → chunk.3PBOWA5U.js.map} +0 -0
- /package/dist/chunks/{chunk.L6ENEGDU.js.map → chunk.4IIG6F76.js.map} +0 -0
- /package/dist/chunks/{chunk.RUEZLCM4.js.map → chunk.4RYBHPDG.js.map} +0 -0
- /package/dist/chunks/{chunk.RKCUJRKU.js.map → chunk.7JJZR4JG.js.map} +0 -0
- /package/dist/chunks/{chunk.P2PJU2JX.js.map → chunk.AW7IXLZ6.js.map} +0 -0
- /package/dist/chunks/{chunk.OEBVCWZK.js.map → chunk.B35CKL75.js.map} +0 -0
- /package/dist/chunks/{chunk.NJPQTVZC.js.map → chunk.BAPPYU2J.js.map} +0 -0
- /package/dist/chunks/{chunk.DAQB7JE5.js.map → chunk.BD3YJRAC.js.map} +0 -0
- /package/dist/chunks/{chunk.RRG6TAY7.js.map → chunk.CKASWRIG.js.map} +0 -0
- /package/dist/chunks/{chunk.5NLSHXNC.js.map → chunk.F2JCTYYN.js.map} +0 -0
- /package/dist/chunks/{chunk.MTUGTGK4.js.map → chunk.FYJQBDYL.js.map} +0 -0
- /package/dist/chunks/{chunk.XOIRFMBL.js.map → chunk.HJNNSNKN.js.map} +0 -0
- /package/dist/chunks/{chunk.YJO3VNKR.js.map → chunk.JZLW5XX6.js.map} +0 -0
- /package/dist/chunks/{chunk.24VV3YAD.js.map → chunk.K74W3RP4.js.map} +0 -0
- /package/dist/chunks/{chunk.TIZ7TBXR.js.map → chunk.LDWFJMF6.js.map} +0 -0
- /package/dist/chunks/{chunk.5Q46XTEM.js.map → chunk.LKEOG4V4.js.map} +0 -0
- /package/dist/chunks/{chunk.KBQDYKZQ.js.map → chunk.MEMVYSEM.js.map} +0 -0
- /package/dist/chunks/{chunk.Q3LOBGRV.js.map → chunk.MKKJWJHG.js.map} +0 -0
- /package/dist/chunks/{chunk.WGHLFFPZ.js.map → chunk.MM2YC5ZH.js.map} +0 -0
- /package/dist/chunks/{chunk.CHESV63R.js.map → chunk.NE7RLB6A.js.map} +0 -0
- /package/dist/chunks/{chunk.EGIUUFQ4.js.map → chunk.OQ7JU642.js.map} +0 -0
- /package/dist/chunks/{chunk.OQ72PVRS.js.map → chunk.OWAQA3TV.js.map} +0 -0
- /package/dist/chunks/{chunk.G5AYV6GN.js.map → chunk.RBDVQQ3E.js.map} +0 -0
- /package/dist/chunks/{chunk.WJX2T5MU.js.map → chunk.SR56N2RY.js.map} +0 -0
- /package/dist/chunks/{chunk.EK3YHGUC.js.map → chunk.TDEBVJWI.js.map} +0 -0
- /package/dist/chunks/{chunk.HIBWKIA6.js.map → chunk.TEWZUSS3.js.map} +0 -0
- /package/dist/chunks/{chunk.C64JGJO3.js.map → chunk.TOBWLVQY.js.map} +0 -0
- /package/dist/chunks/{chunk.XOQKLUKE.js.map → chunk.WBOGDY52.js.map} +0 -0
- /package/dist/chunks/{chunk.HZDJ5AOY.js.map → chunk.WNUV3MAD.js.map} +0 -0
- /package/dist/chunks/{chunk.3GR4ZUZH.js.map → chunk.WU6GTI3K.js.map} +0 -0
- /package/dist/chunks/{chunk.HSC2UWAO.js.map → chunk.XF4DS2IU.js.map} +0 -0
- /package/dist/chunks/{chunk.C5HHWDZB.js.map → chunk.XKURNDPY.js.map} +0 -0
- /package/dist/chunks/{chunk.JAHRZFQ6.js.map → chunk.XRLJLT47.js.map} +0 -0
- /package/dist/chunks/{chunk.TWO26WWF.js.map → chunk.YSDEWPDF.js.map} +0 -0
- /package/dist/chunks/{chunk.42OELSP4.js.map → chunk.ZGKQGMNS.js.map} +0 -0
- /package/dist/chunks/{chunk.6QB26MQP.js.map → chunk.ZPMKYF4O.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynIconButton
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.HJNNSNKN.js";
|
|
4
4
|
|
|
5
5
|
// src/components/icon-button/icon-button.ts
|
|
6
6
|
var icon_button_default = SynIconButton;
|
|
@@ -9,4 +9,4 @@ SynIconButton.define("syn-icon-button");
|
|
|
9
9
|
export {
|
|
10
10
|
icon_button_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.F2JCTYYN.js.map
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import {
|
|
2
|
+
menu_item_custom_styles_default
|
|
3
|
+
} from "./chunk.OOABXWCW.js";
|
|
4
|
+
import {
|
|
5
|
+
menu_item_styles_default
|
|
6
|
+
} from "./chunk.PDHVYHXD.js";
|
|
7
|
+
import {
|
|
8
|
+
SubmenuController
|
|
9
|
+
} from "./chunk.RRWSXFQ5.js";
|
|
10
|
+
import {
|
|
11
|
+
SynPopup
|
|
12
|
+
} from "./chunk.FYJQBDYL.js";
|
|
13
|
+
import {
|
|
14
|
+
SynSpinner
|
|
15
|
+
} from "./chunk.4RYBHPDG.js";
|
|
16
|
+
import {
|
|
17
|
+
LocalizeController
|
|
18
|
+
} from "./chunk.LAB4YJYE.js";
|
|
19
|
+
import {
|
|
20
|
+
HasSlotController,
|
|
21
|
+
getTextContent
|
|
22
|
+
} from "./chunk.66WXVGAW.js";
|
|
23
|
+
import {
|
|
24
|
+
SynIcon
|
|
25
|
+
} from "./chunk.ZPMKYF4O.js";
|
|
26
|
+
import {
|
|
27
|
+
watch
|
|
28
|
+
} from "./chunk.AVTU2BGE.js";
|
|
29
|
+
import {
|
|
30
|
+
SynergyElement,
|
|
31
|
+
component_styles_default
|
|
32
|
+
} from "./chunk.LUPEZL5H.js";
|
|
33
|
+
import {
|
|
34
|
+
__decorateClass
|
|
35
|
+
} from "./chunk.QNDC5KWA.js";
|
|
36
|
+
|
|
37
|
+
// src/components/menu-item/menu-item.component.ts
|
|
38
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
39
|
+
import { html } from "lit";
|
|
40
|
+
import { property, query } from "lit/decorators.js";
|
|
41
|
+
var SynMenuItem = class extends SynergyElement {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(...arguments);
|
|
44
|
+
this.type = "normal";
|
|
45
|
+
this.checked = false;
|
|
46
|
+
this.value = "";
|
|
47
|
+
this.loading = false;
|
|
48
|
+
this.disabled = false;
|
|
49
|
+
this.localize = new LocalizeController(this);
|
|
50
|
+
this.hasSlotController = new HasSlotController(this, "submenu");
|
|
51
|
+
this.submenuController = new SubmenuController(this, this.hasSlotController, this.localize);
|
|
52
|
+
this.handleHostClick = (event) => {
|
|
53
|
+
if (this.disabled) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
event.stopImmediatePropagation();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
this.handleMouseOver = (event) => {
|
|
59
|
+
this.focus();
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
connectedCallback() {
|
|
64
|
+
super.connectedCallback();
|
|
65
|
+
this.addEventListener("click", this.handleHostClick);
|
|
66
|
+
this.addEventListener("mouseover", this.handleMouseOver);
|
|
67
|
+
}
|
|
68
|
+
disconnectedCallback() {
|
|
69
|
+
super.disconnectedCallback();
|
|
70
|
+
this.removeEventListener("click", this.handleHostClick);
|
|
71
|
+
this.removeEventListener("mouseover", this.handleMouseOver);
|
|
72
|
+
}
|
|
73
|
+
handleDefaultSlotChange() {
|
|
74
|
+
const textLabel = this.getTextLabel();
|
|
75
|
+
if (typeof this.cachedTextLabel === "undefined") {
|
|
76
|
+
this.cachedTextLabel = textLabel;
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (textLabel !== this.cachedTextLabel) {
|
|
80
|
+
this.cachedTextLabel = textLabel;
|
|
81
|
+
this.emit("slotchange", { bubbles: true, composed: false, cancelable: false });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
handleCheckedChange() {
|
|
85
|
+
if (this.checked && this.type !== "checkbox") {
|
|
86
|
+
this.checked = false;
|
|
87
|
+
console.error('The checked attribute can only be used on menu items with type="checkbox"', this);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (this.type === "checkbox") {
|
|
91
|
+
this.setAttribute("aria-checked", this.checked ? "true" : "false");
|
|
92
|
+
} else {
|
|
93
|
+
this.removeAttribute("aria-checked");
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
handleDisabledChange() {
|
|
97
|
+
this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
|
|
98
|
+
}
|
|
99
|
+
handleTypeChange() {
|
|
100
|
+
if (this.type === "checkbox") {
|
|
101
|
+
this.setAttribute("role", "menuitemcheckbox");
|
|
102
|
+
this.setAttribute("aria-checked", this.checked ? "true" : "false");
|
|
103
|
+
} else {
|
|
104
|
+
this.setAttribute("role", "menuitem");
|
|
105
|
+
this.removeAttribute("aria-checked");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Returns a text label based on the contents of the menu item's default slot. */
|
|
109
|
+
getTextLabel() {
|
|
110
|
+
return getTextContent(this.defaultSlot);
|
|
111
|
+
}
|
|
112
|
+
isSubmenu() {
|
|
113
|
+
return this.hasSlotController.test("submenu");
|
|
114
|
+
}
|
|
115
|
+
render() {
|
|
116
|
+
const isRtl = this.localize.dir() === "rtl";
|
|
117
|
+
const isSubmenuExpanded = this.submenuController.isExpanded();
|
|
118
|
+
return html`
|
|
119
|
+
<div
|
|
120
|
+
id="anchor"
|
|
121
|
+
part="base"
|
|
122
|
+
class=${classMap({
|
|
123
|
+
"menu-item": true,
|
|
124
|
+
"menu-item--rtl": isRtl,
|
|
125
|
+
"menu-item--checked": this.checked,
|
|
126
|
+
"menu-item--disabled": this.disabled,
|
|
127
|
+
"menu-item--loading": this.loading,
|
|
128
|
+
"menu-item--has-submenu": this.isSubmenu(),
|
|
129
|
+
"menu-item--submenu-expanded": isSubmenuExpanded
|
|
130
|
+
})}
|
|
131
|
+
?aria-haspopup="${this.isSubmenu()}"
|
|
132
|
+
?aria-expanded="${isSubmenuExpanded ? true : false}"
|
|
133
|
+
>
|
|
134
|
+
<span part="checked-icon" class="menu-item__check">
|
|
135
|
+
<syn-icon name="check" library="system" aria-hidden="true"></syn-icon>
|
|
136
|
+
</span>
|
|
137
|
+
|
|
138
|
+
<slot name="prefix" part="prefix" class="menu-item__prefix"></slot>
|
|
139
|
+
|
|
140
|
+
<slot part="label" class="menu-item__label" @slotchange=${this.handleDefaultSlotChange}></slot>
|
|
141
|
+
|
|
142
|
+
<slot name="suffix" part="suffix" class="menu-item__suffix"></slot>
|
|
143
|
+
|
|
144
|
+
<span part="submenu-icon" class="menu-item__chevron">
|
|
145
|
+
<syn-icon name="chevron-down" library="system" aria-hidden="true"></syn-icon>
|
|
146
|
+
</span>
|
|
147
|
+
|
|
148
|
+
${this.submenuController.renderSubmenu()}
|
|
149
|
+
${this.loading ? html` <syn-spinner part="spinner" exportparts="base:spinner__base"></syn-spinner> ` : ""}
|
|
150
|
+
</div>
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
SynMenuItem.styles = [component_styles_default, menu_item_styles_default, menu_item_custom_styles_default];
|
|
155
|
+
SynMenuItem.dependencies = {
|
|
156
|
+
"syn-icon": SynIcon,
|
|
157
|
+
"syn-popup": SynPopup,
|
|
158
|
+
"syn-spinner": SynSpinner
|
|
159
|
+
};
|
|
160
|
+
__decorateClass([
|
|
161
|
+
query("slot:not([name])")
|
|
162
|
+
], SynMenuItem.prototype, "defaultSlot", 2);
|
|
163
|
+
__decorateClass([
|
|
164
|
+
query(".menu-item")
|
|
165
|
+
], SynMenuItem.prototype, "menuItem", 2);
|
|
166
|
+
__decorateClass([
|
|
167
|
+
property()
|
|
168
|
+
], SynMenuItem.prototype, "type", 2);
|
|
169
|
+
__decorateClass([
|
|
170
|
+
property({ type: Boolean, reflect: true })
|
|
171
|
+
], SynMenuItem.prototype, "checked", 2);
|
|
172
|
+
__decorateClass([
|
|
173
|
+
property()
|
|
174
|
+
], SynMenuItem.prototype, "value", 2);
|
|
175
|
+
__decorateClass([
|
|
176
|
+
property({ type: Boolean, reflect: true })
|
|
177
|
+
], SynMenuItem.prototype, "loading", 2);
|
|
178
|
+
__decorateClass([
|
|
179
|
+
property({ type: Boolean, reflect: true })
|
|
180
|
+
], SynMenuItem.prototype, "disabled", 2);
|
|
181
|
+
__decorateClass([
|
|
182
|
+
watch("checked")
|
|
183
|
+
], SynMenuItem.prototype, "handleCheckedChange", 1);
|
|
184
|
+
__decorateClass([
|
|
185
|
+
watch("disabled")
|
|
186
|
+
], SynMenuItem.prototype, "handleDisabledChange", 1);
|
|
187
|
+
__decorateClass([
|
|
188
|
+
watch("type")
|
|
189
|
+
], SynMenuItem.prototype, "handleTypeChange", 1);
|
|
190
|
+
|
|
191
|
+
export {
|
|
192
|
+
SynMenuItem
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=chunk.FIVDEPVP.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/menu-item/menu-item.component.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getTextContent, HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { SubmenuController } from './submenu-controller.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynPopup from '../popup/popup.component.js';\nimport SynSpinner from '../spinner/spinner.component.js';\nimport styles from './menu-item.styles.js';\nimport customStyles from './menu-item.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Menu items provide options for the user to pick from in a menu.\n * @documentation https://synergy.style/components/menu-item\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-spinner\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n * @slot submenu - Used to denote a nested menu.\n *\n * @csspart base - The component's base wrapper.\n * @csspart checked-icon - The checked icon, which is only visible when the menu item is checked.\n * @csspart prefix - The prefix container.\n * @csspart label - The menu item label.\n * @csspart suffix - The suffix container.\n * @csspart spinner - The spinner that shows when the menu item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart submenu-icon - The submenu icon, visible only when the menu item has a submenu (not yet implemented).\n *\n * @cssproperty [--submenu-offset=-2px] - The distance submenus shift to overlap the parent menu.\n */\nexport default class SynMenuItem extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = {\n 'syn-icon': SynIcon,\n 'syn-popup': SynPopup,\n 'syn-spinner': SynSpinner\n };\n\n private cachedTextLabel: string;\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('.menu-item') menuItem: HTMLElement;\n\n /** The type of menu item to render. To use `checked`, this value must be set to `checkbox`. */\n @property() type: 'normal' | 'checkbox' = 'normal';\n\n /** Draws the item in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @property() value = '';\n\n /** Draws the menu item in a loading state. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Draws the menu item in a disabled state, preventing selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private readonly localize = new LocalizeController(this);\n private readonly hasSlotController = new HasSlotController(this, 'submenu');\n private submenuController: SubmenuController = new SubmenuController(this, this.hasSlotController, this.localize);\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.handleHostClick);\n this.addEventListener('mouseover', this.handleMouseOver);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.removeEventListener('mouseover', this.handleMouseOver);\n }\n\n private handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n\n // Ignore the first time the label is set\n if (typeof this.cachedTextLabel === 'undefined') {\n this.cachedTextLabel = textLabel;\n return;\n }\n\n // When the label changes, emit a slotchange event so parent controls see it\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit('slotchange', { bubbles: true, composed: false, cancelable: false });\n }\n }\n\n private handleHostClick = (event: MouseEvent) => {\n // Prevent the click event from being emitted when the button is disabled or loading\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n\n private handleMouseOver = (event: MouseEvent) => {\n this.focus();\n event.stopPropagation();\n };\n\n @watch('checked')\n handleCheckedChange() {\n // For proper accessibility, users have to use type=\"checkbox\" to use the checked attribute\n if (this.checked && this.type !== 'checkbox') {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n\n // Only checkbox types can receive the aria-checked attribute\n if (this.type === 'checkbox') {\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.removeAttribute('aria-checked');\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('type')\n handleTypeChange() {\n if (this.type === 'checkbox') {\n this.setAttribute('role', 'menuitemcheckbox');\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.setAttribute('role', 'menuitem');\n this.removeAttribute('aria-checked');\n }\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n\n isSubmenu() {\n return this.hasSlotController.test('submenu');\n }\n\n render() {\n const isRtl = this.localize.dir() === 'rtl';\n const isSubmenuExpanded = this.submenuController.isExpanded();\n\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n 'menu-item': true,\n 'menu-item--rtl': isRtl,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--loading': this.loading,\n 'menu-item--has-submenu': this.isSubmenu(),\n 'menu-item--submenu-expanded': isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <syn-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <syn-icon name=\"chevron-down\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <syn-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></syn-spinner> ` : ''}\n </div>\n `;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
SynergyElement,
|
|
6
6
|
component_styles_default
|
|
7
|
-
} from "./chunk.
|
|
7
|
+
} from "./chunk.LUPEZL5H.js";
|
|
8
8
|
import {
|
|
9
9
|
__decorateClass,
|
|
10
10
|
__spreadProps,
|
|
@@ -409,4 +409,4 @@ __decorateClass([
|
|
|
409
409
|
export {
|
|
410
410
|
SynPopup
|
|
411
411
|
};
|
|
412
|
-
//# sourceMappingURL=chunk.
|
|
412
|
+
//# sourceMappingURL=chunk.FYJQBDYL.js.map
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
} from "./chunk.LJQ7LEPV.js";
|
|
7
7
|
import {
|
|
8
8
|
SynIcon
|
|
9
|
-
} from "./chunk.
|
|
9
|
+
} from "./chunk.ZPMKYF4O.js";
|
|
10
10
|
import {
|
|
11
11
|
SynergyElement,
|
|
12
12
|
component_styles_default
|
|
13
|
-
} from "./chunk.
|
|
13
|
+
} from "./chunk.LUPEZL5H.js";
|
|
14
14
|
import {
|
|
15
15
|
__decorateClass
|
|
16
16
|
} from "./chunk.QNDC5KWA.js";
|
|
@@ -138,4 +138,4 @@ __decorateClass([
|
|
|
138
138
|
export {
|
|
139
139
|
SynIconButton
|
|
140
140
|
};
|
|
141
|
-
//# sourceMappingURL=chunk.
|
|
141
|
+
//# sourceMappingURL=chunk.HJNNSNKN.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SynDropdown
|
|
3
|
+
} from "./chunk.ZFDPWUKA.js";
|
|
4
|
+
|
|
5
|
+
// src/components/dropdown/dropdown.ts
|
|
6
|
+
var dropdown_default = SynDropdown;
|
|
7
|
+
SynDropdown.define("syn-dropdown");
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
dropdown_default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=chunk.HOJ7LSMH.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/dropdown/dropdown.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport SynDropdown from './dropdown.component.js';\n\nexport * from './dropdown.component.js';\nexport default SynDropdown;\n\nSynDropdown.define('syn-dropdown');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-dropdown': SynDropdown;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AASA,IAAO,mBAAQ;AAEf,YAAY,OAAO,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
menu_label_custom_styles_default
|
|
3
|
+
} from "./chunk.X6GR6IA2.js";
|
|
4
|
+
import {
|
|
5
|
+
menu_label_styles_default
|
|
6
|
+
} from "./chunk.3FOVDOJX.js";
|
|
7
|
+
import {
|
|
8
|
+
SynDivider
|
|
9
|
+
} from "./chunk.ZGKQGMNS.js";
|
|
10
|
+
import {
|
|
11
|
+
SynergyElement,
|
|
12
|
+
component_styles_default
|
|
13
|
+
} from "./chunk.LUPEZL5H.js";
|
|
14
|
+
|
|
15
|
+
// src/components/menu-label/menu-label.component.ts
|
|
16
|
+
import { html } from "lit";
|
|
17
|
+
var SynMenuLabel = class extends SynergyElement {
|
|
18
|
+
render() {
|
|
19
|
+
return html`
|
|
20
|
+
<div part="base" class="menu-label-wrapper">
|
|
21
|
+
<syn-divider class="menu-label__divider" part="divider"></syn-divider>
|
|
22
|
+
<slot part="label" class="menu-label"></slot>
|
|
23
|
+
</div>
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
SynMenuLabel.styles = [component_styles_default, menu_label_styles_default, menu_label_custom_styles_default];
|
|
28
|
+
SynMenuLabel.dependencies = {
|
|
29
|
+
"syn-divider": SynDivider
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
SynMenuLabel
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk.J4XBGQBY.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/menu-label/menu-label.component.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { html } from 'lit';\nimport SynDivider from '../divider/divider.component.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './menu-label.styles.js';\nimport customStyles from './menu-label.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Menu labels are used to describe a group of menu items.\n * @documentation https://synergy.style/components/menu-label\n * @status stable\n * @since 2.0\n *\n * @dependency syn-divider\n *\n * @slot - The menu label's content.\n *\n * @csspart base - The component's base wrapper.\n * @csspart divider - The divider that is displayed above the content\n * @csspart label - The label that is displayed below the divider\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */\nexport default class SynMenuLabel extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n };\n \n render() {\n return html`\n <div part=\"base\" class=\"menu-label-wrapper\">\n <syn-divider class=\"menu-label__divider\" part=\"divider\"></syn-divider>\n <slot part=\"label\" class=\"menu-label\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-menu-label': SynMenuLabel;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAMA,SAAS,YAAY;AAwBrB,IAAqB,eAArB,cAA0C,eAAe;AAAA,EAOvD,SAAS;AACP,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT;AACF;AAfqB,aACZ,SAAyB,CAAC,0BAAiB,2BAAQ,gCAAY;AADnD,aAGZ,eAAe;AAAA,EACpB,eAAe;AACjB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynRadio
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.WNUV3MAD.js";
|
|
4
4
|
|
|
5
5
|
// src/components/radio/radio.ts
|
|
6
6
|
var radio_default = SynRadio;
|
|
@@ -9,4 +9,4 @@ SynRadio.define("syn-radio");
|
|
|
9
9
|
export {
|
|
10
10
|
radio_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.JZLW5XX6.js.map
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
} from "./chunk.BGHK4NQA.js";
|
|
7
7
|
import {
|
|
8
8
|
SynIconButton
|
|
9
|
-
} from "./chunk.
|
|
9
|
+
} from "./chunk.HJNNSNKN.js";
|
|
10
10
|
import {
|
|
11
11
|
LocalizeController
|
|
12
12
|
} from "./chunk.LAB4YJYE.js";
|
|
13
13
|
import {
|
|
14
14
|
SynergyElement,
|
|
15
15
|
component_styles_default
|
|
16
|
-
} from "./chunk.
|
|
16
|
+
} from "./chunk.LUPEZL5H.js";
|
|
17
17
|
import {
|
|
18
18
|
__decorateClass
|
|
19
19
|
} from "./chunk.QNDC5KWA.js";
|
|
@@ -76,4 +76,4 @@ __decorateClass([
|
|
|
76
76
|
export {
|
|
77
77
|
SynTag
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=chunk.
|
|
79
|
+
//# sourceMappingURL=chunk.K74W3RP4.js.map
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import {
|
|
2
|
+
menu_custom_styles_default
|
|
3
|
+
} from "./chunk.PILX7LVU.js";
|
|
4
|
+
import {
|
|
5
|
+
menu_styles_default
|
|
6
|
+
} from "./chunk.RSSY7KPD.js";
|
|
7
|
+
import {
|
|
8
|
+
SynergyElement,
|
|
9
|
+
component_styles_default
|
|
10
|
+
} from "./chunk.LUPEZL5H.js";
|
|
11
|
+
import {
|
|
12
|
+
__decorateClass
|
|
13
|
+
} from "./chunk.QNDC5KWA.js";
|
|
14
|
+
|
|
15
|
+
// src/components/menu/menu.component.ts
|
|
16
|
+
import { html } from "lit";
|
|
17
|
+
import { query } from "lit/decorators.js";
|
|
18
|
+
var SynMenu = class extends SynergyElement {
|
|
19
|
+
connectedCallback() {
|
|
20
|
+
super.connectedCallback();
|
|
21
|
+
this.setAttribute("role", "menu");
|
|
22
|
+
}
|
|
23
|
+
handleClick(event) {
|
|
24
|
+
const menuItemTypes = ["menuitem", "menuitemcheckbox"];
|
|
25
|
+
const target = event.composedPath().find((el) => {
|
|
26
|
+
var _a;
|
|
27
|
+
return menuItemTypes.includes(((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, "role")) || "");
|
|
28
|
+
});
|
|
29
|
+
if (!target)
|
|
30
|
+
return;
|
|
31
|
+
const item = target;
|
|
32
|
+
if (item.type === "checkbox") {
|
|
33
|
+
item.checked = !item.checked;
|
|
34
|
+
}
|
|
35
|
+
this.emit("syn-select", { detail: { item } });
|
|
36
|
+
}
|
|
37
|
+
handleKeyDown(event) {
|
|
38
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
39
|
+
const item = this.getCurrentItem();
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
item == null ? void 0 : item.click();
|
|
43
|
+
} else if (["ArrowDown", "ArrowUp", "Home", "End"].includes(event.key)) {
|
|
44
|
+
const items = this.getAllItems();
|
|
45
|
+
const activeItem = this.getCurrentItem();
|
|
46
|
+
let index = activeItem ? items.indexOf(activeItem) : 0;
|
|
47
|
+
if (items.length > 0) {
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
event.stopPropagation();
|
|
50
|
+
if (event.key === "ArrowDown") {
|
|
51
|
+
index++;
|
|
52
|
+
} else if (event.key === "ArrowUp") {
|
|
53
|
+
index--;
|
|
54
|
+
} else if (event.key === "Home") {
|
|
55
|
+
index = 0;
|
|
56
|
+
} else if (event.key === "End") {
|
|
57
|
+
index = items.length - 1;
|
|
58
|
+
}
|
|
59
|
+
if (index < 0) {
|
|
60
|
+
index = items.length - 1;
|
|
61
|
+
}
|
|
62
|
+
if (index > items.length - 1) {
|
|
63
|
+
index = 0;
|
|
64
|
+
}
|
|
65
|
+
this.setCurrentItem(items[index]);
|
|
66
|
+
items[index].focus();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
handleMouseDown(event) {
|
|
71
|
+
const target = event.target;
|
|
72
|
+
if (this.isMenuItem(target)) {
|
|
73
|
+
this.setCurrentItem(target);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
handleSlotChange() {
|
|
77
|
+
const items = this.getAllItems();
|
|
78
|
+
if (items.length > 0) {
|
|
79
|
+
this.setCurrentItem(items[0]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
isMenuItem(item) {
|
|
83
|
+
var _a;
|
|
84
|
+
return item.tagName.toLowerCase() === "syn-menu-item" || ["menuitem", "menuitemcheckbox", "menuitemradio"].includes((_a = item.getAttribute("role")) != null ? _a : "");
|
|
85
|
+
}
|
|
86
|
+
/** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */
|
|
87
|
+
getAllItems() {
|
|
88
|
+
return [...this.defaultSlot.assignedElements({ flatten: true })].filter((el) => {
|
|
89
|
+
if (el.inert || !this.isMenuItem(el)) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* @internal Gets the current menu item, which is the menu item that has `tabindex="0"` within the roving tab index.
|
|
97
|
+
* The menu item may or may not have focus, but for keyboard interaction purposes it's considered the "active" item.
|
|
98
|
+
*/
|
|
99
|
+
getCurrentItem() {
|
|
100
|
+
return this.getAllItems().find((i) => i.getAttribute("tabindex") === "0");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @internal Sets the current menu item to the specified element. This sets `tabindex="0"` on the target element and
|
|
104
|
+
* `tabindex="-1"` to all other items. This method must be called prior to setting focus on a menu item.
|
|
105
|
+
*/
|
|
106
|
+
setCurrentItem(item) {
|
|
107
|
+
const items = this.getAllItems();
|
|
108
|
+
items.forEach((i) => {
|
|
109
|
+
i.setAttribute("tabindex", i === item ? "0" : "-1");
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
render() {
|
|
113
|
+
return html`
|
|
114
|
+
<slot
|
|
115
|
+
@slotchange=${this.handleSlotChange}
|
|
116
|
+
@click=${this.handleClick}
|
|
117
|
+
@keydown=${this.handleKeyDown}
|
|
118
|
+
@mousedown=${this.handleMouseDown}
|
|
119
|
+
></slot>
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
SynMenu.styles = [component_styles_default, menu_styles_default, menu_custom_styles_default];
|
|
124
|
+
__decorateClass([
|
|
125
|
+
query("slot")
|
|
126
|
+
], SynMenu.prototype, "defaultSlot", 2);
|
|
127
|
+
|
|
128
|
+
export {
|
|
129
|
+
SynMenu
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=chunk.KZFU7TFZ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/menu/menu.component.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { html } from 'lit';\nimport { query } from 'lit/decorators.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './menu.styles.js';\nimport customStyles from './menu.custom.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.style/components/menu\n * @status stable\n * @since 2.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, customStyles];\n\n @query('slot') defaultSlot: HTMLSlotElement;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'menu');\n }\n\n private handleClick(event: MouseEvent) {\n const menuItemTypes = ['menuitem', 'menuitemcheckbox'];\n\n const target = event.composedPath().find((el: Element) => menuItemTypes.includes(el?.getAttribute?.('role') || ''));\n\n if (!target) return;\n\n // This isn't true. But we use it for TypeScript checks below.\n const item = target as SynMenuItem;\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 = event.target as HTMLElement;\n\n if (this.isMenuItem(target)) {\n this.setCurrentItem(target as SynMenuItem);\n }\n }\n\n private handleSlotChange() {\n const items = this.getAllItems();\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 /** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */\n getAllItems() {\n return [...this.defaultSlot.assignedElements({ flatten: true })].filter((el: HTMLElement) => {\n if (el.inert || !this.isMenuItem(el)) {\n return false;\n }\n return true;\n }) as SynMenuItem[];\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
|
SynCheckbox
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.XRLJLT47.js";
|
|
4
4
|
|
|
5
5
|
// src/components/checkbox/checkbox.ts
|
|
6
6
|
var checkbox_default = SynCheckbox;
|
|
@@ -9,4 +9,4 @@ SynCheckbox.define("syn-checkbox");
|
|
|
9
9
|
export {
|
|
10
10
|
checkbox_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.LDWFJMF6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynInput
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.MM2YC5ZH.js";
|
|
4
4
|
|
|
5
5
|
// src/components/input/input.ts
|
|
6
6
|
var input_default = SynInput;
|
|
@@ -9,4 +9,4 @@ SynInput.define("syn-input");
|
|
|
9
9
|
export {
|
|
10
10
|
input_default
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk.
|
|
12
|
+
//# sourceMappingURL=chunk.LKEOG4V4.js.map
|
|
@@ -67,7 +67,7 @@ var SynergyElement = class extends LitElement {
|
|
|
67
67
|
};
|
|
68
68
|
/* eslint-disable */
|
|
69
69
|
// @ts-expect-error This is auto-injected at build time.
|
|
70
|
-
SynergyElement.version = "1.
|
|
70
|
+
SynergyElement.version = "1.13.0";
|
|
71
71
|
SynergyElement.dependencies = {};
|
|
72
72
|
__decorateClass([
|
|
73
73
|
property()
|
|
@@ -80,4 +80,4 @@ export {
|
|
|
80
80
|
component_styles_default,
|
|
81
81
|
SynergyElement
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=chunk.
|
|
83
|
+
//# sourceMappingURL=chunk.LUPEZL5H.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/styles/component.styles.ts", "../../src/internal/synergy-element.ts"],
|
|
4
|
-
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* 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 = \"1.
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* 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 = \"1.13.0\";\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 customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\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\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": ";;;;;;AAMA,SAAS,WAAW;AAEpB,IAAO,2BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACFf,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AA+DzB,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EAcrD,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;AACnC,qBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,MAAC,GAA0C,OAAO;AAC/G;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,EAIA,cAAc;AACZ,UAAM;AACN,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AACF;AAAA;AAAA;AA5EqB,eAiCZ,UAAU;AAjCE,eAoEZ,eAAsD,CAAC;AAlElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SynButton
|
|
3
|
-
} from "./chunk.
|
|
3
|
+
} from "./chunk.XF4DS2IU.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.MEMVYSEM.js.map
|