@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.
Files changed (228) hide show
  1. package/dist/chunks/chunk.2KYFCKCK.js +10 -0
  2. package/dist/chunks/chunk.2KYFCKCK.js.map +7 -0
  3. package/dist/chunks/chunk.2QOQY4ZG.js +132 -0
  4. package/dist/chunks/chunk.2QOQY4ZG.js.map +7 -0
  5. package/dist/chunks/{chunk.GTSRMEPE.js → chunk.2QYALZBT.js} +2 -51
  6. package/dist/chunks/chunk.2QYALZBT.js.map +7 -0
  7. package/dist/chunks/{chunk.2OLVTQ5P.js → chunk.3A65FBTX.js} +2 -1
  8. package/dist/chunks/chunk.3A65FBTX.js.map +7 -0
  9. package/dist/chunks/chunk.3FOVDOJX.js +26 -0
  10. package/dist/chunks/chunk.3FOVDOJX.js.map +7 -0
  11. package/dist/chunks/{chunk.27H5YFFI.js → chunk.3PBOWA5U.js} +5 -5
  12. package/dist/chunks/{chunk.L6ENEGDU.js → chunk.4IIG6F76.js} +2 -2
  13. package/dist/chunks/{chunk.RUEZLCM4.js → chunk.4RYBHPDG.js} +2 -2
  14. package/dist/chunks/{chunk.XGXFE6IF.js → chunk.66WXVGAW.js} +16 -2
  15. package/dist/chunks/{chunk.XGXFE6IF.js.map → chunk.66WXVGAW.js.map} +1 -1
  16. package/dist/chunks/chunk.7BEVGRQ2.js +52 -0
  17. package/dist/chunks/chunk.7BEVGRQ2.js.map +7 -0
  18. package/dist/chunks/{chunk.RKCUJRKU.js → chunk.7JJZR4JG.js} +3 -3
  19. package/dist/chunks/{chunk.P2PJU2JX.js → chunk.AW7IXLZ6.js} +2 -2
  20. package/dist/chunks/{chunk.OEBVCWZK.js → chunk.B35CKL75.js} +2 -2
  21. package/dist/chunks/{chunk.NJPQTVZC.js → chunk.BAPPYU2J.js} +3 -3
  22. package/dist/chunks/{chunk.DAQB7JE5.js → chunk.BD3YJRAC.js} +2 -2
  23. package/dist/chunks/{chunk.RRG6TAY7.js → chunk.CKASWRIG.js} +2 -2
  24. package/dist/chunks/chunk.EMIN5Z4Y.js +12 -0
  25. package/dist/chunks/chunk.EMIN5Z4Y.js.map +7 -0
  26. package/dist/chunks/{chunk.5NLSHXNC.js → chunk.F2JCTYYN.js} +2 -2
  27. package/dist/chunks/chunk.FIVDEPVP.js +194 -0
  28. package/dist/chunks/chunk.FIVDEPVP.js.map +7 -0
  29. package/dist/chunks/{chunk.MTUGTGK4.js → chunk.FYJQBDYL.js} +2 -2
  30. package/dist/chunks/{chunk.XOIRFMBL.js → chunk.HJNNSNKN.js} +3 -3
  31. package/dist/chunks/chunk.HOJ7LSMH.js +12 -0
  32. package/dist/chunks/chunk.HOJ7LSMH.js.map +7 -0
  33. package/dist/chunks/chunk.J4XBGQBY.js +35 -0
  34. package/dist/chunks/chunk.J4XBGQBY.js.map +7 -0
  35. package/dist/chunks/{chunk.YJO3VNKR.js → chunk.JZLW5XX6.js} +2 -2
  36. package/dist/chunks/{chunk.24VV3YAD.js → chunk.K74W3RP4.js} +3 -3
  37. package/dist/chunks/chunk.KZFU7TFZ.js +131 -0
  38. package/dist/chunks/chunk.KZFU7TFZ.js.map +7 -0
  39. package/dist/chunks/{chunk.TIZ7TBXR.js → chunk.LDWFJMF6.js} +2 -2
  40. package/dist/chunks/{chunk.5Q46XTEM.js → chunk.LKEOG4V4.js} +2 -2
  41. package/dist/chunks/{chunk.WPY6PWSD.js → chunk.LUPEZL5H.js} +2 -2
  42. package/dist/chunks/{chunk.WPY6PWSD.js.map → chunk.LUPEZL5H.js.map} +1 -1
  43. package/dist/chunks/{chunk.KBQDYKZQ.js → chunk.MEMVYSEM.js} +2 -2
  44. package/dist/chunks/{chunk.Q3LOBGRV.js → chunk.MKKJWJHG.js} +2 -2
  45. package/dist/chunks/{chunk.WGHLFFPZ.js → chunk.MM2YC5ZH.js} +6 -6
  46. package/dist/chunks/{chunk.CHESV63R.js → chunk.NE7RLB6A.js} +2 -2
  47. package/dist/chunks/{chunk.HQC36QXK.js → chunk.NXAAWXFC.js} +18 -133
  48. package/dist/chunks/chunk.NXAAWXFC.js.map +7 -0
  49. package/dist/chunks/chunk.OOABXWCW.js +111 -0
  50. package/dist/chunks/chunk.OOABXWCW.js.map +7 -0
  51. package/dist/chunks/{chunk.EGIUUFQ4.js → chunk.OQ7JU642.js} +2 -2
  52. package/dist/chunks/{chunk.OQ72PVRS.js → chunk.OWAQA3TV.js} +2 -2
  53. package/dist/chunks/chunk.PDHVYHXD.js +156 -0
  54. package/dist/chunks/chunk.PDHVYHXD.js.map +7 -0
  55. package/dist/chunks/chunk.PILX7LVU.js +26 -0
  56. package/dist/chunks/chunk.PILX7LVU.js.map +7 -0
  57. package/dist/chunks/{chunk.G5AYV6GN.js → chunk.RBDVQQ3E.js} +6 -6
  58. package/dist/chunks/chunk.RRWSXFQ5.js +239 -0
  59. package/dist/chunks/chunk.RRWSXFQ5.js.map +7 -0
  60. package/dist/chunks/chunk.RSSY7KPD.js +24 -0
  61. package/dist/chunks/chunk.RSSY7KPD.js.map +7 -0
  62. package/dist/chunks/chunk.SLCYXMHB.js +57 -0
  63. package/dist/chunks/chunk.SLCYXMHB.js.map +7 -0
  64. package/dist/chunks/{chunk.WJX2T5MU.js → chunk.SR56N2RY.js} +6 -6
  65. package/dist/chunks/{chunk.XOL5KILI.js → chunk.T7D7X73E.js} +10 -8
  66. package/dist/chunks/{chunk.XOL5KILI.js.map → chunk.T7D7X73E.js.map} +1 -1
  67. package/dist/chunks/{chunk.EK3YHGUC.js → chunk.TDEBVJWI.js} +3 -3
  68. package/dist/chunks/{chunk.HIBWKIA6.js → chunk.TEWZUSS3.js} +3 -3
  69. package/dist/chunks/{chunk.C64JGJO3.js → chunk.TOBWLVQY.js} +2 -2
  70. package/dist/chunks/chunk.UJIWHSZR.js +12 -0
  71. package/dist/chunks/chunk.UJIWHSZR.js.map +7 -0
  72. package/dist/chunks/{chunk.XOQKLUKE.js → chunk.WBOGDY52.js} +2 -2
  73. package/dist/chunks/{chunk.HZDJ5AOY.js → chunk.WNUV3MAD.js} +3 -3
  74. package/dist/chunks/{chunk.3GR4ZUZH.js → chunk.WU6GTI3K.js} +2 -2
  75. package/dist/chunks/chunk.WWBODWZN.js +12 -0
  76. package/dist/chunks/chunk.WWBODWZN.js.map +7 -0
  77. package/dist/chunks/chunk.X6GR6IA2.js +29 -0
  78. package/dist/chunks/chunk.X6GR6IA2.js.map +7 -0
  79. package/dist/chunks/{chunk.HSC2UWAO.js → chunk.XF4DS2IU.js} +8 -8
  80. package/dist/chunks/{chunk.C5HHWDZB.js → chunk.XKURNDPY.js} +2 -2
  81. package/dist/chunks/{chunk.JAHRZFQ6.js → chunk.XRLJLT47.js} +4 -4
  82. package/dist/chunks/{chunk.TWO26WWF.js → chunk.YSDEWPDF.js} +4 -4
  83. package/dist/chunks/chunk.ZFDPWUKA.js +365 -0
  84. package/dist/chunks/chunk.ZFDPWUKA.js.map +7 -0
  85. package/dist/chunks/{chunk.42OELSP4.js → chunk.ZGKQGMNS.js} +2 -2
  86. package/dist/chunks/chunk.ZKGSBP7D.js +12 -0
  87. package/dist/chunks/chunk.ZKGSBP7D.js.map +7 -0
  88. package/dist/chunks/{chunk.6QB26MQP.js → chunk.ZPMKYF4O.js} +7 -7
  89. package/dist/components/button/button.component.js +7 -7
  90. package/dist/components/button/button.js +8 -8
  91. package/dist/components/button-group/button-group.component.js +2 -2
  92. package/dist/components/button-group/button-group.js +3 -3
  93. package/dist/components/checkbox/checkbox.component.js +6 -6
  94. package/dist/components/checkbox/checkbox.js +7 -7
  95. package/dist/components/divider/divider.component.js +2 -2
  96. package/dist/components/divider/divider.js +3 -3
  97. package/dist/components/drawer/drawer.component.js +11 -9
  98. package/dist/components/drawer/drawer.js +12 -10
  99. package/dist/components/dropdown/dropdown.component.d.ts +96 -0
  100. package/dist/components/dropdown/dropdown.component.js +19 -0
  101. package/dist/components/dropdown/dropdown.component.js.map +7 -0
  102. package/dist/components/dropdown/dropdown.custom.styles.d.ts +2 -0
  103. package/dist/components/dropdown/dropdown.custom.styles.js +8 -0
  104. package/dist/components/dropdown/dropdown.custom.styles.js.map +7 -0
  105. package/dist/components/dropdown/dropdown.d.ts +8 -0
  106. package/dist/components/dropdown/dropdown.js +20 -0
  107. package/dist/components/dropdown/dropdown.js.map +7 -0
  108. package/dist/components/dropdown/dropdown.styles.d.ts +2 -0
  109. package/dist/components/dropdown/dropdown.styles.js +8 -0
  110. package/dist/components/dropdown/dropdown.styles.js.map +7 -0
  111. package/dist/components/header/header.component.js +7 -7
  112. package/dist/components/header/header.js +8 -8
  113. package/dist/components/icon/icon.component.js +4 -4
  114. package/dist/components/icon/icon.js +5 -5
  115. package/dist/components/icon-button/icon-button.component.js +5 -5
  116. package/dist/components/icon-button/icon-button.js +6 -6
  117. package/dist/components/input/input.component.js +8 -8
  118. package/dist/components/input/input.custom.styles.js +1 -1
  119. package/dist/components/input/input.js +9 -9
  120. package/dist/components/menu/menu.component.d.ts +39 -0
  121. package/dist/components/menu/menu.component.js +11 -0
  122. package/dist/components/menu/menu.component.js.map +7 -0
  123. package/dist/components/menu/menu.custom.styles.d.ts +2 -0
  124. package/dist/components/menu/menu.custom.styles.js +8 -0
  125. package/dist/components/menu/menu.custom.styles.js.map +7 -0
  126. package/dist/components/menu/menu.d.ts +8 -0
  127. package/dist/components/menu/menu.js +12 -0
  128. package/dist/components/menu/menu.js.map +7 -0
  129. package/dist/components/menu/menu.styles.d.ts +2 -0
  130. package/dist/components/menu/menu.styles.js +8 -0
  131. package/dist/components/menu/menu.styles.js.map +7 -0
  132. package/dist/components/menu-item/menu-item.component.d.ts +67 -0
  133. package/dist/components/menu-item/menu-item.component.js +27 -0
  134. package/dist/components/menu-item/menu-item.component.js.map +7 -0
  135. package/dist/components/menu-item/menu-item.custom.styles.d.ts +2 -0
  136. package/dist/components/menu-item/menu-item.custom.styles.js +8 -0
  137. package/dist/components/menu-item/menu-item.custom.styles.js.map +7 -0
  138. package/dist/components/menu-item/menu-item.d.ts +8 -0
  139. package/dist/components/menu-item/menu-item.js +28 -0
  140. package/dist/components/menu-item/menu-item.js.map +7 -0
  141. package/dist/components/menu-item/menu-item.styles.d.ts +2 -0
  142. package/dist/components/menu-item/menu-item.styles.js +8 -0
  143. package/dist/components/menu-item/menu-item.styles.js.map +7 -0
  144. package/dist/components/menu-item/submenu-controller.d.ts +36 -0
  145. package/dist/components/menu-item/submenu-controller.js +11 -0
  146. package/dist/components/menu-item/submenu-controller.js.map +7 -0
  147. package/dist/components/menu-label/menu-label.component.d.ts +31 -0
  148. package/dist/components/menu-label/menu-label.component.js +15 -0
  149. package/dist/components/menu-label/menu-label.component.js.map +7 -0
  150. package/dist/components/menu-label/menu-label.custom.styles.d.ts +2 -0
  151. package/dist/components/menu-label/menu-label.custom.styles.js +8 -0
  152. package/dist/components/menu-label/menu-label.custom.styles.js.map +7 -0
  153. package/dist/components/menu-label/menu-label.d.ts +8 -0
  154. package/dist/components/menu-label/menu-label.js +16 -0
  155. package/dist/components/menu-label/menu-label.js.map +7 -0
  156. package/dist/components/menu-label/menu-label.styles.d.ts +2 -0
  157. package/dist/components/menu-label/menu-label.styles.js +8 -0
  158. package/dist/components/menu-label/menu-label.styles.js.map +7 -0
  159. package/dist/components/optgroup/optgroup.component.js +4 -4
  160. package/dist/components/optgroup/optgroup.js +5 -5
  161. package/dist/components/option/option.component.js +5 -5
  162. package/dist/components/option/option.js +6 -6
  163. package/dist/components/popup/popup.component.js +2 -2
  164. package/dist/components/popup/popup.d.ts +8 -0
  165. package/dist/components/popup/popup.js +11 -0
  166. package/dist/components/popup/popup.js.map +7 -0
  167. package/dist/components/radio/radio.component.js +5 -5
  168. package/dist/components/radio/radio.js +6 -6
  169. package/dist/components/radio-button/radio-button.component.js +3 -3
  170. package/dist/components/radio-button/radio-button.js +4 -4
  171. package/dist/components/radio-group/radio-group.component.js +5 -5
  172. package/dist/components/radio-group/radio-group.js +6 -6
  173. package/dist/components/select/select.component.js +13 -12
  174. package/dist/components/select/select.js +14 -13
  175. package/dist/components/spinner/spinner.component.js +2 -2
  176. package/dist/components/switch/switch.component.js +3 -3
  177. package/dist/components/switch/switch.js +4 -4
  178. package/dist/components/tag/tag.component.js +6 -6
  179. package/dist/components/tag/tag.js +7 -7
  180. package/dist/components/textarea/textarea.component.js +3 -3
  181. package/dist/components/textarea/textarea.js +4 -4
  182. package/dist/custom-elements.json +1802 -943
  183. package/dist/events/events.d.ts +1 -0
  184. package/dist/events/syn-select.d.ts +9 -0
  185. package/dist/synergy.d.ts +5 -0
  186. package/dist/synergy.js +97 -62
  187. package/dist/themes/utility.css +12 -3
  188. package/dist/vscode.html-custom-data.json +137 -17
  189. package/package.json +4 -4
  190. package/dist/chunks/chunk.2OLVTQ5P.js.map +0 -7
  191. package/dist/chunks/chunk.GTSRMEPE.js.map +0 -7
  192. package/dist/chunks/chunk.HQC36QXK.js.map +0 -7
  193. /package/dist/chunks/{chunk.27H5YFFI.js.map → chunk.3PBOWA5U.js.map} +0 -0
  194. /package/dist/chunks/{chunk.L6ENEGDU.js.map → chunk.4IIG6F76.js.map} +0 -0
  195. /package/dist/chunks/{chunk.RUEZLCM4.js.map → chunk.4RYBHPDG.js.map} +0 -0
  196. /package/dist/chunks/{chunk.RKCUJRKU.js.map → chunk.7JJZR4JG.js.map} +0 -0
  197. /package/dist/chunks/{chunk.P2PJU2JX.js.map → chunk.AW7IXLZ6.js.map} +0 -0
  198. /package/dist/chunks/{chunk.OEBVCWZK.js.map → chunk.B35CKL75.js.map} +0 -0
  199. /package/dist/chunks/{chunk.NJPQTVZC.js.map → chunk.BAPPYU2J.js.map} +0 -0
  200. /package/dist/chunks/{chunk.DAQB7JE5.js.map → chunk.BD3YJRAC.js.map} +0 -0
  201. /package/dist/chunks/{chunk.RRG6TAY7.js.map → chunk.CKASWRIG.js.map} +0 -0
  202. /package/dist/chunks/{chunk.5NLSHXNC.js.map → chunk.F2JCTYYN.js.map} +0 -0
  203. /package/dist/chunks/{chunk.MTUGTGK4.js.map → chunk.FYJQBDYL.js.map} +0 -0
  204. /package/dist/chunks/{chunk.XOIRFMBL.js.map → chunk.HJNNSNKN.js.map} +0 -0
  205. /package/dist/chunks/{chunk.YJO3VNKR.js.map → chunk.JZLW5XX6.js.map} +0 -0
  206. /package/dist/chunks/{chunk.24VV3YAD.js.map → chunk.K74W3RP4.js.map} +0 -0
  207. /package/dist/chunks/{chunk.TIZ7TBXR.js.map → chunk.LDWFJMF6.js.map} +0 -0
  208. /package/dist/chunks/{chunk.5Q46XTEM.js.map → chunk.LKEOG4V4.js.map} +0 -0
  209. /package/dist/chunks/{chunk.KBQDYKZQ.js.map → chunk.MEMVYSEM.js.map} +0 -0
  210. /package/dist/chunks/{chunk.Q3LOBGRV.js.map → chunk.MKKJWJHG.js.map} +0 -0
  211. /package/dist/chunks/{chunk.WGHLFFPZ.js.map → chunk.MM2YC5ZH.js.map} +0 -0
  212. /package/dist/chunks/{chunk.CHESV63R.js.map → chunk.NE7RLB6A.js.map} +0 -0
  213. /package/dist/chunks/{chunk.EGIUUFQ4.js.map → chunk.OQ7JU642.js.map} +0 -0
  214. /package/dist/chunks/{chunk.OQ72PVRS.js.map → chunk.OWAQA3TV.js.map} +0 -0
  215. /package/dist/chunks/{chunk.G5AYV6GN.js.map → chunk.RBDVQQ3E.js.map} +0 -0
  216. /package/dist/chunks/{chunk.WJX2T5MU.js.map → chunk.SR56N2RY.js.map} +0 -0
  217. /package/dist/chunks/{chunk.EK3YHGUC.js.map → chunk.TDEBVJWI.js.map} +0 -0
  218. /package/dist/chunks/{chunk.HIBWKIA6.js.map → chunk.TEWZUSS3.js.map} +0 -0
  219. /package/dist/chunks/{chunk.C64JGJO3.js.map → chunk.TOBWLVQY.js.map} +0 -0
  220. /package/dist/chunks/{chunk.XOQKLUKE.js.map → chunk.WBOGDY52.js.map} +0 -0
  221. /package/dist/chunks/{chunk.HZDJ5AOY.js.map → chunk.WNUV3MAD.js.map} +0 -0
  222. /package/dist/chunks/{chunk.3GR4ZUZH.js.map → chunk.WU6GTI3K.js.map} +0 -0
  223. /package/dist/chunks/{chunk.HSC2UWAO.js.map → chunk.XF4DS2IU.js.map} +0 -0
  224. /package/dist/chunks/{chunk.C5HHWDZB.js.map → chunk.XKURNDPY.js.map} +0 -0
  225. /package/dist/chunks/{chunk.JAHRZFQ6.js.map → chunk.XRLJLT47.js.map} +0 -0
  226. /package/dist/chunks/{chunk.TWO26WWF.js.map → chunk.YSDEWPDF.js.map} +0 -0
  227. /package/dist/chunks/{chunk.42OELSP4.js.map → chunk.ZGKQGMNS.js.map} +0 -0
  228. /package/dist/chunks/{chunk.6QB26MQP.js.map → chunk.ZPMKYF4O.js.map} +0 -0
