scu-web-components 0.0.22 → 0.0.25

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 (328) hide show
  1. package/dist/chunks/chunk.24NBMK6U.js +209 -0
  2. package/dist/chunks/chunk.24NBMK6U.js.map +7 -0
  3. package/dist/chunks/chunk.2BQ7UODT.js +2 -0
  4. package/dist/chunks/chunk.2BQ7UODT.js.map +7 -0
  5. package/dist/chunks/chunk.2ELG5CNM.js +36 -0
  6. package/dist/chunks/chunk.2ELG5CNM.js.map +7 -0
  7. package/dist/chunks/chunk.2EWF7YQO.js +2 -0
  8. package/dist/chunks/chunk.2EWF7YQO.js.map +7 -0
  9. package/dist/chunks/chunk.2WHWWJLN.js +246 -0
  10. package/dist/chunks/chunk.2WHWWJLN.js.map +7 -0
  11. package/dist/chunks/chunk.3G6ANMKZ.js +2 -0
  12. package/dist/chunks/chunk.3G6ANMKZ.js.map +7 -0
  13. package/dist/chunks/chunk.3JE4PL4T.js +2 -0
  14. package/dist/chunks/chunk.3JE4PL4T.js.map +7 -0
  15. package/dist/chunks/chunk.4J2YYREQ.js +2 -0
  16. package/dist/chunks/chunk.4J2YYREQ.js.map +7 -0
  17. package/dist/chunks/chunk.4M3UL46P.js +2 -0
  18. package/dist/chunks/chunk.4M3UL46P.js.map +7 -0
  19. package/dist/chunks/chunk.4QKLGLBT.js +17 -0
  20. package/dist/chunks/chunk.4QKLGLBT.js.map +7 -0
  21. package/dist/chunks/chunk.4UACPW3F.js +36 -0
  22. package/dist/chunks/chunk.4UACPW3F.js.map +7 -0
  23. package/dist/chunks/chunk.55WXL65L.js +2 -0
  24. package/dist/chunks/chunk.55WXL65L.js.map +7 -0
  25. package/dist/chunks/chunk.5BFTTZIS.js +17 -0
  26. package/dist/chunks/chunk.5BFTTZIS.js.map +7 -0
  27. package/dist/chunks/chunk.5I3BUSVW.js +4 -0
  28. package/dist/chunks/chunk.5I3BUSVW.js.map +7 -0
  29. package/dist/chunks/chunk.5KRMSIKB.js +2 -0
  30. package/dist/chunks/chunk.5KRMSIKB.js.map +7 -0
  31. package/dist/chunks/chunk.5Y44B36I.js +2 -0
  32. package/dist/chunks/chunk.5Y44B36I.js.map +7 -0
  33. package/dist/chunks/chunk.62BSOUMV.js +246 -0
  34. package/dist/chunks/chunk.62BSOUMV.js.map +7 -0
  35. package/dist/chunks/chunk.6DQQWKEH.js +207 -0
  36. package/dist/chunks/chunk.6DQQWKEH.js.map +7 -0
  37. package/dist/chunks/chunk.6IOOPRMR.js +246 -0
  38. package/dist/chunks/chunk.6IOOPRMR.js.map +7 -0
  39. package/dist/chunks/chunk.6PZBNKZO.js +2 -0
  40. package/dist/chunks/chunk.6PZBNKZO.js.map +7 -0
  41. package/dist/chunks/chunk.6UC46GFP.js +246 -0
  42. package/dist/chunks/chunk.6UC46GFP.js.map +7 -0
  43. package/dist/chunks/chunk.6Z3LLVPT.js +2 -0
  44. package/dist/chunks/chunk.6Z3LLVPT.js.map +7 -0
  45. package/dist/chunks/chunk.76QR74HA.js +2 -0
  46. package/dist/chunks/chunk.76QR74HA.js.map +7 -0
  47. package/dist/chunks/chunk.76VAIQNL.js +2 -0
  48. package/dist/chunks/chunk.76VAIQNL.js.map +7 -0
  49. package/dist/chunks/chunk.7I6Z5MNC.js +32 -0
  50. package/dist/chunks/chunk.7I6Z5MNC.js.map +7 -0
  51. package/dist/chunks/chunk.7K6STK3D.js +2 -0
  52. package/dist/chunks/chunk.7K6STK3D.js.map +7 -0
  53. package/dist/chunks/chunk.7N44TYQ4.js +36 -0
  54. package/dist/chunks/chunk.7N44TYQ4.js.map +7 -0
  55. package/dist/chunks/chunk.7UYJHKA2.js +2 -0
  56. package/dist/chunks/chunk.7UYJHKA2.js.map +7 -0
  57. package/dist/chunks/chunk.AFSROIGE.js +2 -0
  58. package/dist/chunks/chunk.AFSROIGE.js.map +7 -0
  59. package/dist/chunks/chunk.AGSOV6KN.js +2 -0
  60. package/dist/chunks/chunk.AGSOV6KN.js.map +7 -0
  61. package/dist/chunks/chunk.ALNUWLAA.js +246 -0
  62. package/dist/chunks/chunk.ALNUWLAA.js.map +7 -0
  63. package/dist/chunks/chunk.ASPERYN6.js +17 -0
  64. package/dist/chunks/chunk.ASPERYN6.js.map +7 -0
  65. package/dist/chunks/chunk.B2K5UEIA.js +4 -0
  66. package/dist/chunks/chunk.B2K5UEIA.js.map +7 -0
  67. package/dist/chunks/chunk.BCRS6BHB.js +2 -0
  68. package/dist/chunks/chunk.BCRS6BHB.js.map +7 -0
  69. package/dist/chunks/chunk.BLUL53KO.js +2 -0
  70. package/dist/chunks/chunk.BLUL53KO.js.map +7 -0
  71. package/dist/chunks/chunk.BLURUGZZ.js +2 -0
  72. package/dist/chunks/chunk.BLURUGZZ.js.map +7 -0
  73. package/dist/chunks/chunk.BQDEQXNF.js +246 -0
  74. package/dist/chunks/chunk.BQDEQXNF.js.map +7 -0
  75. package/dist/chunks/chunk.BRZSOG7L.js +17 -0
  76. package/dist/chunks/chunk.BRZSOG7L.js.map +7 -0
  77. package/dist/chunks/chunk.C5GIRELG.js +246 -0
  78. package/dist/chunks/chunk.C5GIRELG.js.map +7 -0
  79. package/dist/chunks/chunk.C77Z2GOU.js +2 -0
  80. package/dist/chunks/chunk.C77Z2GOU.js.map +7 -0
  81. package/dist/chunks/chunk.CJCFUQDV.js +2 -0
  82. package/dist/chunks/chunk.CJCFUQDV.js.map +7 -0
  83. package/dist/chunks/chunk.CL4H34X3.js +2 -0
  84. package/dist/chunks/chunk.CL4H34X3.js.map +7 -0
  85. package/dist/chunks/chunk.CPPVHUGU.js +58 -0
  86. package/dist/chunks/chunk.CPPVHUGU.js.map +7 -0
  87. package/dist/chunks/chunk.CQVODQM5.js +246 -0
  88. package/dist/chunks/chunk.CQVODQM5.js.map +7 -0
  89. package/dist/chunks/chunk.CUVIYUQF.js +4 -0
  90. package/dist/chunks/chunk.CUVIYUQF.js.map +7 -0
  91. package/dist/chunks/chunk.CY7BMNC7.js +2 -0
  92. package/dist/chunks/chunk.CY7BMNC7.js.map +7 -0
  93. package/dist/chunks/chunk.D2XBOP43.js +4 -0
  94. package/dist/chunks/chunk.D2XBOP43.js.map +7 -0
  95. package/dist/chunks/chunk.DIGVG2Z4.js +2 -0
  96. package/dist/chunks/chunk.DIGVG2Z4.js.map +7 -0
  97. package/dist/chunks/chunk.DMINXQPK.js +2 -0
  98. package/dist/chunks/chunk.DMINXQPK.js.map +7 -0
  99. package/dist/chunks/chunk.DSHY3BSF.js +2 -0
  100. package/dist/chunks/chunk.DSHY3BSF.js.map +7 -0
  101. package/dist/chunks/chunk.DX5NKIGH.js +2 -0
  102. package/dist/chunks/chunk.DX5NKIGH.js.map +7 -0
  103. package/dist/chunks/chunk.EFY6AEW3.js +256 -0
  104. package/dist/chunks/chunk.EFY6AEW3.js.map +7 -0
  105. package/dist/chunks/chunk.EXTERN74.js +246 -0
  106. package/dist/chunks/chunk.EXTERN74.js.map +7 -0
  107. package/dist/chunks/chunk.F37ZBJTZ.js +58 -0
  108. package/dist/chunks/chunk.F37ZBJTZ.js.map +7 -0
  109. package/dist/chunks/chunk.FFYRZL5P.js +36 -0
  110. package/dist/chunks/chunk.FFYRZL5P.js.map +7 -0
  111. package/dist/chunks/chunk.FGDIFLCG.js +209 -0
  112. package/dist/chunks/chunk.FGDIFLCG.js.map +7 -0
  113. package/dist/chunks/chunk.FGYESAKS.js +17 -0
  114. package/dist/chunks/chunk.FGYESAKS.js.map +7 -0
  115. package/dist/chunks/chunk.FSDNLIWI.js +246 -0
  116. package/dist/chunks/chunk.FSDNLIWI.js.map +7 -0
  117. package/dist/chunks/chunk.FTZRYMGD.js +246 -0
  118. package/dist/chunks/chunk.FTZRYMGD.js.map +7 -0
  119. package/dist/chunks/chunk.FXIPPNQF.js +4 -0
  120. package/dist/chunks/chunk.FXIPPNQF.js.map +7 -0
  121. package/dist/chunks/chunk.FYX7SUTY.js +2 -0
  122. package/dist/chunks/chunk.FYX7SUTY.js.map +7 -0
  123. package/dist/chunks/chunk.GKPHHJ6O.js +2 -0
  124. package/dist/chunks/chunk.GKPHHJ6O.js.map +7 -0
  125. package/dist/chunks/chunk.GNYOOVQH.js +2 -0
  126. package/dist/chunks/chunk.GNYOOVQH.js.map +7 -0
  127. package/dist/chunks/chunk.GPGNXNQL.js +2 -0
  128. package/dist/chunks/chunk.GPGNXNQL.js.map +7 -0
  129. package/dist/chunks/chunk.GZA7MQCC.js +2 -0
  130. package/dist/chunks/chunk.GZA7MQCC.js.map +7 -0
  131. package/dist/chunks/chunk.GZS6TA3M.js +2 -0
  132. package/dist/chunks/chunk.GZS6TA3M.js.map +7 -0
  133. package/dist/chunks/chunk.H4SWVIDO.js +2 -0
  134. package/dist/chunks/chunk.H4SWVIDO.js.map +7 -0
  135. package/dist/chunks/chunk.I3OTM2TA.js +58 -0
  136. package/dist/chunks/chunk.I3OTM2TA.js.map +7 -0
  137. package/dist/chunks/chunk.IHF2YHH2.js +2 -0
  138. package/dist/chunks/chunk.IHF2YHH2.js.map +7 -0
  139. package/dist/chunks/chunk.INKWYFUB.js +4 -0
  140. package/dist/chunks/chunk.INKWYFUB.js.map +7 -0
  141. package/dist/chunks/chunk.IP7ASGZ6.js +2 -0
  142. package/dist/chunks/chunk.IP7ASGZ6.js.map +7 -0
  143. package/dist/chunks/chunk.J5HZGWVY.js +17 -0
  144. package/dist/chunks/chunk.J5HZGWVY.js.map +7 -0
  145. package/dist/chunks/chunk.JJRLXFKE.js +58 -0
  146. package/dist/chunks/chunk.JJRLXFKE.js.map +7 -0
  147. package/dist/chunks/chunk.JS4YAO4B.js +29 -0
  148. package/dist/chunks/chunk.JS4YAO4B.js.map +7 -0
  149. package/dist/chunks/chunk.KT4MZLLK.js +2 -0
  150. package/dist/chunks/chunk.KT4MZLLK.js.map +7 -0
  151. package/dist/chunks/chunk.L3ILTO7U.js +2 -0
  152. package/dist/chunks/chunk.L3ILTO7U.js.map +7 -0
  153. package/dist/chunks/chunk.L7PT5ADQ.js +4 -0
  154. package/dist/chunks/chunk.L7PT5ADQ.js.map +7 -0
  155. package/dist/chunks/chunk.LCOK4GPO.js +2 -0
  156. package/dist/chunks/chunk.LCOK4GPO.js.map +7 -0
  157. package/dist/chunks/chunk.LEIF5C3J.js +17 -0
  158. package/dist/chunks/chunk.LEIF5C3J.js.map +7 -0
  159. package/dist/chunks/chunk.LPZIEPKJ.js +2 -0
  160. package/dist/chunks/chunk.LPZIEPKJ.js.map +7 -0
  161. package/dist/chunks/chunk.LZYJXAXV.js +4 -0
  162. package/dist/chunks/chunk.LZYJXAXV.js.map +7 -0
  163. package/dist/chunks/chunk.M3VMHGNE.js +2 -0
  164. package/dist/chunks/chunk.M3VMHGNE.js.map +7 -0
  165. package/dist/chunks/chunk.MDHIXFBN.js +2 -0
  166. package/dist/chunks/chunk.MDHIXFBN.js.map +7 -0
  167. package/dist/chunks/chunk.MMXBXV6L.js +17 -0
  168. package/dist/chunks/chunk.MMXBXV6L.js.map +7 -0
  169. package/dist/chunks/chunk.MTKBF5OZ.js +2 -0
  170. package/dist/chunks/chunk.MTKBF5OZ.js.map +7 -0
  171. package/dist/chunks/chunk.MX2YVDL5.js +17 -0
  172. package/dist/chunks/chunk.MX2YVDL5.js.map +7 -0
  173. package/dist/chunks/chunk.NAXVDSZN.js +2 -0
  174. package/dist/chunks/chunk.NAXVDSZN.js.map +7 -0
  175. package/dist/chunks/chunk.NDDFSJRX.js +209 -0
  176. package/dist/chunks/chunk.NDDFSJRX.js.map +7 -0
  177. package/dist/chunks/chunk.NTUWOJ5D.js +17 -0
  178. package/dist/chunks/chunk.NTUWOJ5D.js.map +7 -0
  179. package/dist/chunks/chunk.NZGSYMV4.js +4 -0
  180. package/dist/chunks/chunk.NZGSYMV4.js.map +7 -0
  181. package/dist/chunks/chunk.O2YFBNPC.js +2 -0
  182. package/dist/chunks/chunk.O2YFBNPC.js.map +7 -0
  183. package/dist/chunks/chunk.O5UC6O56.js +32 -0
  184. package/dist/chunks/chunk.O5UC6O56.js.map +7 -0
  185. package/dist/chunks/chunk.OINL3FAK.js +4 -0
  186. package/dist/chunks/chunk.OINL3FAK.js.map +7 -0
  187. package/dist/chunks/chunk.PD4IRPPA.js +2 -0
  188. package/dist/chunks/chunk.PD4IRPPA.js.map +7 -0
  189. package/dist/chunks/chunk.PMYMTICS.js +2 -0
  190. package/dist/chunks/chunk.PMYMTICS.js.map +7 -0
  191. package/dist/chunks/chunk.PN3RL7XO.js +36 -0
  192. package/dist/chunks/chunk.PN3RL7XO.js.map +7 -0
  193. package/dist/chunks/chunk.QHUX6JHG.js +36 -0
  194. package/dist/chunks/chunk.QHUX6JHG.js.map +7 -0
  195. package/dist/chunks/chunk.QMLRJZZB.js +2 -0
  196. package/dist/chunks/chunk.QMLRJZZB.js.map +7 -0
  197. package/dist/chunks/chunk.QST5ZAJK.js +246 -0
  198. package/dist/chunks/chunk.QST5ZAJK.js.map +7 -0
  199. package/dist/chunks/chunk.QVUO4ZOA.js +4 -0
  200. package/dist/chunks/chunk.QVUO4ZOA.js.map +7 -0
  201. package/dist/chunks/chunk.RH7GIGVO.js +17 -0
  202. package/dist/chunks/chunk.RH7GIGVO.js.map +7 -0
  203. package/dist/chunks/chunk.RKKGBGBX.js +4 -0
  204. package/dist/chunks/chunk.RKKGBGBX.js.map +7 -0
  205. package/dist/chunks/chunk.RMDMYNAU.js +36 -0
  206. package/dist/chunks/chunk.RMDMYNAU.js.map +7 -0
  207. package/dist/chunks/chunk.RNTFMTDE.js +17 -0
  208. package/dist/chunks/chunk.RNTFMTDE.js.map +7 -0
  209. package/dist/chunks/chunk.RSW5FCED.js +4 -0
  210. package/dist/chunks/chunk.RSW5FCED.js.map +7 -0
  211. package/dist/chunks/chunk.S5J43BJV.js +2 -0
  212. package/dist/chunks/chunk.S5J43BJV.js.map +7 -0
  213. package/dist/chunks/chunk.SHPKVE4P.js +117 -0
  214. package/dist/chunks/chunk.SHPKVE4P.js.map +7 -0
  215. package/dist/chunks/chunk.SPEZE3RA.js +2 -0
  216. package/dist/chunks/chunk.SPEZE3RA.js.map +7 -0
  217. package/dist/chunks/chunk.TJZEAEKS.js +2 -0
  218. package/dist/chunks/chunk.TJZEAEKS.js.map +7 -0
  219. package/dist/chunks/chunk.UAADPCC6.js +246 -0
  220. package/dist/chunks/chunk.UAADPCC6.js.map +7 -0
  221. package/dist/chunks/chunk.UDJE7KH5.js +2 -0
  222. package/dist/chunks/chunk.UDJE7KH5.js.map +7 -0
  223. package/dist/chunks/chunk.UFYA7GJU.js +36 -0
  224. package/dist/chunks/chunk.UFYA7GJU.js.map +7 -0
  225. package/dist/chunks/chunk.UKX45VM7.js +2 -0
  226. package/dist/chunks/chunk.UKX45VM7.js.map +7 -0
  227. package/dist/chunks/chunk.UPR7HWJ5.js +17 -0
  228. package/dist/chunks/chunk.UPR7HWJ5.js.map +7 -0
  229. package/dist/chunks/chunk.V3LEMJZR.js +256 -0
  230. package/dist/chunks/chunk.V3LEMJZR.js.map +7 -0
  231. package/dist/chunks/chunk.V7F4VPXB.js +2 -0
  232. package/dist/chunks/chunk.V7F4VPXB.js.map +7 -0
  233. package/dist/chunks/chunk.VFAS7RP6.js +2 -0
  234. package/dist/chunks/chunk.VFAS7RP6.js.map +7 -0
  235. package/dist/chunks/chunk.VPDYSMB4.js +58 -0
  236. package/dist/chunks/chunk.VPDYSMB4.js.map +7 -0
  237. package/dist/chunks/chunk.VPW473FF.js +2 -0
  238. package/dist/chunks/chunk.VPW473FF.js.map +7 -0
  239. package/dist/chunks/chunk.VT6GFWJT.js +2 -0
  240. package/dist/chunks/chunk.VT6GFWJT.js.map +7 -0
  241. package/dist/chunks/chunk.VT7UXJBE.js +17 -0
  242. package/dist/chunks/chunk.VT7UXJBE.js.map +7 -0
  243. package/dist/chunks/chunk.W6H7G665.js +2 -0
  244. package/dist/chunks/chunk.W6H7G665.js.map +7 -0
  245. package/dist/chunks/chunk.WDBRBMRH.js +2 -0
  246. package/dist/chunks/chunk.WDBRBMRH.js.map +7 -0
  247. package/dist/chunks/chunk.WJZDCAGA.js +2 -0
  248. package/dist/chunks/chunk.WJZDCAGA.js.map +7 -0
  249. package/dist/chunks/chunk.WKZAWGJI.js +2 -0
  250. package/dist/chunks/chunk.WKZAWGJI.js.map +7 -0
  251. package/dist/chunks/chunk.WQYSOMPH.js +58 -0
  252. package/dist/chunks/chunk.WQYSOMPH.js.map +7 -0
  253. package/dist/chunks/chunk.WRAMQCIW.js +2 -0
  254. package/dist/chunks/chunk.WRAMQCIW.js.map +7 -0
  255. package/dist/chunks/chunk.X3WJMHOP.js +36 -0
  256. package/dist/chunks/chunk.X3WJMHOP.js.map +7 -0
  257. package/dist/chunks/chunk.XASOWM5Z.js +2 -0
  258. package/dist/chunks/chunk.XASOWM5Z.js.map +7 -0
  259. package/dist/chunks/chunk.XNMMKUIO.js +2 -0
  260. package/dist/chunks/chunk.XNMMKUIO.js.map +7 -0
  261. package/dist/chunks/chunk.XPT2Z5AB.js +117 -0
  262. package/dist/chunks/chunk.XPT2Z5AB.js.map +7 -0
  263. package/dist/chunks/chunk.XQPLZOJP.js +2 -0
  264. package/dist/chunks/chunk.XQPLZOJP.js.map +7 -0
  265. package/dist/chunks/chunk.Y53HTV6U.js +2 -0
  266. package/dist/chunks/chunk.Y53HTV6U.js.map +7 -0
  267. package/dist/chunks/chunk.YI7XGVNH.js +4 -0
  268. package/dist/chunks/chunk.YI7XGVNH.js.map +7 -0
  269. package/dist/chunks/chunk.YT6IL43L.js +2 -0
  270. package/dist/chunks/chunk.YT6IL43L.js.map +7 -0
  271. package/dist/chunks/chunk.Z2VCNYLY.js +2 -0
  272. package/dist/chunks/chunk.Z2VCNYLY.js.map +7 -0
  273. package/dist/chunks/chunk.Z7EPKDUX.js +246 -0
  274. package/dist/chunks/chunk.Z7EPKDUX.js.map +7 -0
  275. package/dist/chunks/chunk.ZD65JR3R.js +2 -0
  276. package/dist/chunks/chunk.ZD65JR3R.js.map +7 -0
  277. package/dist/chunks/chunk.ZDH2SNRY.js +2 -0
  278. package/dist/chunks/chunk.ZDH2SNRY.js.map +7 -0
  279. package/dist/chunks/chunk.ZIY3H5FX.js +2 -0
  280. package/dist/chunks/chunk.ZIY3H5FX.js.map +7 -0
  281. package/dist/chunks/chunk.ZTT4JEQS.js +29 -0
  282. package/dist/chunks/chunk.ZTT4JEQS.js.map +7 -0
  283. package/dist/custom-elements.json +996 -744
  284. package/dist/docs/components/ScwAlert.json +25 -0
  285. package/dist/docs/components/ScwButton.json +25 -0
  286. package/dist/docs/components/ScwCard.json +25 -0
  287. package/dist/docs/components/ScwHeading.json +25 -0
  288. package/dist/docs/components/ScwIcon.json +25 -0
  289. package/dist/docs/components/ScwImage.json +35 -0
  290. package/dist/docs/components/ScwLink.json +25 -0
  291. package/dist/docs/components/ScwLinkBase.json +17 -0
  292. package/dist/docs/components/ScwMenu.json +1 -1
  293. package/dist/docs/components/ScwMenuItem.json +25 -0
  294. package/dist/docs/components/ScwPageAlert.json +25 -0
  295. package/dist/docs/components/manifest.json +73 -73
  296. package/dist/docs/config.json +1 -1
  297. package/dist/scw-alert/ScwAlert.js +1 -1
  298. package/dist/scw-alert/scw-alert.js +1 -1
  299. package/dist/scw-button/ScwButton.js +1 -1
  300. package/dist/scw-button/scw-button.js +1 -1
  301. package/dist/scw-card/ScwCard.js +1 -1
  302. package/dist/scw-card/scw-card.js +1 -1
  303. package/dist/scw-components.js +1 -1
  304. package/dist/scw-form-component/scw-form-component.js +1 -1
  305. package/dist/scw-heading/ScwHeading.js +1 -1
  306. package/dist/scw-heading/scw-heading.js +1 -1
  307. package/dist/scw-icon/ScwIcon.js +1 -1
  308. package/dist/scw-icon/scw-icon.js +1 -1
  309. package/dist/scw-image/ScwImage.js +1 -1
  310. package/dist/scw-image/scw-image.js +1 -1
  311. package/dist/scw-input/scw-input.js +1 -1
  312. package/dist/scw-link/ScwLink.js +1 -1
  313. package/dist/scw-link/scw-link.js +1 -1
  314. package/dist/scw-link-base/ScwLinkBase.js +1 -1
  315. package/dist/scw-link-base/scw-link-base.js +1 -1
  316. package/dist/scw-menu/ScwMenu.js +1 -1
  317. package/dist/scw-menu/keyboard/keyboardElements.js +1 -1
  318. package/dist/scw-menu/keyboard/scw-menu-keyboard.js +1 -1
  319. package/dist/scw-menu/scw-menu.js +1 -1
  320. package/dist/scw-menu-item/ScwMenuItem.js +1 -1
  321. package/dist/scw-menu-item/scw-menu-item.js +1 -1
  322. package/dist/scw-page-alert/scw-page-alert.js +1 -1
  323. package/dist/scw-select/scw-select.js +1 -1
  324. package/dist/scw-single-input/scw-single-input.js +1 -1
  325. package/dist/scw-textarea/scw-textarea.js +1 -1
  326. package/dist/scw.js +1 -1
  327. package/dist/utils/suffix.js +1 -1
  328. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu/keyboard/keyboardElements.ts"],
