@golstats/gsc-next-rivals 1.0.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 (64) hide show
  1. package/README.md +2 -0
  2. package/dist/css/fonts.css +127 -0
  3. package/dist/favicon.ico +0 -0
  4. package/dist/fonts/BebasNeue-Bold.otf +0 -0
  5. package/dist/fonts/BebasNeue-Bold.ttf +0 -0
  6. package/dist/fonts/BebasNeue-Bold.woff2 +0 -0
  7. package/dist/fonts/BebasNeue-Book.otf +0 -0
  8. package/dist/fonts/BebasNeue-Book.ttf +0 -0
  9. package/dist/fonts/BebasNeue-Book.woff2 +0 -0
  10. package/dist/fonts/BebasNeue-Light.otf +0 -0
  11. package/dist/fonts/BebasNeue-Light.ttf +0 -0
  12. package/dist/fonts/BebasNeue-Light.woff2 +0 -0
  13. package/dist/fonts/BebasNeue-Regular.otf +0 -0
  14. package/dist/fonts/BebasNeue-Regular.ttf +0 -0
  15. package/dist/fonts/BebasNeue-Regular.woff2 +0 -0
  16. package/dist/fonts/BebasNeue-Thin.otf +0 -0
  17. package/dist/fonts/BebasNeue-Thin.ttf +0 -0
  18. package/dist/fonts/BebasNeue-Thin.woff2 +0 -0
  19. package/dist/fonts/Montserrat-Black.otf +0 -0
  20. package/dist/fonts/Montserrat-BlackItalic.otf +0 -0
  21. package/dist/fonts/Montserrat-Bold.otf +0 -0
  22. package/dist/fonts/Montserrat-BoldItalic.otf +0 -0
  23. package/dist/fonts/Montserrat-ExtraBold.otf +0 -0
  24. package/dist/fonts/Montserrat-ExtraBoldItalic.otf +0 -0
  25. package/dist/fonts/Montserrat-ExtraLight.otf +0 -0
  26. package/dist/fonts/Montserrat-ExtraLightItalic.otf +0 -0
  27. package/dist/fonts/Montserrat-Italic.otf +0 -0
  28. package/dist/fonts/Montserrat-Light.otf +0 -0
  29. package/dist/fonts/Montserrat-LightItalic.otf +0 -0
  30. package/dist/fonts/Montserrat-Medium.otf +0 -0
  31. package/dist/fonts/Montserrat-MediumItalic.otf +0 -0
  32. package/dist/fonts/Montserrat-Regular.otf +0 -0
  33. package/dist/fonts/Montserrat-SemiBold.otf +0 -0
  34. package/dist/fonts/Montserrat-SemiBoldItalic.otf +0 -0
  35. package/dist/fonts/Montserrat-Thin.otf +0 -0
  36. package/dist/fonts/Montserrat-ThinItalic.otf +0 -0
  37. package/dist/fonts/Oswald-Bold.ttf +0 -0
  38. package/dist/fonts/Oswald-ExtraLight.ttf +0 -0
  39. package/dist/fonts/Oswald-Light.ttf +0 -0
  40. package/dist/fonts/Oswald-Medium.ttf +0 -0
  41. package/dist/fonts/Oswald-Regular.ttf +0 -0
  42. package/dist/fonts/Oswald-SemiBold.ttf +0 -0
  43. package/dist/fonts/Poppins-Black.otf +0 -0
  44. package/dist/fonts/Poppins-BlackItalic.otf +0 -0
  45. package/dist/fonts/Poppins-Bold.otf +0 -0
  46. package/dist/fonts/Poppins-BoldItalic.otf +0 -0
  47. package/dist/fonts/Poppins-ExtraBold.otf +0 -0
  48. package/dist/fonts/Poppins-ExtraBoldItalic.otf +0 -0
  49. package/dist/fonts/Poppins-ExtraLight.otf +0 -0
  50. package/dist/fonts/Poppins-ExtraLightItalic.otf +0 -0
  51. package/dist/fonts/Poppins-Italic.otf +0 -0
  52. package/dist/fonts/Poppins-Light.otf +0 -0
  53. package/dist/fonts/Poppins-LightItalic.otf +0 -0
  54. package/dist/fonts/Poppins-Medium.otf +0 -0
  55. package/dist/fonts/Poppins-MediumItalic.otf +0 -0
  56. package/dist/fonts/Poppins-Regular.otf +0 -0
  57. package/dist/fonts/Poppins-SemiBold.otf +0 -0
  58. package/dist/fonts/Poppins-SemiBoldItalic.otf +0 -0
  59. package/dist/fonts/Poppins-Thin.otf +0 -0
  60. package/dist/fonts/Poppins-ThinItalic.otf +0 -0
  61. package/dist/gsc-next-rivals.css +1 -0
  62. package/dist/gsc-next-rivals.es.js +108 -0
  63. package/dist/gsc-next-rivals.umd.js +1 -0
  64. package/package.json +38 -0
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # gsc-next-rivals
2
+ Seccion de selecciones para mostrar proximo rivales a jugar
@@ -0,0 +1,127 @@
1
+ @font-face {
2
+ font-family: 'Poppins-Black';
3
+ src: url('/fonts/Poppins-Black.otf') format('opentype');
4
+ }
5
+ @font-face {
6
+ font-family: 'Poppins-BlackItalic';
7
+ src: url('/fonts/Poppins-BlackItalic.otf') format('opentype');
8
+ }
9
+ @font-face {
10
+ font-family: 'Poppins-Bold';
11
+ src: url('/fonts/Poppins-Bold.otf') format('opentype');
12
+ }
13
+ @font-face {
14
+ font-family: 'Poppins-BoldItalic';
15
+ src: url('/fonts/Poppins-BoldItalic.otf') format('opentype');
16
+ }
17
+ @font-face {
18
+ font-family: 'Poppins-ExtraBold';
19
+ src: url('/fonts/Poppins-ExtraBold.otf') format('opentype');
20
+ }
21
+ @font-face {
22
+ font-family: 'Poppins-ExtraBoldItalic';
23
+ src: url('/fonts/Poppins-ExtraBoldItalic.otf') format('opentype');
24
+ }
25
+ @font-face {
26
+ font-family: 'Poppins-ExtraLight';
27
+ src: url('/fonts/Poppins-ExtraLight.otf') format('opentype');
28
+ }
29
+ @font-face {
30
+ font-family: 'Poppins-ExtraLightItalic';
31
+ src: url('/fonts/Poppins-ExtraLightItalic.otf') format('opentype');
32
+ }
33
+ @font-face {
34
+ font-family: 'Poppins-Italic';
35
+ src: url('/fonts/Poppins-Italic.otf') format('opentype');
36
+ }
37
+ @font-face {
38
+ font-family: 'Poppins-Light';
39
+ src: url('/fonts/Poppins-Light.otf') format('opentype');
40
+ }
41
+ @font-face {
42
+ font-family: 'Poppins-LightItalic';
43
+ src: url('/fonts/Poppins-LightItalic.otf') format('opentype');
44
+ }
45
+ @font-face {
46
+ font-family: 'Poppins-MediumItalic';
47
+ src: url('/fonts/Poppins-MediumItalic.otf') format('opentype');
48
+ }
49
+ @font-face {
50
+ font-family: 'Poppins-Medium';
51
+ src: url('/fonts/Poppins-Medium.otf') format('opentype');
52
+ }
53
+ @font-face {
54
+ font-family: 'Poppins-Regular';
55
+ src: url('/fonts/Poppins-Regular.otf') format('opentype');
56
+ }
57
+ @font-face {
58
+ font-family: 'Poppins-SemiBold';
59
+ src: url('/fonts/Poppins-SemiBold.otf') format('opentype');
60
+ }
61
+ @font-face {
62
+ font-family: 'Poppins-SemiBoldItalic';
63
+ src: url('/fonts/Poppins-SemiBoldItalic.otf') format('opentype');
64
+ }
65
+ @font-face {
66
+ font-family: 'Poppins-ThinItalic';
67
+ src: url('/fonts/Poppins-ThinItalic.otf') format('opentype');
68
+ }
69
+ @font-face {
70
+ font-family: 'Poppins-Thin';
71
+ src: url('/fonts/Poppins-Thin.otf') format('opentype');
72
+ }
73
+
74
+ @font-face {
75
+ font-family: 'Montserrat-SemiBold';
76
+ src: url('/fonts/Montserrat-SemiBold.otf') format('opentype');
77
+ }
78
+
79
+ @font-face {
80
+ font-family: 'Oswald-Bold';
81
+ src: url('/fonts/Oswald-Bold.ttf') format('truetype');
82
+ }
83
+
84
+ @font-face {
85
+ font-family: 'Oswald-Regular';
86
+ src: url('/fonts/Oswald-Regular.ttf') format('truetype');
87
+ }
88
+
89
+ @font-face {
90
+ font-family: 'Oswald-SemiBold';
91
+ src: url('/fonts/Oswald-SemiBold.ttf') format('truetype');
92
+ }
93
+
94
+ @font-face {
95
+ font-family: 'Oswald-Medium';
96
+ src: url('/fonts/Oswald-Medium.ttf') format('truetype');
97
+ }
98
+
99
+ @font-face {
100
+ font-family: 'BebasNeueBold';
101
+ src: url('/fonts/BebasNeue-Bold.woff2') format('woff2');
102
+ /* También puedes proporcionar otros formatos de fuente como woff, ttf, etc., para una mejor compatibilidad entre navegadores */
103
+ }
104
+
105
+ @font-face {
106
+ font-family: 'BebasNeueBook';
107
+ src: url('/fonts/BebasNeue-Book.woff2') format('woff2');
108
+ /* También puedes proporcionar otros formatos de fuente como woff, ttf, etc., para una mejor compatibilidad entre navegadores */
109
+ }
110
+
111
+ @font-face {
112
+ font-family: 'BebasNeueLight';
113
+ src: url('/fonts/BebasNeue-Light.woff2') format('woff2');
114
+ /* También puedes proporcionar otros formatos de fuente como woff, ttf, etc., para una mejor compatibilidad entre navegadores */
115
+ }
116
+
117
+ @font-face {
118
+ font-family: 'BebasNeueRegular';
119
+ src: url('/fonts/BebasNeue-Regular.woff2') format('woff2');
120
+ /* También puedes proporcionar otros formatos de fuente como woff, ttf, etc., para una mejor compatibilidad entre navegadores */
121
+ }
122
+
123
+ @font-face {
124
+ font-family: 'BebasNeueThin';
125
+ src: url('/fonts/BebasNeue-Thin.woff2') format('woff2');
126
+ /* También puedes proporcionar otros formatos de fuente como woff, ttf, etc., para una mejor compatibilidad entre navegadores */
127
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ .team-card[data-v-95d1f882]{width:100%;cursor:pointer;height:8.5rem;background:linear-gradient(180deg,#183143,#18314300);background:#193646;font-family:Poppins-Regular;font-style:normal;border-radius:.25rem;display:flex;align-items:center;flex-flow:column;justify-content:center;position:relative;overflow:hidden}.team-card__bg-image[data-v-95d1f882]{display:block;position:absolute;left:-50%;top:0;width:100%;height:100%;opacity:.04;background-repeat:no-repeat;background-position:0 50%;background-size:cover}.team-card__name[data-v-95d1f882]{color:#fff;text-align:center;font-size:.75rem;margin:0;font-family:inherit;font-weight:400;line-height:.9375rem}.team-card__image[data-v-95d1f882]{width:4.75rem;height:76;margin-bottom:1.125rem}.team-card[data-v-95d1f882]:hover{opacity:.6}@font-face{font-family:Poppins-Black;src:url(/fonts/Poppins-Black.otf) format("opentype")}@font-face{font-family:Poppins-BlackItalic;src:url(/fonts/Poppins-BlackItalic.otf) format("opentype")}@font-face{font-family:Poppins-Bold;src:url(/fonts/Poppins-Bold.otf) format("opentype")}@font-face{font-family:Poppins-BoldItalic;src:url(/fonts/Poppins-BoldItalic.otf) format("opentype")}@font-face{font-family:Poppins-ExtraBold;src:url(/fonts/Poppins-ExtraBold.otf) format("opentype")}@font-face{font-family:Poppins-ExtraBoldItalic;src:url(/fonts/Poppins-ExtraBoldItalic.otf) format("opentype")}@font-face{font-family:Poppins-ExtraLight;src:url(/fonts/Poppins-ExtraLight.otf) format("opentype")}@font-face{font-family:Poppins-ExtraLightItalic;src:url(/fonts/Poppins-ExtraLightItalic.otf) format("opentype")}@font-face{font-family:Poppins-Italic;src:url(/fonts/Poppins-Italic.otf) format("opentype")}@font-face{font-family:Poppins-Light;src:url(/fonts/Poppins-Light.otf) format("opentype")}@font-face{font-family:Poppins-LightItalic;src:url(/fonts/Poppins-LightItalic.otf) format("opentype")}@font-face{font-family:Poppins-MediumItalic;src:url(/fonts/Poppins-MediumItalic.otf) format("opentype")}@font-face{font-family:Poppins-Medium;src:url(/fonts/Poppins-Medium.otf) format("opentype")}@font-face{font-family:Poppins-Regular;src:url(/fonts/Poppins-Regular.otf) format("opentype")}@font-face{font-family:Poppins-SemiBold;src:url(/fonts/Poppins-SemiBold.otf) format("opentype")}@font-face{font-family:Poppins-SemiBoldItalic;src:url(/fonts/Poppins-SemiBoldItalic.otf) format("opentype")}@font-face{font-family:Poppins-ThinItalic;src:url(/fonts/Poppins-ThinItalic.otf) format("opentype")}@font-face{font-family:Poppins-Thin;src:url(/fonts/Poppins-Thin.otf) format("opentype")}@font-face{font-family:Montserrat-SemiBold;src:url(/fonts/Montserrat-SemiBold.otf) format("opentype")}@font-face{font-family:Oswald-Bold;src:url(/fonts/Oswald-Bold.ttf) format("truetype")}@font-face{font-family:Oswald-Regular;src:url(/fonts/Oswald-Regular.ttf) format("truetype")}@font-face{font-family:Oswald-SemiBold;src:url(/fonts/Oswald-SemiBold.ttf) format("truetype")}@font-face{font-family:Oswald-Medium;src:url(/fonts/Oswald-Medium.ttf) format("truetype")}@font-face{font-family:BebasNeueBold;src:url(/fonts/BebasNeue-Bold.woff2) format("woff2")}@font-face{font-family:BebasNeueBook;src:url(/fonts/BebasNeue-Book.woff2) format("woff2")}@font-face{font-family:BebasNeueLight;src:url(/fonts/BebasNeue-Light.woff2) format("woff2")}@font-face{font-family:BebasNeueRegular;src:url(/fonts/BebasNeue-Regular.woff2) format("woff2")}@font-face{font-family:BebasNeueThin;src:url(/fonts/BebasNeue-Thin.woff2) format("woff2")}.next-rivals[data-v-462ea567]{border-radius:8px;padding:20px;color:#fff}h2[data-v-462ea567]{font-family:Poppins-Medium;font-size:22px;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-align:left;color:#fff}.rivals-grid[data-v-462ea567]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;justify-content:center}.rival-card[data-v-462ea567]{background-color:#0003;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .2s;width:100%;min-width:150px;max-width:200px;margin:0 auto}.rival-card[data-v-462ea567]:hover{transform:translateY(-2px)}.rival-logo[data-v-462ea567]{width:80px;height:80px;object-fit:contain}.rival-name[data-v-462ea567]{font-size:1.1rem;font-weight:500}
@@ -0,0 +1,108 @@
1
+ import { createElementBlock as i, openBlock as m, createElementVNode as s, normalizeStyle as u, toDisplayString as v, ref as g, onMounted as _, onUnmounted as b, Fragment as f, renderList as w, createVNode as h, defineAsyncComponent as S } from "vue";
2
+ const p = (t, o) => {
3
+ const e = t.__vccOpts || t;
4
+ for (const [n, l] of o)
5
+ e[n] = l;
6
+ return e;
7
+ }, y = { class: "team-card" }, C = ["src", "alt"], k = { class: "team-card__name" }, x = {
8
+ __name: "GscTeamCard",
9
+ props: {
10
+ logo: {
11
+ type: String,
12
+ default: ""
13
+ },
14
+ name: {
15
+ type: String,
16
+ default: ""
17
+ },
18
+ url: {
19
+ type: String,
20
+ default: ""
21
+ }
22
+ },
23
+ setup(t) {
24
+ return (o, e) => (m(), i("div", y, [
25
+ s("div", {
26
+ class: "team-card__bg-image",
27
+ style: u({ "background-image": `url(${t.logo})` })
28
+ }, null, 4),
29
+ s("img", {
30
+ class: "team-card__image",
31
+ src: t.logo,
32
+ alt: t.name
33
+ }, null, 8, C),
34
+ s("p", k, v(t.name), 1)
35
+ ]));
36
+ }
37
+ }, A = /* @__PURE__ */ p(x, [["__scopeId", "data-v-95d1f882"]]), U = { class: "rivals-grid" }, R = {
38
+ __name: "NextRivals",
39
+ setup(t) {
40
+ const o = [
41
+ {
42
+ name: "Canada",
43
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/408.png",
44
+ id: 1
45
+ },
46
+ {
47
+ name: "Panama",
48
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/478.png",
49
+ id: 1
50
+ },
51
+ {
52
+ name: "USA",
53
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/730.png",
54
+ id: 1
55
+ },
56
+ {
57
+ name: "USA",
58
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/733.png",
59
+ id: 1
60
+ },
61
+ {
62
+ name: "USA",
63
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/735.png",
64
+ id: 1
65
+ },
66
+ {
67
+ name: "USA",
68
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/434.png",
69
+ id: 1
70
+ },
71
+ {
72
+ name: "USA",
73
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/724.png",
74
+ id: 1
75
+ },
76
+ {
77
+ name: "USA",
78
+ logo: "https://golstatsimages.blob.core.windows.net/teams-80/473.png",
79
+ id: 1
80
+ }
81
+ ], e = g(null), n = g("rivals-grid"), l = () => {
82
+ e.value && (e.value.offsetWidth, n.value = "rivals-grid");
83
+ }, d = new ResizeObserver(l);
84
+ return _(() => {
85
+ e.value && d.observe(e.value);
86
+ }), b(() => {
87
+ d.disconnect();
88
+ }), (c, a) => (m(), i("div", {
89
+ class: "next-rivals",
90
+ ref_key: "containerRef",
91
+ ref: e
92
+ }, [
93
+ a[1] || (a[1] = s("h2", null, "Próximos rivales", -1)),
94
+ s("div", U, [
95
+ (m(), i(f, null, w(o, (r) => h(A, {
96
+ key: r.name,
97
+ logo: r.logo,
98
+ name: r.name,
99
+ onClick: a[0] || (a[0] = (G) => c.onClickTeamCard(c.team.id))
100
+ }, null, 8, ["logo", "name"])), 64))
101
+ ])
102
+ ], 512));
103
+ }
104
+ }, N = /* @__PURE__ */ p(R, [["__scopeId", "data-v-462ea567"]]), z = /* @__PURE__ */ S(() => Promise.resolve(N));
105
+ export {
106
+ z as GSCNextRivals,
107
+ N as default
108
+ };
@@ -0,0 +1 @@
1
+ (function(n,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.GSCNextRivals={},n.Vue))})(this,function(n,e){"use strict";const d=(o,s)=>{const t=o.__vccOpts||o;for(const[l,i]of s)t[l]=i;return t},p={class:"team-card"},f=["src","alt"],_={class:"team-card__name"},u=d({__name:"GscTeamCard",props:{logo:{type:String,default:""},name:{type:String,default:""},url:{type:String,default:""}},setup(o){return(s,t)=>(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",{class:"team-card__bg-image",style:e.normalizeStyle({"background-image":`url(${o.logo})`})},null,4),e.createElementVNode("img",{class:"team-card__image",src:o.logo,alt:o.name},null,8,f),e.createElementVNode("p",_,e.toDisplayString(o.name),1)]))}},[["__scopeId","data-v-95d1f882"]]),b={class:"rivals-grid"},c=d({__name:"NextRivals",setup(o){const s=[{name:"Canada",logo:"https://golstatsimages.blob.core.windows.net/teams-80/408.png",id:1},{name:"Panama",logo:"https://golstatsimages.blob.core.windows.net/teams-80/478.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/730.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/733.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/735.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/434.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/724.png",id:1},{name:"USA",logo:"https://golstatsimages.blob.core.windows.net/teams-80/473.png",id:1}],t=e.ref(null),l=e.ref("rivals-grid"),i=()=>{t.value&&(t.value.offsetWidth,l.value="rivals-grid")},m=new ResizeObserver(i);return e.onMounted(()=>{t.value&&m.observe(t.value)}),e.onUnmounted(()=>{m.disconnect()}),(g,a)=>(e.openBlock(),e.createElementBlock("div",{class:"next-rivals",ref_key:"containerRef",ref:t},[a[1]||(a[1]=e.createElementVNode("h2",null,"Próximos rivales",-1)),e.createElementVNode("div",b,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(s,r=>e.createVNode(u,{key:r.name,logo:r.logo,name:r.name,onClick:a[0]||(a[0]=y=>g.onClickTeamCard(g.team.id))},null,8,["logo","name"])),64))])],512))}},[["__scopeId","data-v-462ea567"]]),w=e.defineAsyncComponent(()=>Promise.resolve(c));n.GSCNextRivals=w,n.default=c,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@golstats/gsc-next-rivals",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "main": "./dist/gsc-next-rivals.umd.js",
9
+ "module": "./dist/gsc-next-rivals.es.js",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/gsc-next-rivals.es.js",
13
+ "require": "./dist/gsc-next-rivals.umd.js"
14
+ },
15
+ "./dist/style.css": "./dist/style.css"
16
+ },
17
+ "scripts": {
18
+ "dev": "vite",
19
+ "build": "vite build",
20
+ "preview": "vite preview",
21
+ "lint": "eslint . --fix",
22
+ "format": "prettier --write src/"
23
+ },
24
+ "dependencies": {
25
+ "vue": "^3.5.13"
26
+ },
27
+ "devDependencies": {
28
+ "@eslint/js": "^9.20.0",
29
+ "@vitejs/plugin-vue": "^5.2.1",
30
+ "@vue/eslint-config-prettier": "^10.2.0",
31
+ "eslint": "^9.20.1",
32
+ "eslint-plugin-vue": "^9.32.0",
33
+ "prettier": "^3.5.1",
34
+ "sass-embedded": "^1.85.0",
35
+ "vite": "^6.1.0",
36
+ "vite-plugin-vue-devtools": "^7.7.2"
37
+ }
38
+ }