@@ -0,0 +1,10 @@
1
+ // src/components/dropdown/dropdown.custom.styles.ts
2
+ import { css } from "lit";
3
+ var dropdown_custom_styles_default = css`
4
+ /* Write custom CSS here */
5
+ `;
6
+
7
+ export {
8
+ dropdown_custom_styles_default
9
+ };
10
+ //# sourceMappingURL=chunk.2KYFCKCK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/dropdown/dropdown.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n /* Write custom CSS here */\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,iCAAQ;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,132 @@
1
+ // src/internal/tabbable.ts
2
+ var computedStyleMap = /* @__PURE__ */ new WeakMap();
3
+ function getCachedComputedStyle(el) {
4
+ let computedStyle = computedStyleMap.get(el);
5
+ if (!computedStyle) {
6
+ computedStyle = window.getComputedStyle(el, null);
7
+ computedStyleMap.set(el, computedStyle);
8
+ }
9
+ return computedStyle;
10
+ }
11
+ function isVisible(el) {
12
+ if (typeof el.checkVisibility === "function") {
13
+ return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });
14
+ }
15
+ const computedStyle = getCachedComputedStyle(el);
16
+ return computedStyle.visibility !== "hidden" && computedStyle.display !== "none";
17
+ }
18
+ function isOverflowingAndTabbable(el) {
19
+ const computedStyle = getCachedComputedStyle(el);
20
+ const { overflowY, overflowX } = computedStyle;
21
+ if (overflowY === "scroll" || overflowX === "scroll") {
22
+ return true;
23
+ }
24
+ if (overflowY !== "auto" || overflowX !== "auto") {
25
+ return false;
26
+ }
27
+ const isOverflowingY = el.scrollHeight > el.clientHeight;
28
+ if (isOverflowingY && overflowY === "auto") {
29
+ return true;
30
+ }
31
+ const isOverflowingX = el.scrollWidth > el.clientWidth;
32
+ if (isOverflowingX && overflowX === "auto") {
33
+ return true;
34
+ }
35
+ return false;
36
+ }
37
+ function isTabbable(el) {
38
+ const tag = el.tagName.toLowerCase();
39
+ const tabindex = Number(el.getAttribute("tabindex"));
40
+ const hasTabindex = el.hasAttribute("tabindex");
41
+ if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {
42
+ return false;
43
+ }
44
+ if (el.hasAttribute("disabled")) {
45
+ return false;
46
+ }
47
+ if (el.closest("[inert]")) {
48
+ return false;
49
+ }
50
+ if (tag === "input" && el.getAttribute("type") === "radio" && !el.hasAttribute("checked")) {
51
+ return false;
52
+ }
53
+ if (!isVisible(el)) {
54
+ return false;
55
+ }
56
+ if ((tag === "audio" || tag === "video") && el.hasAttribute("controls")) {
57
+ return true;
58
+ }
59
+ if (el.hasAttribute("tabindex")) {
60
+ return true;
61
+ }
62
+ if (el.hasAttribute("contenteditable") && el.getAttribute("contenteditable") !== "false") {
63
+ return true;
64
+ }
65
+ const isNativelyTabbable = [
66
+ "button",
67
+ "input",
68
+ "select",
69
+ "textarea",
70
+ "a",
71
+ "audio",
72
+ "video",
73
+ "summary",
74
+ "iframe"
75
+ ].includes(tag);
76
+ if (isNativelyTabbable) {
77
+ return true;
78
+ }
79
+ return isOverflowingAndTabbable(el);
80
+ }
81
+ function getTabbableBoundary(root) {
82
+ var _a, _b;
83
+ const tabbableElements = getTabbableElements(root);
84
+ const start = (_a = tabbableElements[0]) != null ? _a : null;
85
+ const end = (_b = tabbableElements[tabbableElements.length - 1]) != null ? _b : null;
86
+ return { start, end };
87
+ }
88
+ function getSlottedChildrenOutsideRootElement(slotElement, root) {
89
+ var _a;
90
+ return ((_a = slotElement.getRootNode({ composed: true })) == null ? void 0 : _a.host) !== root;
91
+ }
92
+ function getTabbableElements(root) {
93
+ const walkedEls = /* @__PURE__ */ new WeakMap();
94
+ const tabbableElements = [];
95
+ function walk(el) {
96
+ if (el instanceof Element) {
97
+ if (el.hasAttribute("inert") || el.closest("[inert]")) {
98
+ return;
99
+ }
100
+ if (walkedEls.has(el)) {
101
+ return;
102
+ }
103
+ walkedEls.set(el, true);
104
+ if (!tabbableElements.includes(el) && isTabbable(el)) {
105
+ tabbableElements.push(el);
106
+ }
107
+ if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {
108
+ el.assignedElements({ flatten: true }).forEach((assignedEl) => {
109
+ walk(assignedEl);
110
+ });
111
+ }
112
+ if (el.shadowRoot !== null && el.shadowRoot.mode === "open") {
113
+ walk(el.shadowRoot);
114
+ }
115
+ }
116
+ for (const e of el.children) {
117
+ walk(e);
118
+ }
119
+ }
120
+ walk(root);
121
+ return tabbableElements.sort((a, b) => {
122
+ const aTabindex = Number(a.getAttribute("tabindex")) || 0;
123
+ const bTabindex = Number(b.getAttribute("tabindex")) || 0;
124
+ return bTabindex - aTabindex;
125
+ });
126
+ }
127
+
128
+ export {
129
+ getTabbableBoundary,
130
+ getTabbableElements
131
+ };
132
+ //# sourceMappingURL=chunk.2QOQY4ZG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/tabbable.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 */\n// Cached compute style calls. This is specifically for browsers that dont support `checkVisibility()`.\n// computedStyle calls are \"live\" so they only need to be retrieved once for an element.\nconst computedStyleMap = new WeakMap<Element, CSSStyleDeclaration>();\n\nfunction getCachedComputedStyle(el: HTMLElement): CSSStyleDeclaration {\n let computedStyle: undefined | CSSStyleDeclaration = computedStyleMap.get(el);\n\n if (!computedStyle) {\n computedStyle = window.getComputedStyle(el, null);\n computedStyleMap.set(el, computedStyle);\n }\n\n return computedStyle;\n}\n\nfunction isVisible(el: HTMLElement): boolean {\n // This is the fastest check, but isn't supported in Safari.\n if (typeof el.checkVisibility === 'function') {\n // Opacity is focusable, visibility is not.\n return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });\n }\n\n // Fallback \"polyfill\" for \"checkVisibility\"\n const computedStyle = getCachedComputedStyle(el);\n\n return computedStyle.visibility !== 'hidden' && computedStyle.display !== 'none';\n}\n\n// While this behavior isn't standard in Safari / Chrome yet, I think it's the most reasonable\n// way of handling tabbable overflow areas. Browser sniffing seems gross, and it's the most\n// accessible way of handling overflow areas. [Konnor]\nfunction isOverflowingAndTabbable(el: HTMLElement): boolean {\n const computedStyle = getCachedComputedStyle(el);\n\n const { overflowY, overflowX } = computedStyle;\n\n if (overflowY === 'scroll' || overflowX === 'scroll') {\n return true;\n }\n\n if (overflowY !== 'auto' || overflowX !== 'auto') {\n return false;\n }\n\n // Always overflow === \"auto\" by this point\n const isOverflowingY = el.scrollHeight > el.clientHeight;\n\n if (isOverflowingY && overflowY === 'auto') {\n return true;\n }\n\n const isOverflowingX = el.scrollWidth > el.clientWidth;\n\n if (isOverflowingX && overflowX === 'auto') {\n return true;\n }\n\n return false;\n}\n\n/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n const tabindex = Number(el.getAttribute('tabindex'));\n const hasTabindex = el.hasAttribute('tabindex');\n\n // elements with a tabindex attribute that is either NaN or <= -1 are not tabbable\n if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute('disabled')) {\n return false;\n }\n\n // If any parents have \"inert\", we aren't \"tabbable\"\n if (el.closest('[inert]')) {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === 'input' && el.getAttribute('type') === 'radio' && !el.hasAttribute('checked')) {\n return false;\n }\n\n if (!isVisible(el)) {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === 'audio' || tag === 'video') && el.hasAttribute('controls')) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute('tabindex')) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute('contenteditable') && el.getAttribute('contenteditable') !== 'false') {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n const isNativelyTabbable = [\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'a',\n 'audio',\n 'video',\n 'summary',\n 'iframe'\n ].includes(tag);\n\n if (isNativelyTabbable) {\n return true;\n }\n\n // We save the overflow checks for last, because they're the most expensive\n return isOverflowingAndTabbable(el);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const tabbableElements = getTabbableElements(root);\n\n // Find the first and last tabbable elements\n const start = tabbableElements[0] ?? null;\n const end = tabbableElements[tabbableElements.length - 1] ?? null;\n\n return { start, end };\n}\n\n/**\n * This looks funky. Basically a slot's children will always be picked up *if* they're within the `root` element.\n * However, there is an edge case when, if the `root` is wrapped by another shadow DOM, it won't grab the children.\n * This fixes that fun edge case.\n */\nfunction getSlottedChildrenOutsideRootElement(slotElement: HTMLSlotElement, root: HTMLElement | ShadowRoot) {\n return (slotElement.getRootNode({ composed: true }) as ShadowRoot | null)?.host !== root;\n}\n\nexport function getTabbableElements(root: HTMLElement | ShadowRoot) {\n const walkedEls = new WeakMap();\n const tabbableElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof Element) {\n // if the element has \"inert\" we can just no-op it.\n if (el.hasAttribute('inert') || el.closest('[inert]')) {\n return;\n }\n\n if (walkedEls.has(el)) {\n return;\n }\n walkedEls.set(el, true);\n\n if (!tabbableElements.includes(el) && isTabbable(el)) {\n tabbableElements.push(el);\n }\n\n if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {\n el.assignedElements({ flatten: true }).forEach((assignedEl: HTMLElement) => {\n walk(assignedEl);\n });\n }\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === 'open') {\n walk(el.shadowRoot);\n }\n }\n\n for (const e of el.children) {\n walk(e as HTMLElement);\n }\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Is this worth having? Most sorts will always add increased overhead. And positive tabindexes shouldn't really be used.\n // So is it worth being right? Or fast?\n return tabbableElements.sort((a, b) => {\n // Make sure we sort by tabindex.\n const aTabindex = Number(a.getAttribute('tabindex')) || 0;\n const bTabindex = Number(b.getAttribute('tabindex')) || 0;\n return bTabindex - aTabindex;\n });\n}\n"],
5
+ "mappings": ";AAQA,IAAM,mBAAmB,oBAAI,QAAsC;AAEnE,SAAS,uBAAuB,IAAsC;AACpE,MAAI,gBAAiD,iBAAiB,IAAI,EAAE;AAE5E,MAAI,CAAC,eAAe;AAClB,oBAAgB,OAAO,iBAAiB,IAAI,IAAI;AAChD,qBAAiB,IAAI,IAAI,aAAa;AAAA,EACxC;AAEA,SAAO;AACT;AAEA,SAAS,UAAU,IAA0B;AAE3C,MAAI,OAAO,GAAG,oBAAoB,YAAY;AAE5C,WAAO,GAAG,gBAAgB,EAAE,cAAc,OAAO,oBAAoB,KAAK,CAAC;AAAA,EAC7E;AAGA,QAAM,gBAAgB,uBAAuB,EAAE;AAE/C,SAAO,cAAc,eAAe,YAAY,cAAc,YAAY;AAC5E;AAKA,SAAS,yBAAyB,IAA0B;AAC1D,QAAM,gBAAgB,uBAAuB,EAAE;AAE/C,QAAM,EAAE,WAAW,UAAU,IAAI;AAEjC,MAAI,cAAc,YAAY,cAAc,UAAU;AACpD,WAAO;AAAA,EACT;AAEA,MAAI,cAAc,UAAU,cAAc,QAAQ;AAChD,WAAO;AAAA,EACT;AAGA,QAAM,iBAAiB,GAAG,eAAe,GAAG;AAE5C,MAAI,kBAAkB,cAAc,QAAQ;AAC1C,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB,GAAG,cAAc,GAAG;AAE3C,MAAI,kBAAkB,cAAc,QAAQ;AAC1C,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGA,SAAS,WAAW,IAAiB;AACnC,QAAM,MAAM,GAAG,QAAQ,YAAY;AAEnC,QAAM,WAAW,OAAO,GAAG,aAAa,UAAU,CAAC;AACnD,QAAM,cAAc,GAAG,aAAa,UAAU;AAG9C,MAAI,gBAAgB,MAAM,QAAQ,KAAK,YAAY,KAAK;AACtD,WAAO;AAAA,EACT;AAGA,MAAI,GAAG,aAAa,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAGA,MAAI,GAAG,QAAQ,SAAS,GAAG;AACzB,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,WAAW,GAAG,aAAa,MAAM,MAAM,WAAW,CAAC,GAAG,aAAa,SAAS,GAAG;AACzF,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,UAAU,EAAE,GAAG;AAClB,WAAO;AAAA,EACT;AAGA,OAAK,QAAQ,WAAW,QAAQ,YAAY,GAAG,aAAa,UAAU,GAAG;AACvE,WAAO;AAAA,EACT;AAGA,MAAI,GAAG,aAAa,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAGA,MAAI,GAAG,aAAa,iBAAiB,KAAK,GAAG,aAAa,iBAAiB,MAAM,SAAS;AACxF,WAAO;AAAA,EACT;AAGA,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,SAAS,GAAG;AAEd,MAAI,oBAAoB;AACtB,WAAO;AAAA,EACT;AAGA,SAAO,yBAAyB,EAAE;AACpC;AAMO,SAAS,oBAAoB,MAAgC;AAzIpE;AA0IE,QAAM,mBAAmB,oBAAoB,IAAI;AAGjD,QAAM,SAAQ,sBAAiB,CAAC,MAAlB,YAAuB;AACrC,QAAM,OAAM,sBAAiB,iBAAiB,SAAS,CAAC,MAA5C,YAAiD;AAE7D,SAAO,EAAE,OAAO,IAAI;AACtB;AAOA,SAAS,qCAAqC,aAA8B,MAAgC;AAxJ5G;AAyJE,WAAQ,iBAAY,YAAY,EAAE,UAAU,KAAK,CAAC,MAA1C,mBAAmE,UAAS;AACtF;AAEO,SAAS,oBAAoB,MAAgC;AAClE,QAAM,YAAY,oBAAI,QAAQ;AAC9B,QAAM,mBAAkC,CAAC;AAEzC,WAAS,KAAK,IAA8B;AAC1C,QAAI,cAAc,SAAS;AAEzB,UAAI,GAAG,aAAa,OAAO,KAAK,GAAG,QAAQ,SAAS,GAAG;AACrD;AAAA,MACF;AAEA,UAAI,UAAU,IAAI,EAAE,GAAG;AACrB;AAAA,MACF;AACA,gBAAU,IAAI,IAAI,IAAI;AAEtB,UAAI,CAAC,iBAAiB,SAAS,EAAE,KAAK,WAAW,EAAE,GAAG;AACpD,yBAAiB,KAAK,EAAE;AAAA,MAC1B;AAEA,UAAI,cAAc,mBAAmB,qCAAqC,IAAI,IAAI,GAAG;AACnF,WAAG,iBAAiB,EAAE,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,eAA4B;AAC1E,eAAK,UAAU;AAAA,QACjB,CAAC;AAAA,MACH;AAEA,UAAI,GAAG,eAAe,QAAQ,GAAG,WAAW,SAAS,QAAQ;AAC3D,aAAK,GAAG,UAAU;AAAA,MACpB;AAAA,IACF;AAEA,eAAW,KAAK,GAAG,UAAU;AAC3B,WAAK,CAAgB;AAAA,IACvB;AAAA,EACF;AAGA,OAAK,IAAI;AAIT,SAAO,iBAAiB,KAAK,CAAC,GAAG,MAAM;AAErC,UAAM,YAAY,OAAO,EAAE,aAAa,UAAU,CAAC,KAAK;AACxD,UAAM,YAAY,OAAO,EAAE,aAAa,UAAU,CAAC,KAAK;AACxD,WAAO,YAAY;AAAA,EACrB,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -1,36 +1,3 @@
1
- import {
2
- __spreadProps,
3
- __spreadValues
4
- } from "./chunk.QNDC5KWA.js";
5
-
6
- // src/internal/animate.ts
7
- function animateTo(el, keyframes, options) {
8
- return new Promise((resolve) => {
9
- if ((options == null ? void 0 : options.duration) === Infinity) {
10
- throw new Error("Promise-based animations must be finite.");
11
- }
12
- const animation = el.animate(keyframes, __spreadProps(__spreadValues({}, options), {
13
- duration: prefersReducedMotion() ? 0 : options.duration
14
- }));
15
- animation.addEventListener("cancel", resolve, { once: true });
16
- animation.addEventListener("finish", resolve, { once: true });
17
- });
18
- }
19
- function prefersReducedMotion() {
20
- const query = window.matchMedia("(prefers-reduced-motion: reduce)");
21
- return query.matches;
22
- }
23
- function stopAnimations(el) {
24
- return Promise.all(
25
- el.getAnimations().map((animation) => {
26
- return new Promise((resolve) => {
27
- animation.cancel();
28
- requestAnimationFrame(resolve);
29
- });
30
- })
31
- );
32
- }
33
-
34
1
  // src/internal/offset.ts
35
2
  function getOffset(element, parent) {
36
3
  return {
@@ -84,25 +51,9 @@ function scrollIntoView(element, container, direction = "vertical", behavior = "
84
51
  }
85
52
  }
86
53
 
87
- // src/internal/event.ts
88
- function waitForEvent(el, eventName) {
89
- return new Promise((resolve) => {
90
- function done(event) {
91
- if (event.target === el) {
92
- el.removeEventListener(eventName, done);
93
- resolve();
94
- }
95
- }
96
- el.addEventListener(eventName, done);
97
- });
98
- }
99
-
100
54
  export {
101
- animateTo,
102
- stopAnimations,
103
55
  lockBodyScrolling,
104
56
  unlockBodyScrolling,
105
- scrollIntoView,
106
- waitForEvent
57
+ scrollIntoView
107
58
  };
108
- //# sourceMappingURL=chunk.GTSRMEPE.js.map
59
+ //# sourceMappingURL=chunk.2QYALZBT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/offset.ts", "../../src/internal/scroll.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 */\n/**\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * NOTE: This was created to work around what appears to be a bug in Chrome where a slotted element's offsetParent seems\n * to ignore elements inside the surrounding shadow DOM: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n return {\n top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),\n left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left)\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 { getOffset } from './offset.js';\n\nconst locks = new Set();\n\n/** Returns the width of the document's scrollbar */\nfunction getScrollbarWidth() {\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n\n // When the first lock is created, set the scroll lock size to match the scrollbar's width to prevent content from\n // shifting. We only do this on the first lock because the scrollbar width will measure zero after overflow is hidden.\n if (!document.body.classList.contains('syn-scroll-lock')) {\n const scrollbarWidth = getScrollbarWidth(); // must be measured before the `syn-scroll-lock` class is applied\n document.body.classList.add('syn-scroll-lock');\n document.body.style.setProperty('--syn-scroll-lock-size', `${scrollbarWidth}px`);\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('syn-scroll-lock');\n document.body.style.removeProperty('--syn-scroll-lock-size');\n }\n}\n\n/** Scrolls an element into view of its container. If the element is already in view, nothing will happen. */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n behavior: 'smooth' | 'auto' = 'smooth'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n"],
5
+ "mappings": ";AAaO,SAAS,UAAU,SAAsB,QAAqB;AACnE,SAAO;AAAA,IACL,KAAK,KAAK,MAAM,QAAQ,sBAAsB,EAAE,MAAM,OAAO,sBAAsB,EAAE,GAAG;AAAA,IACxF,MAAM,KAAK,MAAM,QAAQ,sBAAsB,EAAE,OAAO,OAAO,sBAAsB,EAAE,IAAI;AAAA,EAC7F;AACF;;;ACVA,IAAM,QAAQ,oBAAI,IAAI;AAGtB,SAAS,oBAAoB;AAC3B,QAAM,gBAAgB,SAAS,gBAAgB;AAC/C,SAAO,KAAK,IAAI,OAAO,aAAa,aAAa;AACnD;AAMO,SAAS,kBAAkB,WAAwB;AACxD,QAAM,IAAI,SAAS;AAInB,MAAI,CAAC,SAAS,KAAK,UAAU,SAAS,iBAAiB,GAAG;AACxD,UAAM,iBAAiB,kBAAkB;AACzC,aAAS,KAAK,UAAU,IAAI,iBAAiB;AAC7C,aAAS,KAAK,MAAM,YAAY,0BAA0B,GAAG,cAAc,IAAI;AAAA,EACjF;AACF;AAKO,SAAS,oBAAoB,WAAwB;AAC1D,QAAM,OAAO,SAAS;AAEtB,MAAI,MAAM,SAAS,GAAG;AACpB,aAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,aAAS,KAAK,MAAM,eAAe,wBAAwB;AAAA,EAC7D;AACF;AAGO,SAAS,eACd,SACA,WACA,YAAgD,YAChD,WAA8B,UAC9B;AACA,QAAM,SAAS,UAAU,SAAS,SAAS;AAC3C,QAAM,YAAY,OAAO,MAAM,UAAU;AACzC,QAAM,aAAa,OAAO,OAAO,UAAU;AAC3C,QAAM,OAAO,UAAU;AACvB,QAAM,OAAO,UAAU,aAAa,UAAU;AAC9C,QAAM,OAAO,UAAU;AACvB,QAAM,OAAO,UAAU,YAAY,UAAU;AAE7C,MAAI,cAAc,gBAAgB,cAAc,QAAQ;AACtD,QAAI,aAAa,MAAM;AACrB,gBAAU,SAAS,EAAE,MAAM,YAAY,SAAS,CAAC;AAAA,IACnD,WAAW,aAAa,QAAQ,cAAc,MAAM;AAClD,gBAAU,SAAS,EAAE,MAAM,aAAa,UAAU,cAAc,QAAQ,aAAa,SAAS,CAAC;AAAA,IACjG;AAAA,EACF;AAEA,MAAI,cAAc,cAAc,cAAc,QAAQ;AACpD,QAAI,YAAY,MAAM;AACpB,gBAAU,SAAS,EAAE,KAAK,WAAW,SAAS,CAAC;AAAA,IACjD,WAAW,YAAY,QAAQ,eAAe,MAAM;AAClD,gBAAU,SAAS,EAAE,KAAK,YAAY,UAAU,eAAe,QAAQ,cAAc,SAAS,CAAC;AAAA,IACjG;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -5,6 +5,7 @@ var input_custom_styles_default = css`
5
5
  /**
6
6
  * Min-width size adjusted for each size so 2 full digits are shown for type number
7
7
  */
8
+
8
9
  :host([size="small"]) {
9
10
  min-width: calc(var(--syn-input-font-size-small)*8.3);
10
11
  }
@@ -251,4 +252,4 @@ var input_custom_styles_default = css`
251
252
  export {
252
253
  input_custom_styles_default
253
254
  };
254
- //# sourceMappingURL=chunk.2OLVTQ5P.js.map
255
+ //# sourceMappingURL=chunk.3A65FBTX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/input/input.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n\n /**\n * Min-width size adjusted for each size so 2 full digits are shown for type number\n */ \n \n :host([size=\"small\"]) {\n min-width: calc(var(--syn-input-font-size-small)*8.3);\n }\n\n :host([size=\"medium\"]) {\n min-width: calc(var(--syn-input-font-size-medium)*9.4);\n }\n\n :host([size=\"large\"]) {\n min-width: calc(var(--syn-input-font-size-large)*10);\n }\n\n /**\n * Clearable + Password Toggle\n */\n .input__clear {\n color: var(--syn-input-icon-icon-clearable-color);\n }\n\n .input--small .input__clear,\n .input--small .input__password-toggle {\n font-size: var(--syn-font-size-medium);\n padding-left: var(--syn-spacing-x-small);\n padding-right: var(--syn-spacing-small);\n width: auto;\n }\n\n .input--medium .input__clear,\n .input--medium .input__password-toggle {\n font-size: var(--syn-font-size-x-large);\n padding-left: var(--syn-spacing-small);\n padding-right: var(--syn-spacing-medium);\n width: auto;\n }\n\n .input--large .input__clear,\n .input--large .input__password-toggle {\n font-size: var(--syn-font-size-2x-large);\n padding-left: var(--syn-spacing-medium);\n padding-right: var(--syn-spacing-large);\n width: auto;\n }\n\n\n /* PADDINGS */\n .input--small .input__control {\n padding: var(--syn-spacing-3x-small) var(--syn-input-spacing-small);\n }\n\n .input--medium .input__control {\n padding: var(--syn-spacing-x-small) var(--syn-input-spacing-medium);\n }\n\n .input--large .input__control {\n padding: var(--syn-input-spacing-small) var(--syn-input-spacing-large);\n }\n\n .input--small .input__prefix ::slotted(*) {\n margin-inline: var(--syn-input-spacing-small) var(--syn-spacing-x-small);\n }\n\n .input--medium .input__prefix ::slotted(*) {\n margin-inline: var(--syn-input-spacing-medium) var(--syn-input-spacing-small);\n }\n\n .input--large .input__prefix ::slotted(*) {\n margin-inline: var(--syn-input-spacing-large) var(--syn-input-spacing-medium);\n }\n\n .input--small .input__suffix ::slotted(*) {\n margin-inline: var(--syn-spacing-x-small) var(--syn-input-spacing-small);\n }\n\n .input--medium .input__suffix ::slotted(*) {\n margin-inline: var(--syn-input-spacing-small) var(--syn-input-spacing-medium);\n }\n\n .input--large .input__suffix ::slotted(*) {\n margin-inline: var(--syn-input-spacing-medium) var(--syn-input-spacing-large);\n }\n\n .input__clear + .input__suffix ::slotted(*),\n .input__password-toggle + .input__suffix ::slotted(*) {\n margin-inline-start: 0; \n }\n\n .input--small .input__clear + .input__password-toggle {\n padding-left: var(--syn-spacing-2x-small);\n }\n\n .input--medium .input__clear + .input__password-toggle {\n padding-left: calc(var(--syn-spacing-2x-small) + var(--syn-spacing-3x-small));\n }\n\n .input--large .input__clear + .input__password-toggle {\n padding-left: var(--syn-spacing-x-small);\n }\n\n .input--small .input__clear:has(+ .input__password-toggle) {\n padding-right: var(--syn-spacing-2x-small);\n }\n\n .input--medium .input__clear:has(+ .input__password-toggle) {\n padding-right: calc(var(--syn-spacing-2x-small) + var(--syn-spacing-3x-small));\n }\n\n .input--large .input__clear:has(+ .input__password-toggle) {\n padding-right: var(--syn-spacing-x-small);\n }\n\n .form-control--has-suffix .input--large .input__clear:has(+ .input__suffix),\n .form-control--has-suffix .input--large .input__password-toggle:has(+ .input__suffix) {\n padding-right: var(--syn-spacing-medium);\n }\n\n .form-control--has-suffix .input--small .input__clear:has(+ .input__suffix),\n .form-control--has-suffix .input--small .input__password-toggle:has(+ .input__suffix) {\n padding-right: var(--syn-spacing-x-small);\n }\n\n .form-control--has-suffix .input--medium .input__clear:has(+ .input__suffix),\n .form-control--has-suffix .input--medium .input__password-toggle:has(+ .input__suffix) {\n padding-right: var(--syn-spacing-small);\n }\n\n :host([type='number']) .input--large:not(.input--no-spin-buttons) .input__clear,\n :host([type='number']) .input--large:not(.input--no-spin-buttons) .input__password-toggle {\n padding-right: var(--syn-spacing-medium);\n }\n\n /* ICONS SIZE */\n .input--small .input__prefix ::slotted(syn-icon),\n .input--small .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-medium);\n }\n\n .input--medium .input__prefix ::slotted(syn-icon),\n .input--medium .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-x-large);\n }\n\n .input--large .input__prefix ::slotted(syn-icon),\n .input--large .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-2x-large);\n }\n\n :host([data-user-invalid]) .input--standard {\n border-color: var(--syn-input-border-color-focus-error);\n }\n\n :host([data-user-invalid]) .input--standard.input--focused:not(.input--disabled) {\n border-color: var(--syn-input-border-color-focus-error);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);\n }\n\n .input--standard.input--disabled .input__suffix, \n .input--standard.input--disabled .input__prefix {\n cursor: not-allowed;\n } \n\n\n /**\n * Number stepper\n */\n .input__number-stepper {\n align-items: center;\n display: flex;\n }\n\n .input--small .input__number-stepper {\n margin-left: var(--syn-spacing-2x-small);\n }\n\n .input--medium .input__number-stepper {\n margin-right: var(--syn-spacing-2x-small);\n }\n\n .input--large .input__number-stepper {\n margin-right: var(--syn-spacing-x-small);\n }\n\n\n /**\n * Number stepper buttons\n */\n .input__number-stepper-button {\n align-items: center;\n background: none;\n border: none;\n color: var(--syn-color-primary-600);\n cursor: pointer;\n display: flex;\n padding: var(--syn-spacing-x-small);\n transition: var(--syn-transition-x-fast) color;\n }\n\n .input--small .input__number-stepper-button {\n font-size: var(--syn-font-size-medium);\n }\n\n .input--medium .input__number-stepper-button {\n font-size: var(--syn-font-size-x-large);\n }\n\n .input--large .input__number-stepper-button {\n font-size: var(--syn-font-size-2x-large);\n }\n\n .input__number-stepper-button:hover:not([disabled]) {\n color: var(--syn-color-primary-900)\n }\n\n .input__number-stepper-button:active:not([disabled]) {\n color: var(--syn-color-primary-950)\n }\n\n .input__number-stepper-button[disabled] {\n color: var(--syn-color-neutral-400);\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n\n\n /**\n * Number stepper divider\n */\n .input--small .input__number-divider {\n height: var(--syn-font-size-medium);\n margin: 0;\n }\n\n .input--medium .input__number-divider {\n height: var(--syn-font-size-x-large);\n margin: 0 var(--syn-spacing-2x-small);\n }\n\n .input--large .input__number-divider {\n height: var(--syn-font-size-2x-large);\n margin: 0 var(--syn-spacing-x-small);\n }\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,8BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ // src/components/menu-label/menu-label.styles.ts
2
+ import { css } from "lit";
3
+ var menu_label_styles_default = css`
4
+ /* stylelint-disable */
5
+ :host {
6
+ display: block;
7
+ }
8
+
9
+ .menu-label {
10
+ display: inline-block;
11
+ font-family: var(--syn-font-sans);
12
+ font-size: var(--syn-font-size-small);
13
+ font-weight: var(--syn-font-weight-semibold);
14
+ line-height: var(--syn-line-height-normal);
15
+ letter-spacing: var(--syn-letter-spacing-normal);
16
+ color: var(--syn-color-neutral-500);
17
+ padding: var(--syn-spacing-2x-small) var(--syn-spacing-x-large);
18
+ user-select: none;
19
+ -webkit-user-select: none;
20
+ }
21
+ `;
22
+
23
+ export {
24
+ menu_label_styles_default
25
+ };
26
+ //# sourceMappingURL=chunk.3FOVDOJX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/menu-label/menu-label.styles.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';\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: block;\n }\n\n .menu-label {\n display: inline-block;\n font-family: var(--syn-font-sans);\n font-size: var(--syn-font-size-small);\n font-weight: var(--syn-font-weight-semibold);\n line-height: var(--syn-line-height-normal);\n letter-spacing: var(--syn-letter-spacing-normal);\n color: var(--syn-color-neutral-500);\n padding: var(--syn-spacing-2x-small) var(--syn-spacing-x-large);\n user-select: none;\n -webkit-user-select: none;\n }\n`;\n"],
5
+ "mappings": ";AAMA,SAAS,WAAW;AACpB,IAAO,4BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,10 +1,10 @@
1
- import {
2
- button_group_styles_default
3
- } from "./chunk.A7IIJ2LL.js";
4
1
  import {
5
2
  SynergyElement,
6
3
  component_styles_default
7
- } from "./chunk.WPY6PWSD.js";
4
+ } from "./chunk.LUPEZL5H.js";
5
+ import {
6
+ button_group_styles_default
7
+ } from "./chunk.A7IIJ2LL.js";
8
8
  import {
9
9
  __decorateClass
10
10
  } from "./chunk.QNDC5KWA.js";
@@ -84,4 +84,4 @@ function findButton(el) {
84
84
  export {
85
85
  SynButtonGroup
86
86
  };
87
- //# sourceMappingURL=chunk.27H5YFFI.js.map
87
+ //# sourceMappingURL=chunk.3PBOWA5U.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadioButton
3
- } from "./chunk.EK3YHGUC.js";
3
+ } from "./chunk.TDEBVJWI.js";
4
4
 
5
5
  // src/components/radio-button/radio-button.ts
6
6
  var radio_button_default = SynRadioButton;
@@ -9,4 +9,4 @@ SynRadioButton.define("syn-radio-button");
9
9
  export {
10
10
  radio_button_default
11
11
  };
12
- //# sourceMappingURL=chunk.L6ENEGDU.js.map
12
+ //# sourceMappingURL=chunk.4IIG6F76.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  SynergyElement,
9
9
  component_styles_default
10
- } from "./chunk.WPY6PWSD.js";
10
+ } from "./chunk.LUPEZL5H.js";
11
11
 
12
12
  // src/components/spinner/spinner.component.ts
13
13
  import { html } from "lit";
@@ -30,4 +30,4 @@ SynSpinner.styles = [component_styles_default, spinner_styles_default];
30
30
  export {
31
31
  SynSpinner
32
32
  };
33
- //# sourceMappingURL=chunk.RUEZLCM4.js.map
33
+ //# sourceMappingURL=chunk.4RYBHPDG.js.map
@@ -42,8 +42,22 @@ var HasSlotController = class {
42
42
  this.host.shadowRoot.removeEventListener("slotchange", this.handleSlotChange);
43
43
  }
44
44
  };
45
+ function getTextContent(slot) {
46
+ if (!slot) {
47
+ return "";
48
+ }
49
+ const nodes = slot.assignedNodes({ flatten: true });
50
+ let text = "";
51
+ [...nodes].forEach((node) => {
52
+ if (node.nodeType === Node.TEXT_NODE) {
53
+ text += node.textContent;
54
+ }
55
+ });
56
+ return text;
57
+ }
45
58
 
46
59
  export {
47
- HasSlotController
60
+ HasSlotController,
61
+ getTextContent
48
62
  };
49
- //# sourceMappingURL=chunk.XGXFE6IF.js.map
63
+ //# sourceMappingURL=chunk.66WXVGAW.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/internal/slot.ts"],
4
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 type { ReactiveController, ReactiveControllerHost } from 'lit';\n\n/** A reactive controller that determines when slots exist. */\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent!.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === 'syn-visually-hidden') {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === '[default]' ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot!.addEventListener('slotchange', this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot!.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n private handleSlotChange = (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes('[default]') && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n };\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return '';\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = '';\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],
5
- "mappings": ";AASO,IAAM,oBAAN,MAAsD;AAAA,EAI3D,YAAY,SAA2C,WAAqB;AAF5E,qBAAsB,CAAC;AAgDvB,SAAQ,mBAAmB,CAAC,UAAiB;AAC3C,YAAM,OAAO,MAAM;AAEnB,UAAK,KAAK,UAAU,SAAS,WAAW,KAAK,CAAC,KAAK,QAAU,KAAK,QAAQ,KAAK,UAAU,SAAS,KAAK,IAAI,GAAI;AAC7G,aAAK,KAAK,cAAc;AAAA,MAC1B;AAAA,IACF;AAnDE,KAAC,KAAK,OAAO,MAAM,cAAc,IAAI;AACrC,SAAK,YAAY;AAAA,EACnB;AAAA,EAEQ,iBAAiB;AACvB,WAAO,CAAC,GAAG,KAAK,KAAK,UAAU,EAAE,KAAK,UAAQ;AAC5C,UAAI,KAAK,aAAa,KAAK,aAAa,KAAK,YAAa,KAAK,MAAM,IAAI;AACvE,eAAO;AAAA,MACT;AAEA,UAAI,KAAK,aAAa,KAAK,cAAc;AACvC,cAAM,KAAK;AACX,cAAM,UAAU,GAAG,QAAQ,YAAY;AAGvC,YAAI,YAAY,uBAAuB;AACrC,iBAAO;AAAA,QACT;AAGA,YAAI,CAAC,GAAG,aAAa,MAAM,GAAG;AAC5B,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEQ,aAAa,MAAc;AACjC,WAAO,KAAK,KAAK,cAAc,mBAAmB,IAAI,IAAI,MAAM;AAAA,EAClE;AAAA,EAEA,KAAK,UAAkB;AACrB,WAAO,aAAa,cAAc,KAAK,eAAe,IAAI,KAAK,aAAa,QAAQ;AAAA,EACtF;AAAA,EAEA,gBAAgB;AACd,SAAK,KAAK,WAAY,iBAAiB,cAAc,KAAK,gBAAgB;AAAA,EAC5E;AAAA,EAEA,mBAAmB;AACjB,SAAK,KAAK,WAAY,oBAAoB,cAAc,KAAK,gBAAgB;AAAA,EAC/E;AASF;",
5
+ "mappings": ";AASO,IAAM,oBAAN,MAAsD;AAAA,EAI3D,YAAY,SAA2C,WAAqB;AAF5E,qBAAsB,CAAC;AAgDvB,SAAQ,mBAAmB,CAAC,UAAiB;AAC3C,YAAM,OAAO,MAAM;AAEnB,UAAK,KAAK,UAAU,SAAS,WAAW,KAAK,CAAC,KAAK,QAAU,KAAK,QAAQ,KAAK,UAAU,SAAS,KAAK,IAAI,GAAI;AAC7G,aAAK,KAAK,cAAc;AAAA,MAC1B;AAAA,IACF;AAnDE,KAAC,KAAK,OAAO,MAAM,cAAc,IAAI;AACrC,SAAK,YAAY;AAAA,EACnB;AAAA,EAEQ,iBAAiB;AACvB,WAAO,CAAC,GAAG,KAAK,KAAK,UAAU,EAAE,KAAK,UAAQ;AAC5C,UAAI,KAAK,aAAa,KAAK,aAAa,KAAK,YAAa,KAAK,MAAM,IAAI;AACvE,eAAO;AAAA,MACT;AAEA,UAAI,KAAK,aAAa,KAAK,cAAc;AACvC,cAAM,KAAK;AACX,cAAM,UAAU,GAAG,QAAQ,YAAY;AAGvC,YAAI,YAAY,uBAAuB;AACrC,iBAAO;AAAA,QACT;AAGA,YAAI,CAAC,GAAG,aAAa,MAAM,GAAG;AAC5B,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEQ,aAAa,MAAc;AACjC,WAAO,KAAK,KAAK,cAAc,mBAAmB,IAAI,IAAI,MAAM;AAAA,EAClE;AAAA,EAEA,KAAK,UAAkB;AACrB,WAAO,aAAa,cAAc,KAAK,eAAe,IAAI,KAAK,aAAa,QAAQ;AAAA,EACtF;AAAA,EAEA,gBAAgB;AACd,SAAK,KAAK,WAAY,iBAAiB,cAAc,KAAK,gBAAgB;AAAA,EAC5E;AAAA,EAEA,mBAAmB;AACjB,SAAK,KAAK,WAAY,oBAAoB,cAAc,KAAK,gBAAgB;AAAA,EAC/E;AASF;AA2BO,SAAS,eAAe,MAAkD;AAC/E,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,KAAK,cAAc,EAAE,SAAS,KAAK,CAAC;AAClD,MAAI,OAAO;AAEX,GAAC,GAAG,KAAK,EAAE,QAAQ,UAAQ;AACzB,QAAI,KAAK,aAAa,KAAK,WAAW;AACpC,cAAQ,KAAK;AAAA,IACf;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,52 @@
1
+ import {
2
+ __spreadProps,
3
+ __spreadValues
4
+ } from "./chunk.QNDC5KWA.js";
5
+
6
+ // src/internal/animate.ts
7
+ function animateTo(el, keyframes, options) {
8
+ return new Promise((resolve) => {
9
+ if ((options == null ? void 0 : options.duration) === Infinity) {
10
+ throw new Error("Promise-based animations must be finite.");
11
+ }
12
+ const animation = el.animate(keyframes, __spreadProps(__spreadValues({}, options), {
13
+ duration: prefersReducedMotion() ? 0 : options.duration
14
+ }));
15
+ animation.addEventListener("cancel", resolve, { once: true });
16
+ animation.addEventListener("finish", resolve, { once: true });
17
+ });
18
+ }
19
+ function prefersReducedMotion() {
20
+ const query = window.matchMedia("(prefers-reduced-motion: reduce)");
21
+ return query.matches;
22
+ }
23
+ function stopAnimations(el) {
24
+ return Promise.all(
25
+ el.getAnimations().map((animation) => {
26
+ return new Promise((resolve) => {
27
+ animation.cancel();
28
+ requestAnimationFrame(resolve);
29
+ });
30
+ })
31
+ );
32
+ }
33
+
34
+ // src/internal/event.ts
35
+ function waitForEvent(el, eventName) {
36
+ return new Promise((resolve) => {
37
+ function done(event) {
38
+ if (event.target === el) {
39
+ el.removeEventListener(eventName, done);
40
+ resolve();
41
+ }
42
+ }
43
+ el.addEventListener(eventName, done);
44
+ });
45
+ }
46
+
47
+ export {
48
+ animateTo,
49
+ stopAnimations,
50
+ waitForEvent
51
+ };
52
+ //# sourceMappingURL=chunk.7BEVGRQ2.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/animate.ts", "../../src/internal/event.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 */\n/**\n * Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n */\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options!.duration\n });\n\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\n\n/** Parses a CSS duration and returns the number of milliseconds. */\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf('ms') > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf('s') > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n/** Tells if the user has enabled the \"reduced motion\" setting in their browser or OS. */\nexport function prefersReducedMotion() {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)');\n return query.matches;\n}\n\n/**\n * Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n */\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\n\n/**\n * We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n * element's scrollHeight before the animation.\n */\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === 'auto' ? `${calculatedHeight}px` : keyframe.height\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 */\n/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n"],
5
+ "mappings": ";;;;;;AASO,SAAS,UAAU,IAAiB,WAAuB,SAAoC;AACpG,SAAO,IAAI,QAAQ,aAAW;AAC5B,SAAI,mCAAS,cAAa,UAAU;AAClC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,YAAY,GAAG,QAAQ,WAAW,iCACnC,UADmC;AAAA,MAEtC,UAAU,qBAAqB,IAAI,IAAI,QAAS;AAAA,IAClD,EAAC;AAED,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAC5D,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9D,CAAC;AACH;AAkBO,SAAS,uBAAuB;AACrC,QAAM,QAAQ,OAAO,WAAW,kCAAkC;AAClE,SAAO,MAAM;AACf;AAKO,SAAS,eAAe,IAAiB;AAC9C,SAAO,QAAQ;AAAA,IACb,GAAG,cAAc,EAAE,IAAI,eAAa;AAClC,aAAO,IAAI,QAAQ,aAAW;AAC5B,kBAAU,OAAO;AACjB,8BAAsB,OAAO;AAAA,MAC/B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;;;ACnDO,SAAS,aAAa,IAAiB,WAAmB;AAC/D,SAAO,IAAI,QAAc,aAAW;AAClC,aAAS,KAAK,OAAc;AAC1B,UAAI,MAAM,WAAW,IAAI;AACvB,WAAG,oBAAoB,WAAW,IAAI;AACtC,gBAAQ;AAAA,MACV;AAAA,IACF;AAEA,OAAG,iBAAiB,WAAW,IAAI;AAAA,EACrC,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -9,14 +9,14 @@ import {
9
9
  } from "./chunk.LAB4YJYE.js";
10
10
  import {
11
11
  SynIcon
12
- } from "./chunk.6QB26MQP.js";
12
+ } from "./chunk.ZPMKYF4O.js";
13
13
  import {
14
14
  watch
15
15
  } from "./chunk.AVTU2BGE.js";
16
16
  import {
17
17
  SynergyElement,
18
18
  component_styles_default
19
- } from "./chunk.WPY6PWSD.js";
19
+ } from "./chunk.LUPEZL5H.js";
20
20
  import {
21
21
  __decorateClass
22
22
  } from "./chunk.QNDC5KWA.js";
@@ -144,4 +144,4 @@ __decorateClass([
144
144
  export {
145
145
  SynOption
146
146
  };
147
- //# sourceMappingURL=chunk.RKCUJRKU.js.map
147
+ //# sourceMappingURL=chunk.7JJZR4JG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTextarea
3
- } from "./chunk.HIBWKIA6.js";
3
+ } from "./chunk.TEWZUSS3.js";
4
4
 
5
5
  // src/components/textarea/textarea.ts
6
6
  var textarea_default = SynTextarea;
@@ -9,4 +9,4 @@ SynTextarea.define("syn-textarea");
9
9
  export {
10
10
  textarea_default
11
11
  };
12
- //# sourceMappingURL=chunk.P2PJU2JX.js.map
12
+ //# sourceMappingURL=chunk.AW7IXLZ6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynHeader
3
- } from "./chunk.WJX2T5MU.js";
3
+ } from "./chunk.SR56N2RY.js";
4
4
 
5
5
  // src/components/header/header.ts
6
6
  var header_default = SynHeader;
@@ -9,4 +9,4 @@ SynHeader.define("syn-header");
9
9
  export {
10
10
  header_default
11
11
  };
12
- //# sourceMappingURL=chunk.OEBVCWZK.js.map
12
+ //# sourceMappingURL=chunk.B35CKL75.js.map
@@ -16,14 +16,14 @@ import {
16
16
  } from "./chunk.SZCGMXW5.js";
17
17
  import {
18
18
  HasSlotController
19
- } from "./chunk.XGXFE6IF.js";
19
+ } from "./chunk.66WXVGAW.js";
20
20
  import {
21
21
  watch
22
22
  } from "./chunk.AVTU2BGE.js";
23
23
  import {
24
24
  SynergyElement,
25
25
  component_styles_default
26
- } from "./chunk.WPY6PWSD.js";
26
+ } from "./chunk.LUPEZL5H.js";
27
27
  import {
28
28
  __decorateClass
29
29
  } from "./chunk.QNDC5KWA.js";
@@ -247,4 +247,4 @@ __decorateClass([
247
247
  export {
248
248
  SynSwitch
249
249
  };
250
- //# sourceMappingURL=chunk.NJPQTVZC.js.map
250
+ //# sourceMappingURL=chunk.BAPPYU2J.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSelect
3
- } from "./chunk.XOL5KILI.js";
3
+ } from "./chunk.T7D7X73E.js";
4
4
 
5
5
  // src/components/select/select.ts
6
6
  var select_default = SynSelect;
@@ -9,4 +9,4 @@ SynSelect.define("syn-select");
9
9
  export {
10
10
  select_default
11
11
  };
12
- //# sourceMappingURL=chunk.DAQB7JE5.js.map
12
+ //# sourceMappingURL=chunk.BD3YJRAC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynOptgroup
3
- } from "./chunk.TWO26WWF.js";
3
+ } from "./chunk.YSDEWPDF.js";
4
4
 
5
5
  // src/components/optgroup/optgroup.ts
6
6
  var optgroup_default = SynOptgroup;
@@ -9,4 +9,4 @@ SynOptgroup.define("syn-optgroup");
9
9
  export {
10
10
  optgroup_default
11
11
  };
12
- //# sourceMappingURL=chunk.RRG6TAY7.js.map
12
+ //# sourceMappingURL=chunk.CKASWRIG.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynPopup
3
+ } from "./chunk.FYJQBDYL.js";
4
+
5
+ // src/components/popup/popup.ts
6
+ var popup_default = SynPopup;
7
+ SynPopup.define("syn-popup");
8
+
9
+ export {
10
+ popup_default
11
+ };
12
+ //# sourceMappingURL=chunk.EMIN5Z4Y.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/popup/popup.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 SynPopup from './popup.component.js';\n\nexport * from './popup.component.js';\nexport default SynPopup;\n\nSynPopup.define('syn-popup');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-popup': SynPopup;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,gBAAQ;AAEf,SAAS,OAAO,WAAW;",
6
+ "names": []
7
+ }