4
+ "sourcesContent": ["import ScwMenu from '../ScwMenu';\nimport {Components} from '../../utils/enums/Components';\n\n/** list of elements that are tabbable */\nconst tabbablelist = [\n Components.menuItem,\n Components.icon,\n Components.link,\n Components.button,\n 'BUTTON',\n 'A',\n];\n\n/** list of elements that should be ignored */\nconst ignorelist = [\n Components.menu,\n];\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @param {HTMLElement} ele\n * @param {'forwards' | 'backwards'} direction\n */\nexport default function focusOnTabbableElement(\n menu: ScwMenu,\n ele: HTMLElement | undefined,\n direction: 'forwards'|'backwards',\n) {\n let targetEle = ele;\n if (!ele) {\n targetEle = findActiveMenuElement(menu);\n }\n\n if (targetEle) {\n const nextTabbleElement =\n findTabbableElement(\n menu,\n targetEle,\n direction,\n false,\n menu === targetEle,\n );\n if (nextTabbleElement) {\n nextTabbleElement.focus();\n } else {\n // at the end so try to loop around...\n const nextReversedTabbleElement =\n findTabbableElement(\n menu,\n menu,\n direction,\n );\n if (nextReversedTabbleElement) {\n nextReversedTabbleElement.focus();\n } else {\n // run away, there is nothing tabbable...\n }\n }\n }\n}\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @return {HTMLElement | undefined}\n */\nexport function findActiveMenuElement(\n menu: ScwMenu,\n) : HTMLElement | undefined {\n if (\n document.activeElement &&\n menu.contains( document.activeElement )\n ) {\n return document.activeElement as unknown as HTMLElement;\n }\n return undefined;\n}\n\n/**\n * get the next tabbable element\n * @param {ScwMenu} menu\n * @return {void}\n */\nexport function findNextTabbableEle( menu: ScwMenu ) {\n const activeEle = findActiveMenuElement( menu );\n if ( activeEle ) {\n return findTabbableElement( menu, activeEle );\n }\n}\n\n/**\n * get the previous tabble element\n * @param {ScwMenu} menu\n * @return {void}\n */\n export function findPrevTabbableEle( menu: ScwMenu ) {\n const activeEle = findActiveMenuElement( menu );\n if ( activeEle ) {\n return findTabbableElement( menu, activeEle, 'backwards' );\n }\n}\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @param {HTMLElement} ele\n * @param {'forwards' | 'backwards'} direction\n * @param {Boolean} checkEle\n * @param {Boolean} checkChildren\n * @return {HTMLElement | false}\n */\nexport function findTabbableElement(\n menu: ScwMenu,\n ele : HTMLElement,\n direction: 'forwards' | 'backwards' = 'forwards',\n checkEle : boolean = false,\n checkChildren: boolean = true,\n) : HTMLElement | false {\n // Check the element itself\n if (checkEle) {\n if (\n ele['element'] &&\n tabbablelist.includes( ele['element'] )\n ) {\n if (isTabbleable(ele)) {\n return ele;\n }\n } else if (\n tabbablelist.includes( ele.nodeName )\n ) {\n if (isTabbleable(ele)) {\n return ele;\n }\n }\n }\n\n // try children\n if (\n checkChildren &&\n ele.children\n ) {\n let doCheck = true;\n if (\n checkEle &&\n ignorelist.includes( ele['element'])\n ) {\n doCheck = false;\n }\n\n if ( doCheck ) {\n const children = Array.from(ele.children);\n if (direction === 'backwards') {\n children.reverse();\n }\n let tabbableEle : HTMLElement | false = false;\n children.find( (child) => {\n const result = findTabbableElement(\n menu,\n child as unknown as HTMLElement,\n direction,\n true,\n true,\n );\n if (result) {\n tabbableEle = result;\n return true;\n }\n return false;\n });\n if (isTabbleable(tabbableEle)) {\n return tabbableEle as unknown as HTMLElement;\n }\n }\n }\n\n // walk down siblings\n const sibling = (direction === 'forwards') ?\n ele.nextElementSibling : ele.previousElementSibling;\n if (sibling) {\n const result = findTabbableElement(\n menu,\n sibling as unknown as HTMLElement,\n direction,\n true,\n true,\n );\n if (isTabbleable(result)) {\n return result;\n }\n }\n\n // no children and no more siblings...go up!\n if (ele.parentElement != menu) {\n const result = findTabbableElement(\n menu,\n ele.parentElement as unknown as HTMLElement,\n direction,\n true,\n false, // infinite loop, don't check children of parent...\n );\n if (isTabbleable(result)) {\n return result;\n }\n }\n return false;\n}\n\n/**\n* last checks\n* @param {HTMLElement} ele\n* @return {HTMLElement | false}\n*/\nexport function isTabbleable(\n ele : HTMLElement | false,\n) : HTMLElement | false {\n if (!ele) {\n return false;\n }\n // hidden elements are not a part of the dom\n if (!ele.offsetParent) {\n return false;\n }\n // ignore invisible elements\n if (window.getComputedStyle(ele).visibility === 'hidden') {\n return false;\n }\n // explicitly disabled are ignored\n if (\n ele.hasAttribute('aria-disabled') &&\n ele.getAttribute('aria-disabled') !== 'false'\n ) {\n return false;\n }\n // disabled elements are ignored\n if (ele.hasAttribute('disabled')) {\n return false;\n }\n // not tabindex, no go\n if (ele.getAttribute('tabindex') === '-1') {\n return false;\n }\n if (ele['isLink'] && !ele['isLink']()) {\n return false;\n }\n return ele;\n}\n"],
5
+ "mappings": "AAIA,GAAM,GAAe,CACnB,YACA,OACA,OACA,SACA,SACA,GACF,EAGM,EAAa,CACjB,MACF,EAQe,WACb,EACA,EACA,EACA,CACA,GAAI,GAAY,EAKhB,GAJK,GACH,GAAY,EAAsB,CAAI,GAGpC,EAAW,CACb,GAAM,GACJ,EACE,EACA,EACA,EACA,GACA,IAAS,CACX,EACF,GAAI,EACF,EAAkB,MAAM,MACnB,CAEL,GAAM,GACJ,EACI,EACA,EACA,CACJ,EACF,AAAI,GACF,EAA0B,MAAM,CAIpC,CACF,CACF,CAOO,WACL,EAC0B,CAC1B,GACE,SAAS,eACT,EAAK,SAAU,SAAS,aAAc,EAEtC,MAAO,UAAS,aAGpB,CAOO,WAA8B,EAAgB,CACnD,GAAM,GAAY,EAAuB,CAAK,EAC9C,GAAK,EACH,MAAO,GAAqB,EAAM,CAAU,CAEhD,CAOQ,WAA8B,EAAgB,CACpD,GAAM,GAAY,EAAuB,CAAK,EAC9C,GAAK,EACH,MAAO,GAAqB,EAAM,EAAW,WAAY,CAE7D,CAWO,WACL,EACA,EACA,EAAsC,WACtC,EAAqB,GACrB,EAAyB,GACH,CAEtB,GAAI,GACF,GACE,EAAI,SACJ,EAAa,SAAU,EAAI,OAAW,GAEtC,GAAI,EAAa,CAAG,EAClB,MAAO,WAGT,EAAa,SAAU,EAAI,QAAS,GAEhC,EAAa,CAAG,EAClB,MAAO,GAMb,GACE,GACA,EAAI,SACJ,CACA,GAAI,GAAU,GAQd,GANE,GACA,EAAW,SAAU,EAAI,OAAU,GAEnC,GAAU,IAGP,EAAU,CACb,GAAM,GAAW,MAAM,KAAK,EAAI,QAAQ,EACxC,AAAI,IAAc,aAChB,EAAS,QAAQ,EAEnB,GAAI,GAAoC,GAexC,GAdA,EAAS,KAAM,AAAC,GAAU,CACxB,GAAM,GAAS,EACb,EACA,EACA,EACA,GACA,EACF,EACA,MAAI,GACF,GAAc,EACP,IAEF,EACT,CAAC,EACG,EAAa,CAAW,EAC1B,MAAO,EAEX,CACF,CAGA,GAAM,GAAW,IAAc,WAC7B,EAAI,mBAAqB,EAAI,uBAC/B,GAAI,EAAS,CACX,GAAM,GAAS,EACb,EACA,EACA,EACA,GACA,EACF,EACA,GAAI,EAAa,CAAM,EACrB,MAAO,EAEX,CAGA,GAAI,EAAI,eAAiB,EAAM,CAC7B,GAAM,GAAS,EACb,EACA,EAAI,cACJ,EACA,GACA,EACF,EACA,GAAI,EAAa,CAAM,EACrB,MAAO,EAEX,CACA,MAAO,EACT,CAOO,WACL,EACsB,CA2BtB,MA1BI,CAAC,GAID,CAAC,EAAI,cAIL,OAAO,iBAAiB,CAAG,EAAE,aAAe,UAK9C,EAAI,aAAa,eAAe,GAChC,EAAI,aAAa,eAAe,IAAM,SAKpC,EAAI,aAAa,UAAU,GAI3B,EAAI,aAAa,UAAU,IAAM,MAGjC,EAAI,QAAa,CAAC,EAAI,OAAU,EAC3B,GAEF,CACT",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as c}from"./chunk.6IOOPRMR.js";customElements.define("scw-card",c);
2
+ //# sourceMappingURL=chunk.WDBRBMRH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-card/scw-card.ts"],
4
+ "sourcesContent": ["import ScwCard from './ScwCard';\ncustomElements.define('scw-card', ScwCard );\n"],
5
+ "mappings": "wCACA,eAAe,OAAO,WAAY,CAAQ",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk.V3LEMJZR.js";customElements.define("scw-link",e);
2
+ //# sourceMappingURL=chunk.WJZDCAGA.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-link/scw-link.ts"],
4
+ "sourcesContent": ["import ScwLink from './ScwLink';\ncustomElements.define('scw-link', ScwLink );\n"],
5
+ "mappings": "wCACA,eAAe,OAAO,WAAY,CAAQ",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk.FGDIFLCG.js";customElements.define("scw-menu-item",e);
2
+ //# sourceMappingURL=chunk.WKZAWGJI.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu-item/scw-menu-item.ts"],
4
+ "sourcesContent": ["import ScwMenuItem from './ScwMenuItem';\ncustomElements.define('scw-menu-item', ScwMenuItem );\n "],
5
+ "mappings": "wCACA,eAAe,OAAO,gBAAiB,CAAY",
6
+ "names": []
7
+ }
@@ -0,0 +1,58 @@
1
+ import{a as i}from"./chunk.7GL4EMSM.js";import{d as s}from"./chunk.7I6Z5MNC.js";import{a as o,b as t}from"./chunk.HCMPRDIX.js";import{a as r}from"./chunk.ZS4C3T6Z.js";import{g as e}from"./chunk.5YJY6NT6.js";var h=o`
2
+ a.scw-link-base h1:hover, a.scw-link-base h2:hover, a.scw-link-base h3:hover, a.scw-link-base h4:hover, a.scw-link-base h5:hover {
3
+ cursor: pointer;
4
+ text-decoration: underline;
5
+ }
6
+
7
+ a.scw-link-base[aria-disabled=true] h1, a.scw-link-base[aria-disabled=true] h2, a.scw-link-base[aria-disabled=true] h3, a.scw-link-base[aria-disabled=true] h4, a.scw-link-base[aria-disabled=true] h5,
8
+ :host([anchor][aria-disabled=true]) h1,
9
+ :host([anchor][aria-disabled=true]) h2,
10
+ :host([anchor][aria-disabled=true]) h3,
11
+ :host([anchor][aria-disabled=true]) h4,
12
+ :host([anchor][aria-disabled=true]) h5 {
13
+ color: var(--scw-color-primary-08);
14
+ }
15
+ a.scw-link-base[aria-disabled=true] h1:hover, a.scw-link-base[aria-disabled=true] h2:hover, a.scw-link-base[aria-disabled=true] h3:hover, a.scw-link-base[aria-disabled=true] h4:hover, a.scw-link-base[aria-disabled=true] h5:hover,
16
+ :host([anchor][aria-disabled=true]) h1:hover,
17
+ :host([anchor][aria-disabled=true]) h2:hover,
18
+ :host([anchor][aria-disabled=true]) h3:hover,
19
+ :host([anchor][aria-disabled=true]) h4:hover,
20
+ :host([anchor][aria-disabled=true]) h5:hover {
21
+ cursor: auto;
22
+ text-decoration: initial;
23
+ }
24
+
25
+ :host a {
26
+ text-decoration: none;
27
+ }
28
+ :host h1 {
29
+ text-align: LEFT;
30
+ font: var(--scw-type-text-bold-condensed-10-font);
31
+ color: var(--scw-color-04, var(--scw-color-primary-04));
32
+ }
33
+ :host h2 {
34
+ text-align: LEFT;
35
+ font: var(--scw-type-text-bold-condensed-09-font);
36
+ color: var(--scw-color-04, var(--scw-color-primary-04));
37
+ }
38
+ :host h3 {
39
+ text-align: LEFT;
40
+ font: var(--scw-type-text-bold-condensed-08-font);
41
+ color: var(--scw-color-04, var(--scw-color-primary-04));
42
+ }
43
+ :host h4 {
44
+ text-align: LEFT;
45
+ font: var(--scw-type-text-bold-condensed-07-font);
46
+ color: var(--scw-color-04, var(--scw-color-primary-04));
47
+ }
48
+ :host h5 {
49
+ text-align: LEFT;
50
+ font: var(--scw-type-text-bold-condensed-06-font);
51
+ color: var(--scw-color-04, var(--scw-color-primary-04));
52
+ }
53
+ :host h1, :host h2, :host h3, :host h4, :host h5 {
54
+ margin: 0;
55
+ padding: 0;
56
+ color: var(--scw-color-04, var(--scw-color-grey-02));
57
+ }`;var a=class extends s{constructor(){super();this.size="H1";this.element="heading"}static get styles(){return[super.styles,h]}parseAndValidateLightDom(){super.parseAndValidateLightDom(),i(this)}renderHeading(){switch(this.size.toUpperCase()){case"H5":return r`<h5>${this.ariaLabel}</h5>`;case"H4":return r`<h4>${this.ariaLabel}</h4>`;case"H3":return r`<h3>${this.ariaLabel}</h3>`;case"H2":return r`<h2>${this.ariaLabel}</h2>`;case"H1":default:return r`<h1>${this.ariaLabel}</h1>`}}render(){return this.renderLink(this.renderHeading())}};e([t({type:String,reflect:!0})],a.prototype,"size",2);export{a};
58
+ //# sourceMappingURL=chunk.WQYSOMPH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sass-plugin-0:/Users/scottrouse/Workspace/scu-design-system-mono/scu-web-components/src/scw-heading/scss/scw-heading.scss", "../../src/scw-heading/ScwHeading.ts"],
4
+ "sourcesContent": ["import {css} from \"lit-element/lit-element.js\";\nexport default css`\na.scw-link-base h1:hover, a.scw-link-base h2:hover, a.scw-link-base h3:hover, a.scw-link-base h4:hover, a.scw-link-base h5:hover {\n cursor: pointer;\n text-decoration: underline;\n}\n\na.scw-link-base[aria-disabled=true] h1, a.scw-link-base[aria-disabled=true] h2, a.scw-link-base[aria-disabled=true] h3, a.scw-link-base[aria-disabled=true] h4, a.scw-link-base[aria-disabled=true] h5,\n:host([anchor][aria-disabled=true]) h1,\n:host([anchor][aria-disabled=true]) h2,\n:host([anchor][aria-disabled=true]) h3,\n:host([anchor][aria-disabled=true]) h4,\n:host([anchor][aria-disabled=true]) h5 {\n color: var(--scw-color-primary-08);\n}\na.scw-link-base[aria-disabled=true] h1:hover, a.scw-link-base[aria-disabled=true] h2:hover, a.scw-link-base[aria-disabled=true] h3:hover, a.scw-link-base[aria-disabled=true] h4:hover, a.scw-link-base[aria-disabled=true] h5:hover,\n:host([anchor][aria-disabled=true]) h1:hover,\n:host([anchor][aria-disabled=true]) h2:hover,\n:host([anchor][aria-disabled=true]) h3:hover,\n:host([anchor][aria-disabled=true]) h4:hover,\n:host([anchor][aria-disabled=true]) h5:hover {\n cursor: auto;\n text-decoration: initial;\n}\n\n:host a {\n text-decoration: none;\n}\n:host h1 {\n text-align: LEFT;\n font: var(--scw-type-text-bold-condensed-10-font);\n color: var(--scw-color-04, var(--scw-color-primary-04));\n}\n:host h2 {\n text-align: LEFT;\n font: var(--scw-type-text-bold-condensed-09-font);\n color: var(--scw-color-04, var(--scw-color-primary-04));\n}\n:host h3 {\n text-align: LEFT;\n font: var(--scw-type-text-bold-condensed-08-font);\n color: var(--scw-color-04, var(--scw-color-primary-04));\n}\n:host h4 {\n text-align: LEFT;\n font: var(--scw-type-text-bold-condensed-07-font);\n color: var(--scw-color-04, var(--scw-color-primary-04));\n}\n:host h5 {\n text-align: LEFT;\n font: var(--scw-type-text-bold-condensed-06-font);\n color: var(--scw-color-04, var(--scw-color-primary-04));\n}\n:host h1, :host h2, :host h3, :host h4, :host h5 {\n margin: 0;\n padding: 0;\n color: var(--scw-color-04, var(--scw-color-grey-02));\n}`;\n", "import {html} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport styles from './scss/scw-heading.scss';\nimport {ScwHeadingSizes} from './scw-heading-enums';\nimport {Components} from '../utils/enums/Components';\nimport ScwLinkBase from '../scw-link-base/ScwLinkBase';\nimport parseLightDomHeading from './parseLightDomHeading';\n\n/**\n * ScwHeading\n * @class\n * @tag scw-heading\n *\n * @slot [default=\"<h1, h2, h3, h4, h5 />\"]\n heading html (for SEO) will determine the size and label.\n * @slot [default=\"<a href target><h1, h2, h3, h4, h5 /></a>\"]\n (OPTIONAL) anchor (for SEO) will determine the label, href, and target in\n addition to size and label.\n */\nexport default class ScwHeading extends ScwLinkBase {\n /**\n * styles\n */\n static get styles() {\n return [\n super.styles,\n styles,\n ];\n }\n\n // ============== ScwHeading =================================================\n /**\n * (ScwHeader) Size of heading (h1, h2, h3, h4, h5)\n * @type {string}\n */\n @property({type: String, reflect: true})\n size: ScwHeadingSizes = ScwHeadingSizes.H1;\n\n /**\n * Constructor\n */\n constructor() {\n super();\n this.element = Components.heading;\n }\n\n /** parseAndValidateLightDom, just adding local parsing and validation */\n parseAndValidateLightDom() {\n super.parseAndValidateLightDom();\n parseLightDomHeading(this);\n }\n\n /**\n * renderHeading\n * @return {object} component DOM\n */\n renderHeading(): object {\n switch ( this.size.toUpperCase() ) {\n case ScwHeadingSizes.H5:\n return html`<h5>${this.ariaLabel}</h5>`;\n case ScwHeadingSizes.H4:\n return html`<h4>${this.ariaLabel}</h4>`;\n case ScwHeadingSizes.H3:\n return html`<h3>${this.ariaLabel}</h3>`;\n case ScwHeadingSizes.H2:\n return html`<h2>${this.ariaLabel}</h2>`;\n case ScwHeadingSizes.H1:\n default:\n return html`<h1>${this.ariaLabel}</h1>`;\n }\n }\n\n /**\n * render\n * @return {object} component DOM\n */\n render(): object {\n return this.renderLink(\n this.renderHeading(),\n );\n }\n}\n"],
5
+ "mappings": "+MACA,GAAO,GAAQ;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;GCkBf,mBAAwC,EAAY,CAsBlD,aAAc,CACZ,MAAM,EANN,UAAwB,KAOxB,KAAK,QAAU,SACjB,WArBY,SAAS,CACnB,MAAO,CACL,MAAM,OACN,CACF,CACF,CAmBA,0BAA2B,CACzB,MAAM,yBAAyB,EAC/B,EAAqB,IAAI,CAC3B,CAMA,eAAwB,CACtB,OAAS,KAAK,KAAK,YAAY,OACxB,KACH,MAAO,SAAW,KAAK,qBACpB,KACH,MAAO,SAAW,KAAK,qBACpB,KACH,MAAO,SAAW,KAAK,qBACpB,KACH,MAAO,SAAW,KAAK,qBACpB,aAEH,MAAO,SAAW,KAAK,iBAE7B,CAMA,QAAiB,CACf,MAAO,MAAK,WACV,KAAK,cAAc,CACrB,CACF,CACF,EA7CI,GADF,AAAC,EAAS,CAAC,KAAM,OAAQ,QAAS,EAAI,CAAC,GACrC,AAjBJ,EAiBI",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ var d=["menu-item","icon","link","button","BUTTON","A"],E=["menu"];function w(e,t,n){let a=t;if(t||(a=o(e)),a){let l=i(e,a,n,!1,e===a);if(l)l.focus();else{let s=i(e,e,n);s&&s.focus()}}}function o(e){if(document.activeElement&&e.contains(document.activeElement))return document.activeElement}function p(e){let t=o(e);if(t)return i(e,t)}function H(e){let t=o(e);if(t)return i(e,t,"backwards")}function i(e,t,n="forwards",a=!1,l=!0){if(a){if(t.element&&d.includes(t.element)){if(f(t))return t}else if(d.includes(t.nodeName)&&f(t))return t}if(l&&t.children){let r=!0;if(a&&E.includes(t.element)&&(r=!1),r){let b=Array.from(t.children);n==="backwards"&&b.reverse();let u=!1;if(b.find(m=>{let c=i(e,m,n,!0,!0);return c?(u=c,!0):!1}),f(u))return u}}let s=n==="forwards"?t.nextElementSibling:t.previousElementSibling;if(s){let r=i(e,s,n,!0,!0);if(f(r))return r}if(t.parentElement!=e){let r=i(e,t.parentElement,n,!0,!1);if(f(r))return r}return!1}function f(e){return!e||!e.offsetParent||window.getComputedStyle(e).visibility==="hidden"||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"||e.hasAttribute("disabled")||e.getAttribute("tabindex")==="-1"?!1:e}export{w as a,o as b,p as c,H as d,i as e,f};
2
+ //# sourceMappingURL=chunk.WRAMQCIW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu/keyboard/keyboardElements.ts"],
4
+ "sourcesContent": ["import ScwMenu from '../ScwMenu';\nimport {Components} from '../../utils/enums/Components';\n\n/** list of elements that are tabbable */\nconst tabbablelist = [\n Components.menuItem,\n Components.icon,\n Components.link,\n Components.button,\n 'BUTTON',\n 'A',\n];\n\n/** list of elements that should be ignored */\nconst ignorelist = [\n Components.menu,\n];\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @param {HTMLElement} ele\n * @param {'forwards' | 'backwards'} direction\n */\nexport default function focusOnTabbableElement(\n menu: ScwMenu,\n ele: HTMLElement | undefined,\n direction: 'forwards'|'backwards',\n) {\n let targetEle = ele;\n if (!ele) {\n targetEle = findActiveMenuElement(menu);\n }\n\n if (targetEle) {\n const nextTabbleElement =\n findTabbableElement(\n menu,\n targetEle,\n direction,\n false,\n menu === targetEle,\n );\n if (nextTabbleElement) {\n nextTabbleElement.focus();\n } else {\n // at the end so try to loop around...\n const nextReversedTabbleElement =\n findTabbableElement(\n menu,\n menu,\n direction,\n );\n if (nextReversedTabbleElement) {\n nextReversedTabbleElement.focus();\n } else {\n // run away, there is nothing tabbable...\n }\n }\n }\n}\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @return {HTMLElement | undefined}\n */\nexport function findActiveMenuElement(\n menu: ScwMenu,\n) : HTMLElement | undefined {\n if (\n document.activeElement &&\n menu.contains( document.activeElement )\n ) {\n return document.activeElement as unknown as HTMLElement;\n }\n return undefined;\n}\n\n/**\n * get the next tabbable element\n * @param {ScwMenu} menu\n * @return {void}\n */\nexport function findNextTabbableEle( menu: ScwMenu ) {\n const activeEle = findActiveMenuElement( menu );\n if ( activeEle ) {\n return findTabbableElement( menu, activeEle );\n }\n}\n\n/**\n * get the previous tabble element\n * @param {ScwMenu} menu\n * @return {void}\n */\n export function findPrevTabbableEle( menu: ScwMenu ) {\n const activeEle = findActiveMenuElement( menu );\n if ( activeEle ) {\n return findTabbableElement( menu, activeEle, 'backwards' );\n }\n}\n\n/**\n * walk through children from a starting point\n * @param {ScwMenu} menu\n * @param {HTMLElement} ele\n * @param {'forwards' | 'backwards'} direction\n * @param {Boolean} checkEle\n * @param {Boolean} checkChildren\n * @return {HTMLElement | false}\n */\nexport function findTabbableElement(\n menu: ScwMenu,\n ele : HTMLElement,\n direction: 'forwards' | 'backwards' = 'forwards',\n checkEle : boolean = false,\n checkChildren: boolean = true,\n) : HTMLElement | false {\n // Check the element itself\n if (checkEle) {\n if (\n ele['element'] &&\n tabbablelist.includes( ele['element'] )\n ) {\n if (isTabbleable(ele)) {\n return ele;\n }\n } else if (\n tabbablelist.includes( ele.nodeName )\n ) {\n if (isTabbleable(ele)) {\n return ele;\n }\n }\n }\n\n // try children\n if (\n checkChildren &&\n ele.children\n ) {\n let doCheck = true;\n if (\n checkEle &&\n ignorelist.includes( ele['element'])\n ) {\n doCheck = false;\n }\n\n if ( doCheck ) {\n const children = Array.from(ele.children);\n if (direction === 'backwards') {\n children.reverse();\n }\n let tabbableEle : HTMLElement | false = false;\n children.find( (child) => {\n const result = findTabbableElement(\n menu,\n child as unknown as HTMLElement,\n direction,\n true,\n true,\n );\n if (result) {\n tabbableEle = result;\n return true;\n }\n return false;\n });\n if (isTabbleable(tabbableEle)) {\n return tabbableEle as unknown as HTMLElement;\n }\n }\n }\n\n // walk down siblings\n const sibling = (direction === 'forwards') ?\n ele.nextElementSibling : ele.previousElementSibling;\n if (sibling) {\n const result = findTabbableElement(\n menu,\n sibling as unknown as HTMLElement,\n direction,\n true,\n true,\n );\n if (isTabbleable(result)) {\n return result;\n }\n }\n\n // no children and no more siblings...go up!\n if (ele.parentElement != menu) {\n const result = findTabbableElement(\n menu,\n ele.parentElement as unknown as HTMLElement,\n direction,\n true,\n false, // infinite loop, don't check children of parent...\n );\n if (isTabbleable(result)) {\n return result;\n }\n }\n return false;\n}\n\n/**\n* last checks\n* @param {HTMLElement} ele\n* @return {HTMLElement | false}\n*/\nexport function isTabbleable(\n ele : HTMLElement | false,\n) : HTMLElement | false {\n if (!ele) {\n return false;\n }\n // hidden elements are not a part of the dom\n if (!ele.offsetParent) {\n return false;\n }\n // ignore invisible elements\n if (window.getComputedStyle(ele).visibility === 'hidden') {\n return false;\n }\n // explicitly disabled are ignored\n if (\n ele.hasAttribute('aria-disabled') &&\n ele.getAttribute('aria-disabled') !== 'false'\n ) {\n return false;\n }\n // disabled elements are ignored\n if (ele.hasAttribute('disabled')) {\n return false;\n }\n // not tabindex, no go\n if (ele.getAttribute('tabindex') === '-1') {\n return false;\n }\n return ele;\n}\n"],
5
+ "mappings": "AAIA,GAAM,GAAe,CACnB,YACA,OACA,OACA,SACA,SACA,GACF,EAGM,EAAa,CACjB,MACF,EAQe,WACb,EACA,EACA,EACA,CACA,GAAI,GAAY,EAKhB,GAJK,GACH,GAAY,EAAsB,CAAI,GAGpC,EAAW,CACb,GAAM,GACJ,EACE,EACA,EACA,EACA,GACA,IAAS,CACX,EACF,GAAI,EACF,EAAkB,MAAM,MACnB,CAEL,GAAM,GACJ,EACI,EACA,EACA,CACJ,EACF,AAAI,GACF,EAA0B,MAAM,CAIpC,CACF,CACF,CAOO,WACL,EAC0B,CAC1B,GACE,SAAS,eACT,EAAK,SAAU,SAAS,aAAc,EAEtC,MAAO,UAAS,aAGpB,CAOO,WAA8B,EAAgB,CACnD,GAAM,GAAY,EAAuB,CAAK,EAC9C,GAAK,EACH,MAAO,GAAqB,EAAM,CAAU,CAEhD,CAOQ,WAA8B,EAAgB,CACpD,GAAM,GAAY,EAAuB,CAAK,EAC9C,GAAK,EACH,MAAO,GAAqB,EAAM,EAAW,WAAY,CAE7D,CAWO,WACL,EACA,EACA,EAAsC,WACtC,EAAqB,GACrB,EAAyB,GACH,CAEtB,GAAI,GACF,GACE,EAAI,SACJ,EAAa,SAAU,EAAI,OAAW,GAEtC,GAAI,EAAa,CAAG,EAClB,MAAO,WAGT,EAAa,SAAU,EAAI,QAAS,GAEhC,EAAa,CAAG,EAClB,MAAO,GAMb,GACE,GACA,EAAI,SACJ,CACA,GAAI,GAAU,GAQd,GANE,GACA,EAAW,SAAU,EAAI,OAAU,GAEnC,GAAU,IAGP,EAAU,CACb,GAAM,GAAW,MAAM,KAAK,EAAI,QAAQ,EACxC,AAAI,IAAc,aAChB,EAAS,QAAQ,EAEnB,GAAI,GAAoC,GAexC,GAdA,EAAS,KAAM,AAAC,GAAU,CACxB,GAAM,GAAS,EACb,EACA,EACA,EACA,GACA,EACF,EACA,MAAI,GACF,GAAc,EACP,IAEF,EACT,CAAC,EACG,EAAa,CAAW,EAC1B,MAAO,EAEX,CACF,CAGA,GAAM,GAAW,IAAc,WAC7B,EAAI,mBAAqB,EAAI,uBAC/B,GAAI,EAAS,CACX,GAAM,GAAS,EACb,EACA,EACA,EACA,GACA,EACF,EACA,GAAI,EAAa,CAAM,EACrB,MAAO,EAEX,CAGA,GAAI,EAAI,eAAiB,EAAM,CAC7B,GAAM,GAAS,EACb,EACA,EAAI,cACJ,EACA,GACA,EACF,EACA,GAAI,EAAa,CAAM,EACrB,MAAO,EAEX,CACA,MAAO,EACT,CAOO,WACL,EACsB,CAwBtB,MAvBI,CAAC,GAID,CAAC,EAAI,cAIL,OAAO,iBAAiB,CAAG,EAAE,aAAe,UAK9C,EAAI,aAAa,eAAe,GAChC,EAAI,aAAa,eAAe,IAAM,SAKpC,EAAI,aAAa,UAAU,GAI3B,EAAI,aAAa,UAAU,IAAM,KAC5B,GAEF,CACT",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ import{a as o}from"./chunk.2XYCU7NE.js";import{a as d}from"./chunk.V7F4VPXB.js";import{a as m}from"./chunk.VB3TV2S3.js";import{a as r,b as n,e as s}from"./chunk.HCMPRDIX.js";import{a}from"./chunk.ZS4C3T6Z.js";import{g as i}from"./chunk.5YJY6NT6.js";var l=r`
2
+ :host {
3
+ /* scw element */
4
+ position: relative;
5
+ box-sizing: border-box;
6
+ --margin-right: initial;
7
+ --margin-bottom: initial;
8
+ --gap-h-int: initial;
9
+ --gap-v-int: initial;
10
+ margin-right: var(--margin-right, var(--gap-h-int, initial));
11
+ margin-bottom: var(--margin-bottom, var(--gap-v-int, initial));
12
+ display: block;
13
+ }
14
+
15
+ :host([warning]) {
16
+ outline: 2px solid red !important;
17
+ }
18
+
19
+ :host {
20
+ display: inline-flex;
21
+ }
22
+ :host nav {
23
+ display: inline-block;
24
+ width: 100%;
25
+ }
26
+ :host .heading-label {
27
+ clip: rect(0 0 0 0);
28
+ clip-path: inset(50%);
29
+ height: 1px;
30
+ overflow: hidden;
31
+ position: absolute;
32
+ white-space: nowrap;
33
+ width: 1px;
34
+ margin: 0 !important;
35
+ }`;var t=class extends s{constructor(){super();this.ariaLabel="";this.ariaHidden="false";this.keyboardDirection="either";this.element="menu",this.setAttribute("tabindex","0"),this.setAttribute("scw-flex-h-initial","")}static get styles(){return[super.styles,l]}firstUpdated(e){super.firstUpdated(e),this._keyboardManager=new d(this)}connectedCallback(){super.connectedCallback(),this._menuItem=this.findMenuItem(),this._menuItem&&this._menuItem.setAttribute("aria-expanded","false"),this.setAttribute("role",this.isSubMenu()?"menu":"menubar")}findMenuItem(){let e=this.previousElementSibling;if(e&&e.nodeName.indexOf("SCW-MENU-ITEM")===0)return e}isSubMenu(){return this._menuItem!==void 0}parseAndValidateLightDom(){super.parseAndValidateLightDom(),o(this)}render(){return this.style&&(this.style.display=this.ariaHidden==="true"?"none":""),this.isSubMenu()&&this._menuItem&&this._menuItem.setAttribute("aria-expanded",this.ariaHidden==="true"?"false":"true"),a`<slot></slot>`}};i([n({type:String,reflect:!0,attribute:"aria-label"})],t.prototype,"ariaLabel",2),i([n({type:String,attribute:"aria-hidden"})],t.prototype,"ariaHidden",2),i([n({type:m,attribute:"keyboard-direction"})],t.prototype,"keyboardDirection",2);export{t as a};
36
+ //# sourceMappingURL=chunk.X3WJMHOP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sass-plugin-0:/Users/scottrouse/Workspace/scu-design-system-mono/scu-web-components/src/scw-menu/scss/scw-menu.scss", "../../src/scw-menu/ScwMenu.ts"],
4
+ "sourcesContent": ["import {css} from \"lit-element/lit-element.js\";\nexport default css`\n:host {\n /* scw element */\n position: relative;\n box-sizing: border-box;\n --margin-right: initial;\n --margin-bottom: initial;\n --gap-h-int: initial;\n --gap-v-int: initial;\n margin-right: var(--margin-right, var(--gap-h-int, initial));\n margin-bottom: var(--margin-bottom, var(--gap-v-int, initial));\n display: block;\n}\n\n:host([warning]) {\n outline: 2px solid red !important;\n}\n\n:host {\n display: inline-flex;\n}\n:host nav {\n display: inline-block;\n width: 100%;\n}\n:host .heading-label {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n margin: 0 !important;\n}`;\n", "import {html} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport ScwComponent from '../scw-component/ScwComponent';\nimport styles from './scss/scw-menu.scss';\nimport validate from './scw-menu-validate';\nimport ScwMenuKeyboard from './keyboard/scw-menu-keyboard';\nimport ScwMenuItem from '../scw-menu-item/ScwMenuItem';\nimport {ScwMenuDirections} from './scw-menu-enums';\nimport {Components} from '../utils/enums/Components';\n\n/**\n * ScwMenu\n * @class\n * @tag scw-menu\n *\n * @slot [default=\"<scw-menu-item />...\"]\n List of scw-menu-items\n */\nexport default class ScwMenu extends ScwComponent {\n /**\n * styles\n */\n static get styles() {\n return [\n super.styles,\n styles,\n ];\n }\n\n // ============== ScwMenu ================================================\n /**\n * (<ScwMenu>) Base name of the navigation announced in screen readers\n * @type {string}\n */\n @property({type: String, reflect: true, attribute: 'aria-label'})\n ariaLabel: string = '';\n\n /**\n * (<ScwMenu>) Turns menu visible and invisible (ADA friendly)\n * @type {string}\n */\n @property({type: String, attribute: 'aria-hidden'})\n ariaHidden: string = 'false';\n\n /**\n * (<ScwMenu>) determines some arrow key differences\n * (either, horizontal, vertical)\n * @type {ScwMenuDirections}\n */\n @property({type: ScwMenuDirections, attribute: 'keyboard-direction'})\n keyboardDirection: ScwMenuDirections = ScwMenuDirections.either;\n\n /** Manages all keyboard events */\n _keyboardManager : ScwMenuKeyboard | undefined;\n\n /** keeps track of the menu item controling this menu */\n _menuItem : ScwMenuItem | undefined;\n\n /**\n * Constructor\n */\n constructor() {\n super();\n this.element = Components.menu;\n // this.setAttribute('role', 'menu' );\n this.setAttribute('tabindex', '0');\n this.setAttribute('scw-flex-h-initial', '');// defaults to flex-h\n // off for ssr\n // this._keyboardManager = new ScwMenuKeyboard(this);\n }\n\n /**\n * get defaults after initialization...light dom trumps attributes\n * @param {Map<string | number | symbol, unknown>} changedProps\n */\n firstUpdated(changedProps: Map<string | number | symbol, unknown>): void {\n super.firstUpdated(changedProps);\n this._keyboardManager = new ScwMenuKeyboard(this);\n }\n\n /** connectedCallback */\n connectedCallback(): void {\n super.connectedCallback();\n // menu will always come directly after it's scw-menu-item\n this._menuItem = this.findMenuItem();\n if (this._menuItem) {\n this._menuItem.setAttribute('aria-expanded', 'false');\n }\n this.setAttribute('role', this.isSubMenu() ? 'menu' : 'menubar');\n }\n\n /**\n * determines if this menu item has a sub menu\n * @return {ScwMenuItem | undefined}\n */\n findMenuItem() {\n const prev = this.previousElementSibling;\n // if (prev && prev['element'] === Components.menuItem) {\n // the component may not be initialized yet...\n if (prev && prev.nodeName.indexOf('SCW-MENU-ITEM') === 0 ) {\n return prev as unknown as ScwMenuItem;\n }\n return undefined;\n }\n\n /**\n * Is this a nested menu or not...\n * @return {boolean}\n */\n isSubMenu() : boolean {\n return ( this._menuItem !== undefined ) ? true : false;\n }\n\n /** parseAndValidateLightDom, just adding local parsing and validation */\n parseAndValidateLightDom() {\n super.parseAndValidateLightDom();\n validate( this );\n }\n\n /**\n * render\n * @return {object} component DOM\n */\n render(): object {\n if (this.style) {\n this.style.display = this.ariaHidden === 'true' ? 'none' : '';\n }\n\n if (this.isSubMenu() && this._menuItem) {\n this._menuItem.setAttribute(\n 'aria-expanded',\n this.ariaHidden === 'true' ? 'false' : 'true',\n );\n }\n\n /* return html`\n <nav\n aria-label=\"${this.ariaLabel} navigation\"\n role=\"${this.isSubMenu() ? 'menu' : 'menubar'}\">\n <slot></slot>\n </nav>`;*/\n\n return html`<slot></slot>`;\n }\n}\n"],
5
+ "mappings": "yPACA,GAAO,GAAQ;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;GCiBf,mBAAqC,EAAa,CA2ChD,aAAc,CACZ,MAAM,EA3BN,eAAoB,GAOpB,gBAAqB,QAQrB,uBAAuC,SAavC,KAAK,QAAU,OAEf,KAAK,aAAa,WAAY,GAAG,EACjC,KAAK,aAAa,qBAAsB,EAAE,CAG5C,WA/CY,SAAS,CACnB,MAAO,CACL,MAAM,OACN,CACF,CACF,CAgDA,aAAa,EAA4D,CACvE,MAAM,aAAa,CAAY,EAC/B,KAAK,iBAAmB,GAAI,GAAgB,IAAI,CAClD,CAGA,mBAA0B,CACxB,MAAM,kBAAkB,EAExB,KAAK,UAAY,KAAK,aAAa,EAC/B,KAAK,WACP,KAAK,UAAU,aAAa,gBAAiB,OAAO,EAEtD,KAAK,aAAa,OAAQ,KAAK,UAAU,EAAI,OAAS,SAAS,CACjE,CAMA,cAAe,CACb,GAAM,GAAO,KAAK,uBAGlB,GAAI,GAAQ,EAAK,SAAS,QAAQ,eAAe,IAAM,EACrD,MAAO,EAGX,CAMA,WAAsB,CACpB,MAAS,MAAK,YAAc,MAC9B,CAGA,0BAA2B,CACzB,MAAM,yBAAyB,EAC/B,EAAU,IAAK,CACjB,CAMA,QAAiB,CACf,MAAI,MAAK,OACP,MAAK,MAAM,QAAU,KAAK,aAAe,OAAS,OAAS,IAGzD,KAAK,UAAU,GAAK,KAAK,WAC3B,KAAK,UAAU,aACb,gBACA,KAAK,aAAe,OAAS,QAAU,MACzC,EAUK,gBACT,CACF,EA7GI,GADF,AAAC,EAAS,CAAC,KAAM,OAAQ,QAAS,GAAM,UAAW,YAAY,CAAC,GAC9D,AAjBJ,EAiBI,yBAOA,GADF,AAAC,EAAS,CAAC,KAAM,OAAQ,UAAW,aAAa,CAAC,GAChD,AAxBJ,EAwBI,0BAQA,GADF,AAAC,EAAS,CAAC,KAAM,EAAmB,UAAW,oBAAoB,CAAC,GAClE,AAhCJ,EAgCI",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as f}from"./chunk.LEIF5C3J.js";function t(i="-"){return f&&f.suffix?`${i}${f.suffix}`:""}export{t as a};
2
+ //# sourceMappingURL=chunk.XASOWM5Z.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/suffix.ts"],
4
+ "sourcesContent": ["import {config} from '../scw';\n\n/**\n * Pulls suffix from global design system config with some formatting options\n * @param {string} connector\n * @return {string}\n */\nexport default function getSuffix(connector: string = '-') {\n return config ? config.suffix ? `${connector}${config.suffix}` : '' : '';\n}\n\n"],
5
+ "mappings": "wCAOe,WAAmB,EAAoB,IAAK,CACzD,MAAO,IAAS,EAAO,OAAS,GAAG,IAAY,EAAO,SAAgB,EACxE",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk.24NBMK6U.js";customElements.define("scw-menu-item",e);
2
+ //# sourceMappingURL=chunk.XNMMKUIO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu-item/scw-menu-item.ts"],
4
+ "sourcesContent": ["import ScwMenuItem from './ScwMenuItem';\ncustomElements.define('scw-menu-item', ScwMenuItem );\n"],
5
+ "mappings": "wCACA,eAAe,OAAO,gBAAiB,CAAY",
6
+ "names": []
7
+ }
@@ -0,0 +1,117 @@
1
+ import{a as h}from"./chunk.K3V3AEZG.js";import{a}from"./chunk.27N4OQ6C.js";import{b as p,c as v,d as c}from"./chunk.O5UC6O56.js";import{a as e,b as s,c as l}from"./chunk.HCMPRDIX.js";import{a as i}from"./chunk.ZS4C3T6Z.js";import{f as n,g as r}from"./chunk.5YJY6NT6.js";var g=e`
2
+ :host .scw-link-base {
3
+ outline: none;
4
+ user-select: none;
5
+ display: inline-flex;
6
+ width: 100%;
7
+ height: 100%;
8
+ border-radius: 50%;
9
+ }
10
+ :host .scw-link-base svg {
11
+ box-sizing: border-box;
12
+ vertical-align: top;
13
+ width: 100%;
14
+ height: 100%;
15
+ }
16
+
17
+ :host {
18
+ width: 30px;
19
+ height: 30px;
20
+ }
21
+ :host a.scw-link-base:hover {
22
+ background-color: var(--scw-color-grey-092);
23
+ }
24
+ :host svg, :host svg * {
25
+ fill: var(--scw-color, var(--scw-color-grey-02));
26
+ }
27
+ :host svg .color-step-01 {
28
+ fill: var(--scw-color-01, var(--scw-color-grey-01));
29
+ }
30
+ :host svg .color-step-02 {
31
+ fill: var(--scw-color-02, var(--scw-color-grey-02));
32
+ }
33
+ :host svg .color-step-03 {
34
+ fill: var(--scw-color-03, var(--scw-color-grey-03));
35
+ }
36
+ :host svg .color-step-04 {
37
+ fill: var(--scw-color-04, var(--scw-color-grey-04));
38
+ }
39
+ :host svg .color-step-05,
40
+ :host svg .color-step {
41
+ fill: var(--scw-color-05, var(--scw-color-grey-05));
42
+ }
43
+ :host svg .color-step-06 {
44
+ fill: var(--scw-color-06, var(--scw-color-grey-06));
45
+ }
46
+ :host svg .color-step-07 {
47
+ fill: var(--scw-color-07, var(--scw-color-grey-07));
48
+ }
49
+ :host svg .color-step-08 {
50
+ fill: var(--scw-color-08, var(--scw-color-grey-08));
51
+ }
52
+ :host svg .color-step-09 {
53
+ fill: var(--scw-color-09, var(--scw-color-grey-09));
54
+ }
55
+
56
+ :host([color-background]) .scw-link-base {
57
+ background-color: var(--scw-color, var(--scw-color-grey-02));
58
+ }
59
+ :host([color-background]) a.scw-link-base:hover {
60
+ background-color: var(--scw-color-06, var(--scw-color-dark, var(--scw-color-grey-02)));
61
+ }
62
+ :host([color-background]) svg, :host([color-background]) svg * {
63
+ fill: var(--scw-color-grey-10);
64
+ }
65
+
66
+ :host([size="10"]) {
67
+ width: 10px;
68
+ height: 10px;
69
+ }
70
+
71
+ :host([size="20"]) {
72
+ width: 20px;
73
+ height: 20px;
74
+ }
75
+
76
+ :host([size="30"]) {
77
+ width: 30px;
78
+ height: 30px;
79
+ }
80
+
81
+ :host([size="40"]) {
82
+ width: 40px;
83
+ height: 40px;
84
+ }
85
+
86
+ :host([size="50"]) {
87
+ width: 50px;
88
+ height: 50px;
89
+ }
90
+
91
+ :host([size="60"]) {
92
+ width: 60px;
93
+ height: 60px;
94
+ }
95
+
96
+ :host([size="70"]) {
97
+ width: 70px;
98
+ height: 70px;
99
+ }
100
+
101
+ :host([size="80"]) {
102
+ width: 80px;
103
+ height: 80px;
104
+ }
105
+
106
+ :host([size="90"]) {
107
+ width: 90px;
108
+ height: 90px;
109
+ }
110
+
111
+ :host([size="100"]) {
112
+ width: 100px;
113
+ height: 100px;
114
+ }`;var{validationWarnings:w}=(v(),n(p)),o=class extends c{constructor(){super();this.size="50";this.colorBackground=!1;this._svgInfo="";this.element="icon"}static get styles(){return[super.styles,g]}parseAndValidateLightDom(){super.parseAndValidateLightDom(),a(this.icon,t=>{t===!1?this.warn(w.noIconWarning):this._svgInfo=t})}render(){return this.renderLink(i`
115
+ ${h(this._svgInfo)}
116
+ `)}};r([s({type:String,reflect:!0})],o.prototype,"icon",2),r([s({type:String,reflect:!0})],o.prototype,"size",2),r([s({type:Boolean,reflect:!0,attribute:"color-background"})],o.prototype,"colorBackground",2),r([l()],o.prototype,"_svgInfo",2);export{o as a};
117
+ //# sourceMappingURL=chunk.XPT2Z5AB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sass-plugin-0:/Users/scottrouse/Workspace/scu-design-system-mono/scu-web-components/src/scw-icon/scss/scw-icon.scss", "../../src/scw-icon/ScwIcon.ts"],
4
+ "sourcesContent": ["import {css} from \"lit-element/lit-element.js\";\nexport default css`\n:host .scw-link-base {\n outline: none;\n user-select: none;\n display: inline-flex;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n}\n:host .scw-link-base svg {\n box-sizing: border-box;\n vertical-align: top;\n width: 100%;\n height: 100%;\n}\n\n:host {\n width: 30px;\n height: 30px;\n}\n:host a.scw-link-base:hover {\n background-color: var(--scw-color-grey-092);\n}\n:host svg, :host svg * {\n fill: var(--scw-color, var(--scw-color-grey-02));\n}\n:host svg .color-step-01 {\n fill: var(--scw-color-01, var(--scw-color-grey-01));\n}\n:host svg .color-step-02 {\n fill: var(--scw-color-02, var(--scw-color-grey-02));\n}\n:host svg .color-step-03 {\n fill: var(--scw-color-03, var(--scw-color-grey-03));\n}\n:host svg .color-step-04 {\n fill: var(--scw-color-04, var(--scw-color-grey-04));\n}\n:host svg .color-step-05,\n:host svg .color-step {\n fill: var(--scw-color-05, var(--scw-color-grey-05));\n}\n:host svg .color-step-06 {\n fill: var(--scw-color-06, var(--scw-color-grey-06));\n}\n:host svg .color-step-07 {\n fill: var(--scw-color-07, var(--scw-color-grey-07));\n}\n:host svg .color-step-08 {\n fill: var(--scw-color-08, var(--scw-color-grey-08));\n}\n:host svg .color-step-09 {\n fill: var(--scw-color-09, var(--scw-color-grey-09));\n}\n\n:host([color-background]) .scw-link-base {\n background-color: var(--scw-color, var(--scw-color-grey-02));\n}\n:host([color-background]) a.scw-link-base:hover {\n background-color: var(--scw-color-06, var(--scw-color-dark, var(--scw-color-grey-02)));\n}\n:host([color-background]) svg, :host([color-background]) svg * {\n fill: var(--scw-color-grey-10);\n}\n\n:host([size=\"10\"]) {\n width: 10px;\n height: 10px;\n}\n\n:host([size=\"20\"]) {\n width: 20px;\n height: 20px;\n}\n\n:host([size=\"30\"]) {\n width: 30px;\n height: 30px;\n}\n\n:host([size=\"40\"]) {\n width: 40px;\n height: 40px;\n}\n\n:host([size=\"50\"]) {\n width: 50px;\n height: 50px;\n}\n\n:host([size=\"60\"]) {\n width: 60px;\n height: 60px;\n}\n\n:host([size=\"70\"]) {\n width: 70px;\n height: 70px;\n}\n\n:host([size=\"80\"]) {\n width: 80px;\n height: 80px;\n}\n\n:host([size=\"90\"]) {\n width: 90px;\n height: 90px;\n}\n\n:host([size=\"100\"]) {\n width: 100px;\n height: 100px;\n}`;\n", "import {html} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport {unsafeHTML} from 'lit/directives/unsafe-html.js';\n// import styles from './scss/scw-icon.scss';\nimport getIconSvg from '../utils/getIconSvg';\nimport {\n ScwIconSizes,\n} from './scw-icon-enums';\nimport {Components} from '../utils/enums/Components';\nimport ScwLinkBase from '../scw-link-base/ScwLinkBase';\nimport styles from './scss/scw-icon.scss';\nconst {validationWarnings} = require('../utils/validation/warnings.mjs');\n\n/**\n * ScwIcon\n * @class\n * @tag scw-icon\n *\n * @slot [default=\"<a href target />\"]\n (OPTIONAL) anchor (for SEO) will determine the label, href, and target.\n */\nexport default class ScwIcon extends ScwLinkBase {\n /**\n * styles\n */\n static get styles() {\n return [\n super.styles,\n styles,\n ];\n }\n\n // ============== ScwIcon ====================================================\n /** (ScwIcon) Determines the icon to use with the text */\n @property({type: String, reflect: true}) icon: string | undefined;\n\n /** (ScwIcon) Determines the square size of the icon */\n @property({type: String, reflect: true})\n size: ScwIconSizes = ScwIconSizes.size50;\n\n /** (ScwIcon) Background color (w/ accompanying state colors) */\n @property({type: Boolean, reflect: true, attribute: 'color-background'})\n colorBackground: boolean = false;\n\n @state() _svgInfo : string = '';\n\n /** Constructor */\n constructor() {\n super();\n this.element = Components.icon;\n }\n\n /** parseAndValidateLightDom, just adding local parsing and validation */\n parseAndValidateLightDom() {\n super.parseAndValidateLightDom();\n getIconSvg(this.icon, (svgInfo: string | false ) => {\n if (svgInfo === false ) {\n this.warn(validationWarnings.noIconWarning);\n } else {\n this._svgInfo = svgInfo;\n }\n });\n }\n\n /**\n * render\n * @return {object} component DOM\n */\n render(): object {\n return this.renderLink(\n html`\n ${unsafeHTML(this._svgInfo)}\n `,\n );\n }\n}\n"],
5
+ "mappings": "8QACA,GAAO,GAAQ;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;GCUf,GAAM,CAAC,sBAAsB,WAU7B,eAAqC,EAAY,CA0B/C,aAAc,CACZ,MAAM,EAVN,UAAqB,KAIrB,qBAA2B,GAEpB,cAAoB,GAK3B,KAAK,QAAU,MACjB,WAzBY,SAAS,CACnB,MAAO,CACL,MAAM,OACN,CACF,CACF,CAuBA,0BAA2B,CACzB,MAAM,yBAAyB,EAC/B,EAAW,KAAK,KAAM,AAAC,GAA6B,CAClD,AAAI,IAAY,GACd,KAAK,KAAK,EAAmB,aAAa,EAE1C,KAAK,SAAW,CAEpB,CAAC,CACH,CAMA,QAAiB,CACf,MAAO,MAAK,WACV;AAAA,UACI,EAAW,KAAK,QAAQ;AAAA,OAE9B,CACF,CACF,EAzC2C,GAAzC,AAAC,EAAS,CAAC,KAAM,OAAQ,QAAS,EAAI,CAAC,GAAE,AAb3C,EAa2C,oBAIvC,GADF,AAAC,EAAS,CAAC,KAAM,OAAQ,QAAS,EAAI,CAAC,GACrC,AAjBJ,EAiBI,oBAIA,GADF,AAAC,EAAS,CAAC,KAAM,QAAS,QAAS,GAAM,UAAW,kBAAkB,CAAC,GACrE,AArBJ,EAqBI,+BAEO,GAAT,AAAC,EAAM,GAAE,AAvBX,EAuBW",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as f}from"./chunk.RH7GIGVO.js";function t(i="-"){return f&&f.suffix?`${i}${f.suffix}`:""}export{t as a};
2
+ //# sourceMappingURL=chunk.XQPLZOJP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/suffix.ts"],
4
+ "sourcesContent": ["import {config} from '../scw';\n\n/**\n * Pulls suffix from global design system config with some formatting options\n * @param {string} connector\n * @return {string}\n */\nexport default function getSuffix(connector: string = '-') {\n return config ? config.suffix ? `${connector}${config.suffix}` : '' : '';\n}\n\n"],
5
+ "mappings": "wCAOe,WAAmB,EAAoB,IAAK,CACzD,MAAO,IAAS,EAAO,OAAS,GAAG,IAAY,EAAO,SAAgB,EACxE",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk.NDDFSJRX.js";customElements.define("scw-menu-item",e);
2
+ //# sourceMappingURL=chunk.Y53HTV6U.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu-item/scw-menu-item.ts"],
4
+ "sourcesContent": ["import ScwMenuItem from './ScwMenuItem';\ncustomElements.define('scw-menu-item', ScwMenuItem );\n"],
5
+ "mappings": "wCACA,eAAe,OAAO,gBAAiB,CAAY",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import{a as u}from"./chunk.XQPLZOJP.js";import{b as n,c as r,e as f}from"./chunk.HCMPRDIX.js";import{a as o}from"./chunk.ZS4C3T6Z.js";import{g as a}from"./chunk.5YJY6NT6.js";var c=(e=>(e.text="text",e.boolean="boolean",e.submit="submit",e))(c||{}),h=(i=>(i.submit="submit",i.cancel="cancel",i))(h||{}),t=class extends f{constructor(){super(...arguments);this.formType="text";this.value="";this.placeholder="";this.selected=!1;this.readOnly=!1;this.required=!1;this.requiredLabel=" *";this.focused=!1;this.invalid=!1}connectedCallback(){super.connectedCallback(),this.required&&this.createAndAddValidationRule("required",this.requiredFeedback)}decorateValues(i){if(!this.name){this.warn(`${this.element} didn't find a name`);return}this.formType==="boolean"?i[this.name]=this.selected:i[this.name]=this.value}findIfRequired(){let i=this.findValidationRules();return i?i.isRequired():!1}findValidationRules(){return Array.from(this.children).find(l=>l.nodeName.indexOf("SCW-VALIDATION")===0)}validate(){let i=this.findValidationRules(),e=[];return i&&(e=i.validate(this.value)),this.invalid=e.length>0,this.invalid?this.feedback=e[0].feedback:this.feedback="",e}createValidateRule(){return document.createElement(`scw-${"validate"}${u()}`)}addValidationRule(i){let e=this.findValidationRules();e||(e=document.createElement(`scw-${"validation"}${u()}`),this.prepend(e)),Array.from(e.children).find(s=>s.getAttribute("type")===i.type)||e.appendChild(i)}createAndAddValidationRule(i,e){let l=this.createValidateRule();l.setAttribute("type",i),e&&l.setAttribute("feedback",e),this.addValidationRule(l)}removeValidationRule(i){let e=this.findValidationRules();if(!e)return;let d=Array.from(e.children).find(s=>s.type===i);d&&d.parentNode&&d.parentNode.removeChild(d)}render(){return o`
2
+ scw-form-component
3
+ `}};a([n({type:c,reflect:!0,attribute:"form-type"})],t.prototype,"formType",2),a([n({type:String})],t.prototype,"name",2),a([n({type:String})],t.prototype,"value",2),a([n({type:String})],t.prototype,"placeholder",2),a([n({type:String})],t.prototype,"selected",2),a([n({type:Boolean,attribute:"read-only"})],t.prototype,"readOnly",2),a([n({type:Boolean})],t.prototype,"required",2),a([n({type:String,attribute:"required-label"})],t.prototype,"requiredLabel",2),a([n({type:String,attribute:"required-feedback"})],t.prototype,"requiredFeedback",2),a([r()],t.prototype,"feedback",2),a([r()],t.prototype,"focused",2),a([r()],t.prototype,"invalid",2);export{c as a,h as b,t as c};
4
+ //# sourceMappingURL=chunk.YI7XGVNH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-form-component/scw-form-component.ts"],
4
+ "sourcesContent": ["import {html} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport ScwComponent from '../scw-component/ScwComponent';\nimport {Components} from '../utils/enums/Components';\nimport ScwValidate from '../scw-validate/scw-validate';\nimport ScwValidation from '../scw-validation/scw-validation';\nimport {ValidationResult, ValidationTypes}\n from '../scw-validate/validationTypes';\nimport getSuffix from '../utils/suffix';\n\nexport enum ScwFormComponentTypes {\n text = 'text',\n boolean = 'boolean',\n submit = 'submit'\n}\n\nexport enum ScwFormComponentSubmitTypes {\n submit = 'submit',\n cancel = 'cancel'\n}\n\n/**\n * ScwFormComponent\n * @class\n * @tag scw-form-component\n */\nexport default class ScwFormComponent extends ScwComponent {\n // ============== ScwFormComponent ===========================================\n /** (ScwFormComponent) the usage in a form (& scw-form a query target) */\n @property({\n type: ScwFormComponentTypes,\n reflect: true,\n attribute: 'form-type',\n })\n formType: ScwFormComponentTypes = ScwFormComponentTypes.text;\n\n /** (ScwFormComponent) name to identify form element and attach data */\n @property({type: String})\n name: string | undefined;\n\n /** (ScwFormComponent) name to identify form element and attach data */\n @property({type: String})\n value: string = '';\n\n /** (ScwFormComponent) text showing when there is no value */\n @property({type: String})\n placeholder: string = '';\n\n /** (ScwFormComponent) name to identify form element and attach data */\n @property({type: String})\n selected: boolean = false;\n\n /** (ScwFormComponent) read-only state management */\n @property({type: Boolean, attribute: 'read-only'})\n readOnly: boolean = false;\n\n /** (ScwFormComponent) required state management */\n @property({type: Boolean})\n required: boolean = false;\n\n /** (ScwFormComponent) label indicator for required */\n @property({type: String, attribute: 'required-label'})\n requiredLabel: string = ' *';\n\n /** (ScwFormComponent) label indicator for required */\n @property({type: String, attribute: 'required-feedback'})\n requiredFeedback?: string;\n\n // ===== STATE ===============================================================\n /** the text to use for feedback */\n @state() feedback: string | undefined;\n\n /** determines whether the input is focused or not */\n @state() focused : boolean = false;\n\n /** whether this form element is valid, passed validation */\n @state() invalid: boolean = false;\n\n /** connectedCallback */\n connectedCallback(): void {\n super.connectedCallback();\n if (this.required) {\n this.createAndAddValidationRule(\n ValidationTypes.required,\n this.requiredFeedback,\n );\n }\n }\n\n /** (ScwFormComponent) each form element to decorates the final data object\n * @param {Object} formData\n */\n decorateValues(formData: {}): void {\n if (!this.name) {\n this.warn(`${this.element} didn't find a name`);\n return;\n }\n if (this.formType === ScwFormComponentTypes.boolean) {\n formData[this.name] = this.selected;// ? 'true' : 'false';\n } else {\n formData[this.name] = this.value;\n }\n }\n\n /**\n * Check to see if form element is required w/o knowing if there is validation\n * @return {boolean}\n */\n findIfRequired() : boolean {\n const rules = this.findValidationRules();\n if (rules) {\n return rules.isRequired();\n }\n return false;\n }\n\n /**\n * Find validation child if there...\n * @return {ScwValidation | undefined}\n */\n findValidationRules() : ScwValidation | undefined {\n const childrenArr = Array.from(this.children);\n const validation = childrenArr.find((child: any) => {\n // component may not be initialized yet...\n return child.nodeName.indexOf('SCW-VALIDATION') === 0;\n // return child.element === Components.validation;\n });\n return validation as unknown as ScwValidation;\n }\n\n /**\n * run the validation rules if there...\n * @param {string} value\n * @return {ValidationResult[]}\n */\n validate() : ValidationResult[] {\n const validation = this.findValidationRules();\n let results : ValidationResult[] = [];\n if (validation) {\n results = validation.validate(this.value);\n }\n this.invalid = ( results.length > 0);\n if (this.invalid ) {\n this.feedback = results[0].feedback;\n } else {\n this.feedback = '';\n }\n return results;\n }\n\n\n /**\n * create a validation rule from scratch\n * @return {ScwValidate}\n */\n createValidateRule() : ScwValidate {\n return document.createElement(\n `scw-${Components.validate}${getSuffix()}`,\n ) as unknown as ScwValidate;\n }\n\n /**\n * add validation to to child validation (create if not there)\n * @param {ScwValidate} rule\n */\n addValidationRule(rule: ScwValidate ) {\n let validationRules = this.findValidationRules();\n if (!validationRules) {\n validationRules = document.createElement(\n `scw-${Components.validation}${getSuffix()}`,\n ) as unknown as ScwValidation;\n this.prepend( validationRules );\n }\n // Check for dups?\n const children = Array.from(validationRules.children);\n const existingRule = children.find((child : any) => {\n return child.getAttribute('type') === rule.type;\n });\n if ( !existingRule ) {\n validationRules.appendChild(rule);\n }\n }\n\n /**\n * create a validation of a certain type...\n * @param {ValidationTypes} type\n * @param {string} feedbackOverride\n */\n createAndAddValidationRule(\n type: ValidationTypes,\n feedbackOverride?: string,\n ) {\n const rule = this.createValidateRule();\n rule.setAttribute('type', type );// .type = type;\n if (feedbackOverride) {\n rule.setAttribute('feedback', feedbackOverride );\n }\n this.addValidationRule( rule );\n }\n\n /**\n *\n * @param {ValidationTypes} type\n */\n removeValidationRule(\n type: ValidationTypes,\n ) {\n const validationRules = this.findValidationRules();\n if (!validationRules) return;\n const children = Array.from(validationRules.children);\n const child = children.find(\n (child : any) => child.type === type,\n ) as unknown as HTMLElement;\n if ( child && child.parentNode ) child.parentNode.removeChild(child);\n }\n\n /**\n * render\n * @return {object} component DOM\n */\n render(): object {\n return html`\n scw-form-component\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk.FGDIFLCG.js";customElements.define("scw-menu-item",e);
2
+ //# sourceMappingURL=chunk.YT6IL43L.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu-item/scw-menu-item.ts"],
4
+ "sourcesContent": ["import ScwMenuItem from './ScwMenuItem';\ncustomElements.define('scw-menu-item', ScwMenuItem );\n"],
5
+ "mappings": "wCACA,eAAe,OAAO,gBAAiB,CAAY",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as i,b as o}from"./chunk.TUFC4UAB.js";import{a as n}from"./chunk.2VW3SHYK.js";var s=class{constructor(e){this.tabbablelist=["menu-item","icon","link","button","BUTTON","A"];this.ignorelist=["scw-menu"];this.menu=e,this.handleKeydown=this.handleKeydown.bind(this),this.initKeyboard(),this.documentClickHandler=this.documentClickHandler.bind(this)}initKeyboard(){this.menu.addEventListener("focusin",e=>{console.log("focus in"),e.target===this.menu&&this.focusOnNextTabbableElement(this.menu),this.menu.setAttribute("tabindex","-1"),n("scw-app-mode-on",this.menu),this.menu.isSubMenu()&&document.addEventListener("click",this.documentClickHandler)}),this.menu.addEventListener("focusout",e=>{e.relatedTarget&&this.menu.contains(e.relatedTarget)||(this.menu.setAttribute("tabindex","0"),n("scw-app-mode-off",this.menu))}),this.menu.addEventListener("keydown",e=>{this.handleKeydown(e)}),this.menu.addEventListener("click",e=>{this.clickHandler(e)})}documentClickHandler(e){let t=e.target;this.menu.contains(t)||this.closeMenu()}closeMenu(e=!1){if(this.menu.isSubMenu()&&(document.removeEventListener("click",this.documentClickHandler),this.menu.ariaHidden="true",this.menu.setAttribute("aria-hidden","true"),e)){let t=this.menu.previousElementSibling;t&&t.element==="menu-item"&&t.focus()}}clickHandler(e){let t=e.target;t&&t.element==="menu-item"&&(t.focus(),this.toggleSubMenu())}toggleSubMenu(){let e=this.findSubmenu();return e?(e.ariaHidden==="false"?(e.ariaHidden="true",e.setAttribute("aria-hidden","true")):(e.ariaHidden="false",e.setAttribute("aria-hidden","false"),setTimeout(()=>{e.focus()},0)),!0):!1}focusOnNextTabbableElement(e){i(this.menu,e,"forwards")}focusOnPreviousTabbableElement(e){i(this.menu,e,"backwards")}stopEvent(e){e.stopPropagation(),e.preventDefault()}handleKeydown(e){if(console.log(e),this.menu.isSubMenu()&&e.key==="Tab")if(e.shiftKey){this.focusOnPreviousTabbableElement(),this.stopEvent(e);return}else{this.focusOnNextTabbableElement(),this.stopEvent(e);return}switch(e.key){case"ArrowRight":this.menu.keyboardDirection==="vertical"?this.toggleSubMenu():this.focusOnNextTabbableElement(),this.stopEvent(e);break;case"ArrowDown":this.menu.keyboardDirection==="horizontal"?this.toggleSubMenu():this.focusOnNextTabbableElement(),this.stopEvent(e);break;case"ArrowLeft":this.menu.keyboardDirection==="vertical"?this.toggleSubMenu()||this.closeMenu(!0):this.focusOnPreviousTabbableElement(),this.stopEvent(e);break;case"ArrowUp":this.menu.keyboardDirection==="horizontal"?this.toggleSubMenu()||this.closeMenu(!0):this.focusOnPreviousTabbableElement(),this.stopEvent(e);break;case"Escape":this.closeMenu(!0),this.stopEvent(e);break;case"Home":this.focusOnNextTabbableElement(this.menu),this.stopEvent(e);break;case"End":this.focusOnPreviousTabbableElement(this.menu),this.stopEvent(e);break}}findSubmenu(){let e=o(this.menu);if(e){let t=e.nextElementSibling;if(t&&t.element==="menu")return t}}};export{s as a};
2
+ //# sourceMappingURL=chunk.Z2VCNYLY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scw-menu/keyboard/scw-menu-keyboard.ts"],
4
+ "sourcesContent": ["import ScwMenu from '../ScwMenu';\n// import ScwMenuItem from '../scw-menu-item/scw-menu-item';\n// import {dispatchCustomEvent} from '../../utils/customEvents';\n// import ScwComponent from '../scw-component/scw-component';\nimport {emit, ScwEvents} from '../../utils/events/event';\nimport\n focusOnTabbableElement,\n {\n findActiveMenuElement,\n } from './keyboardElements';\nimport {ScwMenuDirections} from '../scw-menu-enums';\nimport ScwComponent from '../../scw-component/ScwComponent';\nimport {Components} from '../../utils/enums/Components';\n\n/**\n * ScwMenuKeyboard\n * manages all the keyboard events for ScwMenu\n */\nexport default class ScwMenuKeyboard {\n /** menu to manage */\n menu : ScwMenu;\n\n /** list of elements that are tabbable */\n tabbablelist = [\n Components.menuItem,\n Components.icon,\n Components.link,\n Components.button,\n 'BUTTON',\n 'A',\n ];\n\n /** list of elements that should be ignored */\n ignorelist = ['scw-menu'];\n\n /**\n * constructor\n * @param {ScwMenu} menu\n */\n constructor( menu: ScwMenu) {\n this.menu = menu;\n this.handleKeydown = this.handleKeydown.bind(this);\n this.initKeyboard();\n this.documentClickHandler = this.documentClickHandler.bind(this);\n // TODO: capture all menuItems at beginning.\n }\n\n /**\n * initialize keyboard event handling for ScwMenu\n */\n initKeyboard() {\n this.menu.addEventListener('focusin', (evt) => {\n console.log('focus in')\n if (evt.target === this.menu) {\n this.focusOnNextTabbableElement(this.menu);\n }\n // take menu out of tab index so we can tab out smoothly\n this.menu.setAttribute('tabindex', '-1');\n emit(\n ScwEvents.appModeOn,\n this.menu,\n );\n if (this.menu.isSubMenu()) {\n document.addEventListener('click', this.documentClickHandler );\n }\n });\n\n this.menu.addEventListener('focusout', (evt) => {\n if ( // don't matter if it is still within menu\n evt.relatedTarget &&\n this.menu.contains( evt.relatedTarget as unknown as HTMLElement)\n ) {\n return;\n }\n this.menu.setAttribute('tabindex', '0');\n\n emit(\n ScwEvents.appModeOff,\n this.menu,\n );\n });\n\n this.menu.addEventListener('keydown', (evt: KeyboardEvent) => {\n this.handleKeydown(evt);\n });\n\n this.menu.addEventListener('click', (evt: MouseEvent) => {\n this.clickHandler(evt);\n });\n }\n\n /**\n * close menu if clicked anywhere but menu\n * @param {MouseEvent} evt\n */\n documentClickHandler(evt: MouseEvent) {\n const target = evt.target as unknown as HTMLElement;\n if (!this.menu.contains(target)) {\n this.closeMenu();\n }\n }\n\n /**\n * closes menu if it is a submenu\n * @param {boolean} doFocus\n */\n closeMenu(doFocus = false) {\n if (this.menu.isSubMenu()) {\n document.removeEventListener('click', this.documentClickHandler );\n this.menu.ariaHidden = 'true';\n this.menu.setAttribute('aria-hidden', 'true');\n\n if (doFocus) {\n const menuItem =\n this.menu.previousElementSibling as unknown as ScwComponent;\n if (\n menuItem && menuItem.element === Components.menuItem\n ) {\n menuItem.focus();\n }\n }\n }\n }\n\n /**\n * handle clicks within the menu\n * @param {MouseEvent} evt\n */\n clickHandler(evt : MouseEvent) {\n const target = evt.target as unknown as ScwComponent;\n if (target && target.element === Components.menuItem) {\n target.focus();\n this.toggleSubMenu();\n }\n }\n\n /**\n * opens/closes submenu if there is one\n * @return {boolean}\n */\n toggleSubMenu() : boolean {\n const subMenu = this.findSubmenu();\n if (subMenu) {\n if (subMenu.ariaHidden === 'false') {\n subMenu.ariaHidden = 'true';\n subMenu.setAttribute('aria-hidden', 'true');\n } else {\n subMenu.ariaHidden = 'false';\n subMenu.setAttribute('aria-hidden', 'false');\n setTimeout(() => {\n subMenu.focus();\n }, 0);\n }\n return true;\n }\n return false;\n }\n\n /**\n * Focus on the next tabbable element\n * @param {HTMLElement} ele\n */\n focusOnNextTabbableElement(ele?: HTMLElement) {\n focusOnTabbableElement( this.menu, ele, 'forwards' );\n }\n\n /**\n * Focus on the previous tabbable element\n * @param {HTMLElement} ele\n */\n focusOnPreviousTabbableElement(ele?: HTMLElement) {\n focusOnTabbableElement( this.menu, ele, 'backwards' );\n }\n\n /**\n * Fully stops event\n * @param {KeyboardEvent} evt\n */\n stopEvent(evt: Event) {\n evt.stopPropagation();\n evt.preventDefault();\n }\n\n /**\n * Handle keyboard down events\n * @param {KeyboardEvent} evt\n */\n handleKeydown(evt : KeyboardEvent) {\n console.log(evt);\n\n // figure out extents of Tab\n if (\n this.menu.isSubMenu() &&\n evt.key === 'Tab'\n ) {\n if (evt.shiftKey) {// backwards....\n // const prevTabbable = findPrevTabbableEle( this.menu );\n // if (!prevTabbable) this.closeMenu();\n this.focusOnPreviousTabbableElement();\n this.stopEvent(evt);\n return;\n } else {\n // const nextTabbable = findNextTabbableEle( this.menu );\n // if (!nextTabbable) this.closeMenu();\n this.focusOnNextTabbableElement();\n this.stopEvent(evt);\n return;\n }\n }\n\n // Otherwise look for keys\n switch (evt.key) {\n case 'ArrowRight':\n if (\n this.menu.keyboardDirection === ScwMenuDirections.vertical\n ) {\n this.toggleSubMenu();\n } else { // horizontal, either\n this.focusOnNextTabbableElement();\n }\n this.stopEvent(evt);\n break;\n case 'ArrowDown':\n if (\n this.menu.keyboardDirection === ScwMenuDirections.horizontal\n ) {\n this.toggleSubMenu();\n } else { // vertical, either\n this.focusOnNextTabbableElement();\n }\n this.stopEvent(evt);\n break;\n case 'ArrowLeft':\n if (\n this.menu.keyboardDirection === ScwMenuDirections.vertical\n ) {\n if ( !this.toggleSubMenu() ) {\n this.closeMenu(true);\n }\n } else { // horizontal, either\n this.focusOnPreviousTabbableElement();\n }\n this.stopEvent(evt);\n break;\n case 'ArrowUp':\n if (\n this.menu.keyboardDirection === ScwMenuDirections.horizontal\n ) {\n if ( !this.toggleSubMenu() ) {\n this.closeMenu(true);\n }\n } else { // horizontal, either\n this.focusOnPreviousTabbableElement();\n }\n this.stopEvent(evt);\n break;\n case 'Escape':\n this.closeMenu(true);\n this.stopEvent(evt);\n break;\n case 'Home':\n this.focusOnNextTabbableElement(this.menu);\n this.stopEvent(evt);\n break;\n case 'End':\n this.focusOnPreviousTabbableElement(this.menu);\n this.stopEvent(evt);\n break;\n }\n }\n\n /**\n * find the submenu of the focused ScwMenuItem\n * @return {ScwMenu | undefined}\n */\n findSubmenu() : ScwMenu | undefined {\n const focusedElement = findActiveMenuElement(this.menu);\n if (focusedElement) {\n const nextSibling =\n focusedElement.nextElementSibling;\n if ( nextSibling && nextSibling['element'] === Components.menu ) {\n return nextSibling as unknown as ScwMenu;\n }\n }\n return undefined;\n }\n}\n\n\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }