@dcrackel/hematournamentui 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/my-library.es.js +54 -47
- package/dist/my-library.umd.js +1 -1
- package/package.json +1 -1
- package/src/stories/Base/Button/BaseButton.vue +8 -8
- package/src/stories/Base/Text/BaseText.vue +2 -1
- package/src/stories/Containers/Grid/GridContainer.vue +2 -2
- package/src/stories/Menu/Admin/AdminLeftMenu.vue +1 -1
- package/src/stories/Menu/DropDown/DropDownMenu.vue +7 -2
- package/tailwind/output.css +22 -0
package/dist/my-library.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { withDirectives as I, openBlock as s, createElementBlock as c, vModelText as Q, reactive as
|
|
1
|
+
import { withDirectives as I, openBlock as s, createElementBlock as c, vModelText as Q, reactive as b, computed as m, normalizeClass as h, toDisplayString as k, resolveComponent as g, createCommentVNode as w, createVNode as d, createElementVNode as i, normalizeStyle as D, Fragment as x, renderList as B, createBlock as f, resolveDynamicComponent as E } from "vue";
|
|
2
2
|
const A = (e, t) => {
|
|
3
3
|
const r = e.__vccOpts || e;
|
|
4
4
|
for (const [o, u] of t)
|
|
5
5
|
r[o] = u;
|
|
6
6
|
return r;
|
|
7
|
-
},
|
|
7
|
+
}, v = {
|
|
8
8
|
name: "BaseInput",
|
|
9
9
|
props: {
|
|
10
10
|
placeholder: {
|
|
@@ -34,23 +34,24 @@ const A = (e, t) => {
|
|
|
34
34
|
}, 300);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
},
|
|
38
|
-
function
|
|
37
|
+
}, S = ["placeholder"];
|
|
38
|
+
function Y(e, t, r, o, u, n) {
|
|
39
39
|
return I((s(), c("input", {
|
|
40
40
|
class: "appearance-none focus:outline-none w-full text-sm",
|
|
41
41
|
placeholder: r.placeholder,
|
|
42
42
|
"onUpdate:modelValue": t[0] || (t[0] = (a) => u.internalValue = a),
|
|
43
43
|
onInput: t[1] || (t[1] = (...a) => n.onInput && n.onInput(...a))
|
|
44
|
-
}, null, 40,
|
|
44
|
+
}, null, 40, S)), [
|
|
45
45
|
[Q, u.internalValue]
|
|
46
46
|
]);
|
|
47
47
|
}
|
|
48
|
-
const M = /* @__PURE__ */ A(
|
|
48
|
+
const M = /* @__PURE__ */ A(v, [["render", Y]]), G = {
|
|
49
49
|
name: "BaseText",
|
|
50
50
|
props: {
|
|
51
51
|
text: {
|
|
52
52
|
type: String,
|
|
53
|
-
required: !0
|
|
53
|
+
required: !0,
|
|
54
|
+
default: ""
|
|
54
55
|
},
|
|
55
56
|
weight: {
|
|
56
57
|
type: String,
|
|
@@ -90,7 +91,7 @@ const M = /* @__PURE__ */ A(S, [["render", v]]), G = {
|
|
|
90
91
|
}
|
|
91
92
|
},
|
|
92
93
|
setup(e) {
|
|
93
|
-
return e =
|
|
94
|
+
return e = b(e), {
|
|
94
95
|
classes: m(() => {
|
|
95
96
|
let t = "inline-block font-sans";
|
|
96
97
|
switch (e.color) {
|
|
@@ -198,9 +199,9 @@ function q(e, t, r, o, u, n) {
|
|
|
198
199
|
class: h(o.classes)
|
|
199
200
|
}, k(r.text), 3);
|
|
200
201
|
}
|
|
201
|
-
const
|
|
202
|
+
const p = /* @__PURE__ */ A(G, [["render", q]]), U = {
|
|
202
203
|
name: "base-button",
|
|
203
|
-
components: { DefaultText:
|
|
204
|
+
components: { DefaultText: p },
|
|
204
205
|
props: {
|
|
205
206
|
label: {
|
|
206
207
|
type: String,
|
|
@@ -226,7 +227,7 @@ const b = /* @__PURE__ */ A(G, [["render", q]]), U = {
|
|
|
226
227
|
},
|
|
227
228
|
emits: ["click"],
|
|
228
229
|
setup(e, { emit: t }) {
|
|
229
|
-
return e =
|
|
230
|
+
return e = b(e), {
|
|
230
231
|
textColor: m(() => {
|
|
231
232
|
switch (e.type) {
|
|
232
233
|
case "primary":
|
|
@@ -240,7 +241,7 @@ const b = /* @__PURE__ */ A(G, [["render", q]]), U = {
|
|
|
240
241
|
case "admin":
|
|
241
242
|
return "neutral";
|
|
242
243
|
case "adminSecondary":
|
|
243
|
-
return "
|
|
244
|
+
return "neutral";
|
|
244
245
|
default:
|
|
245
246
|
return "primary";
|
|
246
247
|
}
|
|
@@ -266,25 +267,25 @@ const b = /* @__PURE__ */ A(G, [["render", q]]), U = {
|
|
|
266
267
|
}
|
|
267
268
|
}),
|
|
268
269
|
classes: m(() => {
|
|
269
|
-
let r = "
|
|
270
|
+
let r = "px-2.5 mx-2 inline-flex ";
|
|
270
271
|
switch (e.type) {
|
|
271
272
|
case "primary":
|
|
272
|
-
r += " items-center gap-2.5 rounded-md text-center shadow border border-
|
|
273
|
+
r += " py-0.5 items-center gap-2.5 rounded-md text-center shadow border border-dropdownSelect justify-center bg-neutral hover:bg-tertiary";
|
|
273
274
|
break;
|
|
274
275
|
case "secondary":
|
|
275
|
-
r += " items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral";
|
|
276
|
+
r += " py-0.5 items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral";
|
|
276
277
|
break;
|
|
277
278
|
case "tertiary":
|
|
278
|
-
r += " items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary";
|
|
279
|
+
r += " py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary";
|
|
279
280
|
break;
|
|
280
281
|
case "bright":
|
|
281
|
-
r += " items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral";
|
|
282
|
+
r += " py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral";
|
|
282
283
|
break;
|
|
283
284
|
case "admin":
|
|
284
|
-
r += " items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight";
|
|
285
|
+
r += " py-2 items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight";
|
|
285
286
|
break;
|
|
286
287
|
case "adminSecondary":
|
|
287
|
-
r += " items-center gap-2.5 text-center my-1 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral";
|
|
288
|
+
r += " py-0.5 items-center gap-2.5 text-center my-1 pb-0.5 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral";
|
|
288
289
|
break;
|
|
289
290
|
}
|
|
290
291
|
switch (e.size) {
|
|
@@ -349,7 +350,7 @@ const _ = /* @__PURE__ */ A(U, [["render", V]]), $ = {
|
|
|
349
350
|
}
|
|
350
351
|
},
|
|
351
352
|
setup(e) {
|
|
352
|
-
return e =
|
|
353
|
+
return e = b(e), {
|
|
353
354
|
classes: m(() => {
|
|
354
355
|
let t = "cursor-pointer inline-block py-1 px-3 my-2 ml-3 text-xs font-normal rounded-full text-neutral";
|
|
355
356
|
switch (e.backgroundColor) {
|
|
@@ -404,7 +405,7 @@ const W = /* @__PURE__ */ A($, [["render", T]]), C = "data:image/png;base64,iVBO
|
|
|
404
405
|
}
|
|
405
406
|
}
|
|
406
407
|
}, H = { class: "rounded-t-xl w-full" }, J = { class: "flex flex-row" };
|
|
407
|
-
function
|
|
408
|
+
function j(e, t, r, o, u, n) {
|
|
408
409
|
const a = g("BaseTag");
|
|
409
410
|
return s(), c("div", H, [
|
|
410
411
|
i("div", {
|
|
@@ -412,7 +413,7 @@ function F(e, t, r, o, u, n) {
|
|
|
412
413
|
class: "h-36 w-full flex flex-col justify-end rounded-t-xl bg-cover bg-no-repeat bg-center"
|
|
413
414
|
}, [
|
|
414
415
|
i("div", J, [
|
|
415
|
-
(s(!0), c(
|
|
416
|
+
(s(!0), c(x, null, B(r.tags, (l) => (s(), f(a, {
|
|
416
417
|
key: l,
|
|
417
418
|
label: l
|
|
418
419
|
}, null, 8, ["label"]))), 128))
|
|
@@ -420,11 +421,11 @@ function F(e, t, r, o, u, n) {
|
|
|
420
421
|
], 4)
|
|
421
422
|
]);
|
|
422
423
|
}
|
|
423
|
-
const
|
|
424
|
+
const F = /* @__PURE__ */ A(K, [["render", j]]), O = {
|
|
424
425
|
name: "tournament-card-details",
|
|
425
426
|
components: {
|
|
426
427
|
BaseButton: _,
|
|
427
|
-
BaseText:
|
|
428
|
+
BaseText: p
|
|
428
429
|
},
|
|
429
430
|
props: {
|
|
430
431
|
detail: {
|
|
@@ -438,10 +439,10 @@ const j = /* @__PURE__ */ A(K, [["render", F]]), P = {
|
|
|
438
439
|
})
|
|
439
440
|
}
|
|
440
441
|
}
|
|
441
|
-
},
|
|
442
|
+
}, P = { class: "flex flex-col w-full pt-4 pb-3 px-3" }, z = { class: "mt-4 flex flex-col" }, L = { class: "flex flex-row w-full justify-end" };
|
|
442
443
|
function N(e, t, r, o, u, n) {
|
|
443
444
|
const a = g("BaseText"), l = g("BaseButton");
|
|
444
|
-
return s(), c("div",
|
|
445
|
+
return s(), c("div", P, [
|
|
445
446
|
d(a, {
|
|
446
447
|
text: r.detail.name,
|
|
447
448
|
color: "primary",
|
|
@@ -477,10 +478,10 @@ function N(e, t, r, o, u, n) {
|
|
|
477
478
|
])
|
|
478
479
|
]);
|
|
479
480
|
}
|
|
480
|
-
const Z = /* @__PURE__ */ A(
|
|
481
|
+
const Z = /* @__PURE__ */ A(O, [["render", N]]), R = {
|
|
481
482
|
name: "TournamentCard",
|
|
482
483
|
components: {
|
|
483
|
-
TournamentHeader:
|
|
484
|
+
TournamentHeader: F,
|
|
484
485
|
TournamentDetail: Z
|
|
485
486
|
},
|
|
486
487
|
props: {
|
|
@@ -511,15 +512,20 @@ function ee(e, t, r, o, u, n) {
|
|
|
511
512
|
}
|
|
512
513
|
const te = /* @__PURE__ */ A(R, [["render", ee]]), re = {
|
|
513
514
|
name: "DropDownMenu",
|
|
514
|
-
components: { BaseText:
|
|
515
|
+
components: { BaseText: p },
|
|
515
516
|
props: {
|
|
516
517
|
label: {
|
|
517
518
|
type: String
|
|
518
519
|
},
|
|
519
520
|
items: {
|
|
520
|
-
type: Array
|
|
521
|
+
type: Array,
|
|
522
|
+
validator: (e) => e.every((t) => typeof t.text == "string")
|
|
521
523
|
},
|
|
522
|
-
selectedItem:
|
|
524
|
+
selectedItem: {
|
|
525
|
+
type: Object,
|
|
526
|
+
default: () => ({ text: "" }),
|
|
527
|
+
validator: (e) => typeof e.text == "string"
|
|
528
|
+
}
|
|
523
529
|
},
|
|
524
530
|
data: () => ({
|
|
525
531
|
isDropDownOpen: !1
|
|
@@ -561,7 +567,7 @@ function ie(e, t, r, o, u, n) {
|
|
|
561
567
|
le
|
|
562
568
|
]),
|
|
563
569
|
e.isDropDownOpen ? (s(), c("div", se, [
|
|
564
|
-
(s(!0), c(
|
|
570
|
+
(s(!0), c(x, null, B(r.items, (l) => (s(), c("a", {
|
|
565
571
|
key: l.id,
|
|
566
572
|
onClick: (y) => n.handleClick(l),
|
|
567
573
|
class: "hover:bg-dropdownSelect py-1 px-2 border-b border-dropdownSelect last:border-0"
|
|
@@ -633,7 +639,7 @@ const ye = /* @__PURE__ */ A(de, [["render", me]]), he = {
|
|
|
633
639
|
name: "GridContainer",
|
|
634
640
|
components: {
|
|
635
641
|
FilterAndSortBar: ye,
|
|
636
|
-
BaseText:
|
|
642
|
+
BaseText: p,
|
|
637
643
|
TournamentCard: te
|
|
638
644
|
},
|
|
639
645
|
props: {
|
|
@@ -693,11 +699,11 @@ const ye = /* @__PURE__ */ A(de, [["render", me]]), he = {
|
|
|
693
699
|
this.sortCriteria = e.text;
|
|
694
700
|
}
|
|
695
701
|
}
|
|
696
|
-
},
|
|
702
|
+
}, xe = { class: "border border-dropdownSelect rounded-lg p-9 bg-neutral" }, Be = { class: "w-full text-center mb-9" }, pe = { class: "my-4" }, be = { class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 3xl:grid-cols-4 gap-6 w-full" };
|
|
697
703
|
function fe(e, t, r, o, u, n) {
|
|
698
704
|
const a = g("BaseText"), l = g("FilterAndSortBar");
|
|
699
|
-
return s(), c("div",
|
|
700
|
-
i("h1",
|
|
705
|
+
return s(), c("div", xe, [
|
|
706
|
+
i("h1", Be, [
|
|
701
707
|
d(a, {
|
|
702
708
|
color: "primaryHighlight",
|
|
703
709
|
size: "2xl",
|
|
@@ -705,7 +711,7 @@ function fe(e, t, r, o, u, n) {
|
|
|
705
711
|
weight: "normal"
|
|
706
712
|
})
|
|
707
713
|
]),
|
|
708
|
-
i("div",
|
|
714
|
+
i("div", pe, [
|
|
709
715
|
d(l, {
|
|
710
716
|
items: r.dropdownItems,
|
|
711
717
|
label: r.label,
|
|
@@ -714,8 +720,8 @@ function fe(e, t, r, o, u, n) {
|
|
|
714
720
|
onSort: n.handleSort
|
|
715
721
|
}, null, 8, ["items", "label", "selectedItem", "onFilterbar", "onSort"])
|
|
716
722
|
]),
|
|
717
|
-
i("div",
|
|
718
|
-
(s(!0), c(
|
|
723
|
+
i("div", be, [
|
|
724
|
+
(s(!0), c(x, null, B(n.filteredItems, (y) => (s(), c("div", {
|
|
719
725
|
key: y.id
|
|
720
726
|
}, [
|
|
721
727
|
(s(), f(E(r.component), { detail: y }, null, 8, ["detail"]))
|
|
@@ -723,7 +729,7 @@ function fe(e, t, r, o, u, n) {
|
|
|
723
729
|
])
|
|
724
730
|
]);
|
|
725
731
|
}
|
|
726
|
-
const
|
|
732
|
+
const ve = /* @__PURE__ */ A(he, [["render", fe]]), Ce = {
|
|
727
733
|
name: "AdminLeftMenu",
|
|
728
734
|
components: { BaseButton: _ },
|
|
729
735
|
props: {
|
|
@@ -742,7 +748,8 @@ const Se = /* @__PURE__ */ A(he, [["render", fe]]), Ce = {
|
|
|
742
748
|
/* @__PURE__ */ i("div", { class: "ml-8" }, [
|
|
743
749
|
/* @__PURE__ */ i("img", {
|
|
744
750
|
class: "w-32",
|
|
745
|
-
src: "https://ferrotas.com/assets/ferrotas-white-small-720502db.png"
|
|
751
|
+
src: "https://ferrotas.com/assets/ferrotas-white-small-720502db.png",
|
|
752
|
+
alt: "logo"
|
|
746
753
|
})
|
|
747
754
|
])
|
|
748
755
|
])
|
|
@@ -752,7 +759,7 @@ function De(e, t, r, o, u, n) {
|
|
|
752
759
|
return s(), c("div", ke, [
|
|
753
760
|
we,
|
|
754
761
|
i("section", _e, [
|
|
755
|
-
(s(!0), c(
|
|
762
|
+
(s(!0), c(x, null, B(r.buttons, (l) => (s(), f(a, {
|
|
756
763
|
label: l.label,
|
|
757
764
|
iconClass: "fa-solid fa-trophy text-white",
|
|
758
765
|
type: "admin",
|
|
@@ -778,17 +785,17 @@ function De(e, t, r, o, u, n) {
|
|
|
778
785
|
])
|
|
779
786
|
]);
|
|
780
787
|
}
|
|
781
|
-
const
|
|
788
|
+
const Se = /* @__PURE__ */ A(Ce, [["render", De]]);
|
|
782
789
|
export {
|
|
783
|
-
|
|
790
|
+
Se as AdminLeftMenu,
|
|
784
791
|
_ as BaseButton,
|
|
785
792
|
M as BaseInput,
|
|
786
793
|
W as BaseTag,
|
|
787
|
-
|
|
794
|
+
p as BaseText,
|
|
788
795
|
ce as DropDownMenu,
|
|
789
796
|
ye as FilterAndSortBar,
|
|
790
|
-
|
|
797
|
+
ve as GridContainer,
|
|
791
798
|
te as TournamentCard,
|
|
792
799
|
Z as TournamentCardDetails,
|
|
793
|
-
|
|
800
|
+
F as TournamentCardHeader
|
|
794
801
|
};
|
package/dist/my-library.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.MyLibrary={},c.Vue))})(this,function(c,e){"use strict";const d=(t,r)=>{const a=t.__vccOpts||t;for(const[s,i]of r)a[s]=i;return a},b={name:"BaseInput",props:{placeholder:{type:String,default:""},value:{type:String,default:""}},data(){return{internalValue:this.value,timeout:null}},watch:{value(t){this.internalValue=t}},methods:{onInput(){clearTimeout(this.timeout),this.timeout=setTimeout(()=>{console.log("this.internalValue",this.internalValue),this.$emit("update:value",this.internalValue)},300)}}},C=["placeholder"];function w(t,r,a,s,i,l){return e.withDirectives((e.openBlock(),e.createElementBlock("input",{class:"appearance-none focus:outline-none w-full text-sm",placeholder:a.placeholder,"onUpdate:modelValue":r[0]||(r[0]=n=>i.internalValue=n),onInput:r[1]||(r[1]=(...n)=>l.onInput&&l.onInput(...n))},null,40,C)),[[e.vModelText,i.internalValue]])}const B=d(b,[["render",w]]),_={name:"BaseText",props:{text:{type:String,required:!0},weight:{type:String,default:"normal",validator:function(t){return["light","normal","medium","semi-bold","bold","extra-bold"].indexOf(t)!==-1}},size:{type:String,default:"small",validator:function(t){return["xs","small","medium","large","xl","2xl","3xl"].indexOf(t)!==-1}},color:{type:String,default:"primary",validator:function(t){return["neutral","quaternary","tertiary","secondary","primary","bright","primaryHighlight"].indexOf(t)!==-1}},hoverColor:{type:String,default:"none",validator:function(t){return["primary","secondary","tertiary","quaternary","neutral","bright","none"].indexOf(t)!==-1}}},setup(t){return t=e.reactive(t),{classes:e.computed(()=>{let r="inline-block font-sans";switch(t.color){case"neutral":r+=" text-neutral";break;case"tertiary":r+=" text-tertiary";break;case"secondary":r+=" text-secondary";break;case"quaternary":r+=" text-quaternary";break;case"primary":r+=" text-primary";break;case"primaryHighlight":r+=" text-primaryHighlight";break;case"bright":r+=" text-bright";break}switch(t.hoverColor){case"neutral":r+=" hover:text-neutral";break;case"tertiary":r+=" hover:text-tertiary";break;case"secondary":r+=" hover:text-secondary";break;case"quaternary":r+=" hover:text-quaternary";break;case"primary":r+=" hover:text-primary";break;case"bright":r+=" hover:text-bright";break;case"none":r+="";break}switch(t.weight){case"light":r+=" font-light";break;case"normal":r+=" font-normal";break;case"medium":r+=" font-medium";break;case"semi-bold":r+=" font-semibold";break;case"bold":r+=" font-bold";break;case"extra-bold":r+=" font-extrabold";break;default:r+=" font-normal";break}switch(t.size){case"xs":r+=" text-xs";break;case"small":r+=" text-sm";break;case"medium":r+=" text-md";break;case"large":r+=" text-lg";break;case"xl":r+=" text-xl";break;case"2xl":r+=" text-2xl";break;case"3xl":r+=" text-3xl";break;default:r+=" text-sm";break}return r})}}};function I(t,r,a,s,i,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.classes)},e.toDisplayString(a.text),3)}const m=d(_,[["render",I]]),E={name:"base-button",components:{DefaultText:m},props:{label:{type:String,required:!0},iconClass:{type:String,default:null},size:{type:String,validator:function(t){return["xs","small","medium","large","xl"].indexOf(t)!==-1}},type:{type:String,default:"primary",validator:function(t){return["primary","secondary","tertiary","bright","admin","adminSecondary"].indexOf(t)!==-1}}},emits:["click"],setup(t,{emit:r}){return t=e.reactive(t),{textColor:e.computed(()=>{switch(t.type){case"primary":return"primary";case"secondary":return"secondary";case"tertiary":return"tertiary";case"bright":return"bright";case"admin":return"neutral";case"adminSecondary":return"secondary";default:return"primary"}}),hoverClass:e.computed(()=>{switch(t.type){case"admin":return"hover:text-secondary";case"adminSecondary":return"hover:text-tertiary";default:return""}}),hoverColor:e.computed(()=>{switch(t.type){case"admin":return"text-secondary";case"adminSecondary":return"text-tertiary";default:return null}}),classes:e.computed(()=>{let a="py-2 px-2.5 mx-2 inline-flex ";switch(t.type){case"primary":a+=" items-center gap-2.5 rounded-md text-center shadow border border-skeleton justify-center bg-neutral hover:bg-tertiary";break;case"secondary":a+=" items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral";break;case"tertiary":a+=" items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary";break;case"bright":a+=" items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral";break;case"admin":a+=" items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight";break;case"adminSecondary":a+=" items-center gap-2.5 text-center my-1 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral";break}switch(t.size){case"xs":a+=" text-xs";break;case"small":a+=" text-sm";break;case"medium":a+=" text-md";break;case"large":a+=" text-lg";break;case"xl":a+=" text-xl";break;default:a+="";break}return a}),onClick(){console.log("Click!"),r("click")}}}};function Q(t,r,a,s,i,l){const n=e.resolveComponent("DefaultText");return e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(s.classes),type:"button",onClick:r[0]||(r[0]=(...o)=>s.onClick&&s.onClick(...o))},[a.iconClass?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass([a.iconClass,"mr-2 hover:text-highlightedClass"])},null,2)):e.createCommentVNode("",!0),e.createVNode(n,{color:s.textColor,size:a.size,text:a.label,weight:"normal"},null,8,["color","size","text"])],2)}const A=d(E,[["render",Q]]),D={name:"base-tag",props:{label:{type:String,required:!0},backgroundColor:{type:String,validator:function(t){return["primary","secondary","tertiary","neutral","bright"].indexOf(t)!==-1}}},setup(t){return t=e.reactive(t),{classes:e.computed(()=>{let r="cursor-pointer inline-block py-1 px-3 my-2 ml-3 text-xs font-normal rounded-full text-neutral";switch(t.backgroundColor){case"primary":r+=" bg-primary";break;case"secondary":r+=" bg-secondary";break;case"tertiary":r+=" bg-tertiary";break;case"neutral":r+=" bg-neutral";break;case"bright":r+=" bg-bright";break;default:r+=" bg-primary";break}return r})}}};function V(t,r,a,s,i,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.classes)},e.toDisplayString(a.label),3)}const y=d(D,[["render",V]]),h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADICAYAAABS39xVAAAAAXNSR0IArs4c6QAABdlJREFUeF7t1AEJACAQBEGNaiOzWkDBFgvzCY655+ba5w5HgACBgMA0WIGWRCRA4AsYLI9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBB4p/0F3nyMcxwAAAABJRU5ErkJggg==",S={name:"tournament-card-header",components:{BaseTag:y},props:{artwork:{type:String,required:!0,default:h},tags:{type:Array,default:()=>[]}},computed:{backgroundStyle(){return`background-image: url('${this.artwork||h}');`}}},Y={class:"rounded-t-xl w-full"},M={class:"flex flex-row"};function G(t,r,a,s,i,l){const n=e.resolveComponent("BaseTag");return e.openBlock(),e.createElementBlock("div",Y,[e.createElementVNode("div",{style:e.normalizeStyle(l.backgroundStyle),class:"h-36 w-full flex flex-col justify-end rounded-t-xl bg-cover bg-no-repeat bg-center"},[e.createElementVNode("div",M,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tags,o=>(e.openBlock(),e.createBlock(n,{key:o,label:o},null,8,["label"]))),128))])],4)])}const p=d(S,[["render",G]]),q={name:"tournament-card-details",components:{BaseButton:A,BaseText:m},props:{detail:{type:Object,required:!0,default:()=>({name:"",date:"",closes:"",location:""})}}},U={class:"flex flex-col w-full pt-4 pb-3 px-3"},N={class:"mt-4 flex flex-col"},T={class:"flex flex-row w-full justify-end"};function $(t,r,a,s,i,l){const n=e.resolveComponent("BaseText"),o=e.resolveComponent("BaseButton");return e.openBlock(),e.createElementBlock("div",U,[e.createVNode(n,{text:a.detail.name,color:"primary",size:"xl",weight:"semi-bold"},null,8,["text"]),e.createVNode(n,{text:a.detail.location,color:"primary",size:"small",weight:"normal"},null,8,["text"]),e.createElementVNode("div",N,[e.createVNode(n,{text:`${a.detail.date}`,color:"primaryHighlight",size:"small",weight:"light"},null,8,["text"]),e.createVNode(n,{text:`${a.detail.closes}`,color:"primaryHighlight",size:"small",weight:"light"},null,8,["text"])]),e.createElementVNode("div",T,[e.createVNode(o,{label:"Edit",class:"mt-2",primary:""})])])}const u=d(q,[["render",$]]),W={name:"TournamentCard",components:{TournamentHeader:p,TournamentDetail:u},props:{detail:{type:Object,required:!0,default:()=>({artwork:"",tags:[],name:"",description:"",date:"",closes:"",location:""})}}},K={class:"rounded-xl w-72 shadow"};function H(t,r,a,s,i,l){const n=e.resolveComponent("TournamentHeader"),o=e.resolveComponent("TournamentDetail");return e.openBlock(),e.createElementBlock("div",K,[e.createVNode(n,{artwork:a.detail.artwork,tags:a.detail.tags},null,8,["artwork","tags"]),e.createVNode(o,{detail:a.detail},null,8,["detail"])])}const x=d(W,[["render",H]]),F={name:"DropDownMenu",components:{BaseText:m},props:{label:{type:String},items:{type:Array},selectedItem:null},data:()=>({isDropDownOpen:!1}),methods:{handleClick(t){this.isDropDownOpen=!1,this.$emit("update:selectedItem",t)},handleDropDown(){this.isDropDownOpen=!this.isDropDownOpen}}},j={class:"flex flex-row"},J={class:"mr-2 pt-1"},L=e.createElementVNode("i",{class:"fa-solid fa-chevron-down text-xs"},null,-1),P={key:0,class:"flex flex-col w-32 shadow mt-2 z-10 rounded-xl py-1 absolute bg-white"},z=["onClick"];function O(t,r,a,s,i,l){const n=e.resolveComponent("BaseText");return e.openBlock(),e.createElementBlock("div",j,[e.createElementVNode("span",J,[e.createVNode(n,{text:a.label,color:"quaternary",size:"small",weight:"normal"},null,8,["text"])]),e.createElementVNode("span",null,[e.createElementVNode("div",{class:"z-10 rounded-lg shadow px-2 py-2 w-32 flex flex-row justify-between",onClick:r[0]||(r[0]=o=>l.handleDropDown())},[e.createVNode(n,{text:a.selectedItem.text,color:"secondary",size:"sm",weight:"normal"},null,8,["text"]),L]),t.isDropDownOpen?(e.openBlock(),e.createElementBlock("div",P,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,o=>(e.openBlock(),e.createElementBlock("a",{key:o.id,onClick:g=>l.handleClick(o),class:"hover:bg-dropdownSelect py-1 px-2 border-b border-dropdownSelect last:border-0"},[e.createVNode(n,{text:o.text,color:"primary",size:"xs",weight:"normal"},null,8,["text"])],8,z))),128))])):e.createCommentVNode("",!0)])])}const f=d(F,[["render",O]]),Z={name:"FilterAndSortBar",components:{DropDownMenu:f,BaseInput:B},data(){return{filterText:""}},props:{label:{type:String},items:{type:Array,default:()=>[]},selectedItem:null},methods:{handleFilter(t){this.$emit("filterbar",t)},handleSelectedItem(t){this.$emit("sort",t),console.log("handleSelectedItem",t)}}},R={class:"flex flex-row w-full justify-between"},X={class:"rounded-lg shadow px-2 py-1 w-1/2 flex flex-row mt-0.5"},v=e.createElementVNode("i",{class:"fa-solid fa-magnifying-glass text-primaryHighlight w-6 mt-1"},null,-1);function ee(t,r,a,s,i,l){const n=e.resolveComponent("BaseInput"),o=e.resolveComponent("DropDownMenu");return e.openBlock(),e.createElementBlock("section",R,[e.createElementVNode("div",X,[v,e.createVNode(n,{placeholder:"Search on Name, Location, or Date",class:"text-quaternary",value:i.filterText,"onUpdate:value":l.handleFilter},null,8,["value","onUpdate:value"])]),e.createElementVNode("div",null,[e.createVNode(o,{label:a.label,items:a.items,selectedItem:a.selectedItem,"onUpdate:selectedItem":l.handleSelectedItem},null,8,["label","items","selectedItem","onUpdate:selectedItem"])])])}const k=d(Z,[["render",ee]]),te={name:"GridContainer",components:{FilterAndSortBar:k,BaseText:m,TournamentCard:x},props:{items:{type:Array,default:()=>[]},component:{type:String,required:!0},label:{type:String},dropdownItems:{type:Array,default:()=>[]},selectedItem:null},data(){return{filterOn:"",sortCriteria:"Date"}},computed:{filteredItems(){let t=this.items;if(this.filterOn.trim()){const r=this.filterOn.toLowerCase();t=t.filter(a=>Object.values(a).some(s=>typeof s=="string"&&s.toLowerCase().includes(r)))}switch(this.sortCriteria){case"Date":t=[...t].sort((r,a)=>new Date(r.date)-new Date(a.date));break;case"Name":t=[...t].sort((r,a)=>r.name.localeCompare(a.name));break;case"Location":t=[...t].sort((r,a)=>r.location.localeCompare(a.location));break}return t}},methods:{handleFilter(t){this.filterOn=t},handleSort(t){this.sortCriteria=t.text}}},re={class:"border border-dropdownSelect rounded-lg p-9 bg-white"},ae={class:"w-full text-center mb-9"},ne={class:"my-4"},le={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-6 w-full"};function oe(t,r,a,s,i,l){const n=e.resolveComponent("BaseText"),o=e.resolveComponent("FilterAndSortBar");return e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("h1",ae,[e.createVNode(n,{color:"primaryHighlight",size:"2xl",text:"Upcoming Tournaments",weight:"normal"})]),e.createElementVNode("div",ne,[e.createVNode(o,{items:a.dropdownItems,label:a.label,selectedItem:a.selectedItem,onFilterbar:l.handleFilter,onSort:l.handleSort},null,8,["items","label","selectedItem","onFilterbar","onSort"])]),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.filteredItems,g=>(e.openBlock(),e.createElementBlock("div",{key:g.id},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{detail:g},null,8,["detail"]))]))),128))])])}const se=d(te,[["render",oe]]),ce={name:"AdminLeftMenu",components:{BaseButton:A},props:{buttons:{type:Array,default:()=>[]}},methods:{handleButtonClick(t){this.$emit("button-click",t)}}},ie={class:"bg-secondary w-64 h-screen flex flex-col justify-between"},de=e.createElementVNode("section",{class:"h-28 border-b-2 border-neutral"},[e.createElementVNode("div",{class:"flex flex-col justify-center h-28"},[e.createElementVNode("div",{class:"ml-8"},[e.createElementVNode("img",{class:"w-32",src:"https://ferrotas.com/assets/ferrotas-white-small-720502db.png"})])])],-1),me={class:"flex flex-col p-2 h-full"},ge={class:"flex flex-col justify-end p-2 h-full"},Ae={class:"border-t-2 border-neutral pt-2"};function Be(t,r,a,s,i,l){const n=e.resolveComponent("BaseButton");return e.openBlock(),e.createElementBlock("div",ie,[de,e.createElementVNode("section",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.buttons,o=>(e.openBlock(),e.createBlock(n,{label:o.label,iconClass:"fa-solid fa-trophy text-white",type:"admin",hover:"admin",onClick:g=>l.handleButtonClick(o)},null,8,["label","onClick"]))),256))]),e.createElementVNode("section",ge,[e.createElementVNode("div",Ae,[e.createVNode(n,{iconClass:"fa-solid fa-circle-user text-textSecondary",label:"Account",type:"adminSecondary",onClick:r[0]||(r[0]=o=>l.handleButtonClick(t.button))}),e.createVNode(n,{iconClass:"fa-solid fa-right-to-bracket fa-rotate-180 text-textSecondary",label:"Log Out",type:"adminSecondary",onClick:r[1]||(r[1]=o=>l.handleButtonClick(t.button))})])])])}const ye=d(ce,[["render",Be]]);c.AdminLeftMenu=ye,c.BaseButton=A,c.BaseInput=B,c.BaseTag=y,c.BaseText=m,c.DropDownMenu=f,c.FilterAndSortBar=k,c.GridContainer=se,c.TournamentCard=x,c.TournamentCardDetails=u,c.TournamentCardHeader=p,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.MyLibrary={},c.Vue))})(this,function(c,e){"use strict";const d=(t,r)=>{const a=t.__vccOpts||t;for(const[s,i]of r)a[s]=i;return a},k={name:"BaseInput",props:{placeholder:{type:String,default:""},value:{type:String,default:""}},data(){return{internalValue:this.value,timeout:null}},watch:{value(t){this.internalValue=t}},methods:{onInput(){clearTimeout(this.timeout),this.timeout=setTimeout(()=>{console.log("this.internalValue",this.internalValue),this.$emit("update:value",this.internalValue)},300)}}},C=["placeholder"];function w(t,r,a,s,i,l){return e.withDirectives((e.openBlock(),e.createElementBlock("input",{class:"appearance-none focus:outline-none w-full text-sm",placeholder:a.placeholder,"onUpdate:modelValue":r[0]||(r[0]=n=>i.internalValue=n),onInput:r[1]||(r[1]=(...n)=>l.onInput&&l.onInput(...n))},null,40,C)),[[e.vModelText,i.internalValue]])}const y=d(k,[["render",w]]),_={name:"BaseText",props:{text:{type:String,required:!0,default:""},weight:{type:String,default:"normal",validator:function(t){return["light","normal","medium","semi-bold","bold","extra-bold"].indexOf(t)!==-1}},size:{type:String,default:"small",validator:function(t){return["xs","small","medium","large","xl","2xl","3xl"].indexOf(t)!==-1}},color:{type:String,default:"primary",validator:function(t){return["neutral","quaternary","tertiary","secondary","primary","bright","primaryHighlight"].indexOf(t)!==-1}},hoverColor:{type:String,default:"none",validator:function(t){return["primary","secondary","tertiary","quaternary","neutral","bright","none"].indexOf(t)!==-1}}},setup(t){return t=e.reactive(t),{classes:e.computed(()=>{let r="inline-block font-sans";switch(t.color){case"neutral":r+=" text-neutral";break;case"tertiary":r+=" text-tertiary";break;case"secondary":r+=" text-secondary";break;case"quaternary":r+=" text-quaternary";break;case"primary":r+=" text-primary";break;case"primaryHighlight":r+=" text-primaryHighlight";break;case"bright":r+=" text-bright";break}switch(t.hoverColor){case"neutral":r+=" hover:text-neutral";break;case"tertiary":r+=" hover:text-tertiary";break;case"secondary":r+=" hover:text-secondary";break;case"quaternary":r+=" hover:text-quaternary";break;case"primary":r+=" hover:text-primary";break;case"bright":r+=" hover:text-bright";break;case"none":r+="";break}switch(t.weight){case"light":r+=" font-light";break;case"normal":r+=" font-normal";break;case"medium":r+=" font-medium";break;case"semi-bold":r+=" font-semibold";break;case"bold":r+=" font-bold";break;case"extra-bold":r+=" font-extrabold";break;default:r+=" font-normal";break}switch(t.size){case"xs":r+=" text-xs";break;case"small":r+=" text-sm";break;case"medium":r+=" text-md";break;case"large":r+=" text-lg";break;case"xl":r+=" text-xl";break;case"2xl":r+=" text-2xl";break;case"3xl":r+=" text-3xl";break;default:r+=" text-sm";break}return r})}}};function I(t,r,a,s,i,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.classes)},e.toDisplayString(a.text),3)}const m=d(_,[["render",I]]),E={name:"base-button",components:{DefaultText:m},props:{label:{type:String,required:!0},iconClass:{type:String,default:null},size:{type:String,validator:function(t){return["xs","small","medium","large","xl"].indexOf(t)!==-1}},type:{type:String,default:"primary",validator:function(t){return["primary","secondary","tertiary","bright","admin","adminSecondary"].indexOf(t)!==-1}}},emits:["click"],setup(t,{emit:r}){return t=e.reactive(t),{textColor:e.computed(()=>{switch(t.type){case"primary":return"primary";case"secondary":return"secondary";case"tertiary":return"tertiary";case"bright":return"bright";case"admin":return"neutral";case"adminSecondary":return"neutral";default:return"primary"}}),hoverClass:e.computed(()=>{switch(t.type){case"admin":return"hover:text-secondary";case"adminSecondary":return"hover:text-tertiary";default:return""}}),hoverColor:e.computed(()=>{switch(t.type){case"admin":return"text-secondary";case"adminSecondary":return"text-tertiary";default:return null}}),classes:e.computed(()=>{let a="px-2.5 mx-2 inline-flex ";switch(t.type){case"primary":a+=" py-0.5 items-center gap-2.5 rounded-md text-center shadow border border-dropdownSelect justify-center bg-neutral hover:bg-tertiary";break;case"secondary":a+=" py-0.5 items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral";break;case"tertiary":a+=" py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary";break;case"bright":a+=" py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral";break;case"admin":a+=" py-2 items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight";break;case"adminSecondary":a+=" py-0.5 items-center gap-2.5 text-center my-1 pb-0.5 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral";break}switch(t.size){case"xs":a+=" text-xs";break;case"small":a+=" text-sm";break;case"medium":a+=" text-md";break;case"large":a+=" text-lg";break;case"xl":a+=" text-xl";break;default:a+="";break}return a}),onClick(){console.log("Click!"),r("click")}}}};function Q(t,r,a,s,i,l){const n=e.resolveComponent("DefaultText");return e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(s.classes),type:"button",onClick:r[0]||(r[0]=(...o)=>s.onClick&&s.onClick(...o))},[a.iconClass?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass([a.iconClass,"mr-2 hover:text-highlightedClass"])},null,2)):e.createCommentVNode("",!0),e.createVNode(n,{color:s.textColor,size:a.size,text:a.label,weight:"normal"},null,8,["color","size","text"])],2)}const A=d(E,[["render",Q]]),D={name:"base-tag",props:{label:{type:String,required:!0},backgroundColor:{type:String,validator:function(t){return["primary","secondary","tertiary","neutral","bright"].indexOf(t)!==-1}}},setup(t){return t=e.reactive(t),{classes:e.computed(()=>{let r="cursor-pointer inline-block py-1 px-3 my-2 ml-3 text-xs font-normal rounded-full text-neutral";switch(t.backgroundColor){case"primary":r+=" bg-primary";break;case"secondary":r+=" bg-secondary";break;case"tertiary":r+=" bg-tertiary";break;case"neutral":r+=" bg-neutral";break;case"bright":r+=" bg-bright";break;default:r+=" bg-primary";break}return r})}}};function V(t,r,a,s,i,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.classes)},e.toDisplayString(a.label),3)}const B=d(D,[["render",V]]),h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADICAYAAABS39xVAAAAAXNSR0IArs4c6QAABdlJREFUeF7t1AEJACAQBEGNaiOzWkDBFgvzCY655+ba5w5HgACBgMA0WIGWRCRA4AsYLI9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBAyWHyBAICNgsDJVCUqAgMHyAwQIZAQMVqYqQQkQMFh+gACBjIDBylQlKAECBssPECCQETBYmaoEJUDAYPkBAgQyAgYrU5WgBAgYLD9AgEBGwGBlqhKUAAGD5QcIEMgIGKxMVYISIGCw/AABAhkBg5WpSlACBB4p/0F3nyMcxwAAAABJRU5ErkJggg==",S={name:"tournament-card-header",components:{BaseTag:B},props:{artwork:{type:String,required:!0,default:h},tags:{type:Array,default:()=>[]}},computed:{backgroundStyle(){return`background-image: url('${this.artwork||h}');`}}},Y={class:"rounded-t-xl w-full"},M={class:"flex flex-row"};function G(t,r,a,s,i,l){const n=e.resolveComponent("BaseTag");return e.openBlock(),e.createElementBlock("div",Y,[e.createElementVNode("div",{style:e.normalizeStyle(l.backgroundStyle),class:"h-36 w-full flex flex-col justify-end rounded-t-xl bg-cover bg-no-repeat bg-center"},[e.createElementVNode("div",M,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tags,o=>(e.openBlock(),e.createBlock(n,{key:o,label:o},null,8,["label"]))),128))])],4)])}const p=d(S,[["render",G]]),q={name:"tournament-card-details",components:{BaseButton:A,BaseText:m},props:{detail:{type:Object,required:!0,default:()=>({name:"",date:"",closes:"",location:""})}}},U={class:"flex flex-col w-full pt-4 pb-3 px-3"},N={class:"mt-4 flex flex-col"},T={class:"flex flex-row w-full justify-end"};function $(t,r,a,s,i,l){const n=e.resolveComponent("BaseText"),o=e.resolveComponent("BaseButton");return e.openBlock(),e.createElementBlock("div",U,[e.createVNode(n,{text:a.detail.name,color:"primary",size:"xl",weight:"semi-bold"},null,8,["text"]),e.createVNode(n,{text:a.detail.location,color:"primary",size:"small",weight:"normal"},null,8,["text"]),e.createElementVNode("div",N,[e.createVNode(n,{text:`${a.detail.date}`,color:"primaryHighlight",size:"small",weight:"light"},null,8,["text"]),e.createVNode(n,{text:`${a.detail.closes}`,color:"primaryHighlight",size:"small",weight:"light"},null,8,["text"])]),e.createElementVNode("div",T,[e.createVNode(o,{label:"Edit",class:"mt-2",primary:""})])])}const u=d(q,[["render",$]]),W={name:"TournamentCard",components:{TournamentHeader:p,TournamentDetail:u},props:{detail:{type:Object,required:!0,default:()=>({artwork:"",tags:[],name:"",description:"",date:"",closes:"",location:""})}}},K={class:"rounded-xl w-72 shadow"};function H(t,r,a,s,i,l){const n=e.resolveComponent("TournamentHeader"),o=e.resolveComponent("TournamentDetail");return e.openBlock(),e.createElementBlock("div",K,[e.createVNode(n,{artwork:a.detail.artwork,tags:a.detail.tags},null,8,["artwork","tags"]),e.createVNode(o,{detail:a.detail},null,8,["detail"])])}const x=d(W,[["render",H]]),F={name:"DropDownMenu",components:{BaseText:m},props:{label:{type:String},items:{type:Array,validator:t=>t.every(r=>typeof r.text=="string")},selectedItem:{type:Object,default:()=>({text:""}),validator:t=>typeof t.text=="string"}},data:()=>({isDropDownOpen:!1}),methods:{handleClick(t){this.isDropDownOpen=!1,this.$emit("update:selectedItem",t)},handleDropDown(){this.isDropDownOpen=!this.isDropDownOpen}}},j={class:"flex flex-row"},J={class:"mr-2 pt-1"},L=e.createElementVNode("i",{class:"fa-solid fa-chevron-down text-xs"},null,-1),O={key:0,class:"flex flex-col w-32 shadow mt-2 z-10 rounded-xl py-1 absolute bg-white"},P=["onClick"];function z(t,r,a,s,i,l){const n=e.resolveComponent("BaseText");return e.openBlock(),e.createElementBlock("div",j,[e.createElementVNode("span",J,[e.createVNode(n,{text:a.label,color:"quaternary",size:"small",weight:"normal"},null,8,["text"])]),e.createElementVNode("span",null,[e.createElementVNode("div",{class:"z-10 rounded-lg shadow px-2 py-2 w-32 flex flex-row justify-between",onClick:r[0]||(r[0]=o=>l.handleDropDown())},[e.createVNode(n,{text:a.selectedItem.text,color:"secondary",size:"sm",weight:"normal"},null,8,["text"]),L]),t.isDropDownOpen?(e.openBlock(),e.createElementBlock("div",O,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,o=>(e.openBlock(),e.createElementBlock("a",{key:o.id,onClick:g=>l.handleClick(o),class:"hover:bg-dropdownSelect py-1 px-2 border-b border-dropdownSelect last:border-0"},[e.createVNode(n,{text:o.text,color:"primary",size:"xs",weight:"normal"},null,8,["text"])],8,P))),128))])):e.createCommentVNode("",!0)])])}const f=d(F,[["render",z]]),Z={name:"FilterAndSortBar",components:{DropDownMenu:f,BaseInput:y},data(){return{filterText:""}},props:{label:{type:String},items:{type:Array,default:()=>[]},selectedItem:null},methods:{handleFilter(t){this.$emit("filterbar",t)},handleSelectedItem(t){this.$emit("sort",t),console.log("handleSelectedItem",t)}}},R={class:"flex flex-row w-full justify-between"},X={class:"rounded-lg shadow px-2 py-1 w-1/2 flex flex-row mt-0.5"},v=e.createElementVNode("i",{class:"fa-solid fa-magnifying-glass text-primaryHighlight w-6 mt-1"},null,-1);function ee(t,r,a,s,i,l){const n=e.resolveComponent("BaseInput"),o=e.resolveComponent("DropDownMenu");return e.openBlock(),e.createElementBlock("section",R,[e.createElementVNode("div",X,[v,e.createVNode(n,{placeholder:"Search on Name, Location, or Date",class:"text-quaternary",value:i.filterText,"onUpdate:value":l.handleFilter},null,8,["value","onUpdate:value"])]),e.createElementVNode("div",null,[e.createVNode(o,{label:a.label,items:a.items,selectedItem:a.selectedItem,"onUpdate:selectedItem":l.handleSelectedItem},null,8,["label","items","selectedItem","onUpdate:selectedItem"])])])}const b=d(Z,[["render",ee]]),te={name:"GridContainer",components:{FilterAndSortBar:b,BaseText:m,TournamentCard:x},props:{items:{type:Array,default:()=>[]},component:{type:String,required:!0},label:{type:String},dropdownItems:{type:Array,default:()=>[]},selectedItem:null},data(){return{filterOn:"",sortCriteria:"Date"}},computed:{filteredItems(){let t=this.items;if(this.filterOn.trim()){const r=this.filterOn.toLowerCase();t=t.filter(a=>Object.values(a).some(s=>typeof s=="string"&&s.toLowerCase().includes(r)))}switch(this.sortCriteria){case"Date":t=[...t].sort((r,a)=>new Date(r.date)-new Date(a.date));break;case"Name":t=[...t].sort((r,a)=>r.name.localeCompare(a.name));break;case"Location":t=[...t].sort((r,a)=>r.location.localeCompare(a.location));break}return t}},methods:{handleFilter(t){this.filterOn=t},handleSort(t){this.sortCriteria=t.text}}},re={class:"border border-dropdownSelect rounded-lg p-9 bg-neutral"},ae={class:"w-full text-center mb-9"},ne={class:"my-4"},le={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 3xl:grid-cols-4 gap-6 w-full"};function oe(t,r,a,s,i,l){const n=e.resolveComponent("BaseText"),o=e.resolveComponent("FilterAndSortBar");return e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("h1",ae,[e.createVNode(n,{color:"primaryHighlight",size:"2xl",text:"Upcoming Tournaments",weight:"normal"})]),e.createElementVNode("div",ne,[e.createVNode(o,{items:a.dropdownItems,label:a.label,selectedItem:a.selectedItem,onFilterbar:l.handleFilter,onSort:l.handleSort},null,8,["items","label","selectedItem","onFilterbar","onSort"])]),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.filteredItems,g=>(e.openBlock(),e.createElementBlock("div",{key:g.id},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{detail:g},null,8,["detail"]))]))),128))])])}const se=d(te,[["render",oe]]),ce={name:"AdminLeftMenu",components:{BaseButton:A},props:{buttons:{type:Array,default:()=>[]}},methods:{handleButtonClick(t){this.$emit("button-click",t)}}},ie={class:"bg-secondary w-64 h-screen flex flex-col justify-between"},de=e.createElementVNode("section",{class:"h-28 border-b-2 border-neutral"},[e.createElementVNode("div",{class:"flex flex-col justify-center h-28"},[e.createElementVNode("div",{class:"ml-8"},[e.createElementVNode("img",{class:"w-32",src:"https://ferrotas.com/assets/ferrotas-white-small-720502db.png",alt:"logo"})])])],-1),me={class:"flex flex-col p-2 h-full"},ge={class:"flex flex-col justify-end p-2 h-full"},Ae={class:"border-t-2 border-neutral pt-2"};function ye(t,r,a,s,i,l){const n=e.resolveComponent("BaseButton");return e.openBlock(),e.createElementBlock("div",ie,[de,e.createElementVNode("section",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.buttons,o=>(e.openBlock(),e.createBlock(n,{label:o.label,iconClass:"fa-solid fa-trophy text-white",type:"admin",hover:"admin",onClick:g=>l.handleButtonClick(o)},null,8,["label","onClick"]))),256))]),e.createElementVNode("section",ge,[e.createElementVNode("div",Ae,[e.createVNode(n,{iconClass:"fa-solid fa-circle-user text-textSecondary",label:"Account",type:"adminSecondary",onClick:r[0]||(r[0]=o=>l.handleButtonClick(t.button))}),e.createVNode(n,{iconClass:"fa-solid fa-right-to-bracket fa-rotate-180 text-textSecondary",label:"Log Out",type:"adminSecondary",onClick:r[1]||(r[1]=o=>l.handleButtonClick(t.button))})])])])}const Be=d(ce,[["render",ye]]);c.AdminLeftMenu=Be,c.BaseButton=A,c.BaseInput=y,c.BaseTag=B,c.BaseText=m,c.DropDownMenu=f,c.FilterAndSortBar=b,c.GridContainer=se,c.TournamentCard=x,c.TournamentCardDetails=u,c.TournamentCardHeader=p,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -53,7 +53,7 @@ export default {
|
|
|
53
53
|
case 'admin':
|
|
54
54
|
return 'neutral';
|
|
55
55
|
case 'adminSecondary':
|
|
56
|
-
return '
|
|
56
|
+
return 'neutral';
|
|
57
57
|
default:
|
|
58
58
|
return 'primary';
|
|
59
59
|
}
|
|
@@ -79,32 +79,32 @@ export default {
|
|
|
79
79
|
}
|
|
80
80
|
}),
|
|
81
81
|
classes: computed(() => {
|
|
82
|
-
let baseClasses = '
|
|
82
|
+
let baseClasses = 'px-2.5 mx-2 inline-flex ';
|
|
83
83
|
|
|
84
84
|
switch (props.type) {
|
|
85
85
|
case 'primary':
|
|
86
86
|
baseClasses +=
|
|
87
|
-
' items-center gap-2.5 rounded-md text-center shadow border border-
|
|
87
|
+
' py-0.5 items-center gap-2.5 rounded-md text-center shadow border border-dropdownSelect justify-center bg-neutral hover:bg-tertiary';
|
|
88
88
|
break;
|
|
89
89
|
case 'secondary':
|
|
90
90
|
baseClasses +=
|
|
91
|
-
' items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral';
|
|
91
|
+
' py-0.5 items-center gap-2.5 rounded-md text-center shadow bg-secondary justify-center hover:bg-primary text-neutral';
|
|
92
92
|
break;
|
|
93
93
|
case 'tertiary':
|
|
94
94
|
baseClasses +=
|
|
95
|
-
' items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary';
|
|
95
|
+
' py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-tertiary hover:bg-primary text-primary';
|
|
96
96
|
break;
|
|
97
97
|
case 'bright':
|
|
98
98
|
baseClasses +=
|
|
99
|
-
' items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral';
|
|
99
|
+
' py-0.5 items-center gap-2.5 rounded-md text-center justify-center bg-bright hover:bg-primary text-neutral';
|
|
100
100
|
break;
|
|
101
101
|
case 'admin':
|
|
102
102
|
baseClasses +=
|
|
103
|
-
' items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight';
|
|
103
|
+
' py-2 items-center rounded-md gap-2.5 text-center bg-primary hover:bg-primary my-1 text-neutral hover:bg-primaryHighlight';
|
|
104
104
|
break;
|
|
105
105
|
case 'adminSecondary':
|
|
106
106
|
baseClasses +=
|
|
107
|
-
' items-center gap-2.5 text-center my-1 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral';
|
|
107
|
+
' py-0.5 items-center gap-2.5 text-center my-1 pb-0.5 border-b border-secondary hover:border-b hover:border-neutral w-11/12 text-neutral';
|
|
108
108
|
break;
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="border border-dropdownSelect rounded-lg p-9 bg-
|
|
2
|
+
<div class="border border-dropdownSelect rounded-lg p-9 bg-neutral">
|
|
3
3
|
<h1 class="w-full text-center mb-9">
|
|
4
4
|
<BaseText color="primaryHighlight" size="2xl" text="Upcoming Tournaments" weight="normal" />
|
|
5
5
|
</h1>
|
|
6
6
|
<div class="my-4">
|
|
7
7
|
<FilterAndSortBar :items="dropdownItems" :label="label" :selectedItem="selectedItem" @filterbar="handleFilter" @sort="handleSort"/>
|
|
8
8
|
</div>
|
|
9
|
-
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3
|
|
9
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 3xl:grid-cols-4 gap-6 w-full">
|
|
10
10
|
<div v-for="item in filteredItems" :key="item.id">
|
|
11
11
|
<component :is="component" :detail="item" />
|
|
12
12
|
</div>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<section class="h-28 border-b-2 border-neutral">
|
|
4
4
|
<div class="flex flex-col justify-center h-28">
|
|
5
5
|
<div class="ml-8">
|
|
6
|
-
<img class="w-32" src="https://ferrotas.com/assets/ferrotas-white-small-720502db.png"
|
|
6
|
+
<img class="w-32" src="https://ferrotas.com/assets/ferrotas-white-small-720502db.png" alt="logo"/>
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
9
|
</section>
|
|
@@ -29,9 +29,14 @@ export default {
|
|
|
29
29
|
type: String,
|
|
30
30
|
},
|
|
31
31
|
items: {
|
|
32
|
-
type: Array
|
|
32
|
+
type: Array,
|
|
33
|
+
validator: (itemsArray) => itemsArray.every(item => typeof item.text === 'string')
|
|
33
34
|
},
|
|
34
|
-
selectedItem:
|
|
35
|
+
selectedItem: {
|
|
36
|
+
type: Object,
|
|
37
|
+
default: () => ({ text: '' }),
|
|
38
|
+
validator: (obj) => typeof obj.text === 'string'
|
|
39
|
+
}
|
|
35
40
|
},
|
|
36
41
|
data: () => ({
|
|
37
42
|
isDropDownOpen: false
|
package/tailwind/output.css
CHANGED
|
@@ -837,6 +837,16 @@ video {
|
|
|
837
837
|
padding-bottom: 0.5rem;
|
|
838
838
|
}
|
|
839
839
|
|
|
840
|
+
.py-0{
|
|
841
|
+
padding-top: 0px;
|
|
842
|
+
padding-bottom: 0px;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
.py-0\.5{
|
|
846
|
+
padding-top: 0.125rem;
|
|
847
|
+
padding-bottom: 0.125rem;
|
|
848
|
+
}
|
|
849
|
+
|
|
840
850
|
.pb-3{
|
|
841
851
|
padding-bottom: 0.75rem;
|
|
842
852
|
}
|
|
@@ -853,6 +863,18 @@ video {
|
|
|
853
863
|
padding-top: 1rem;
|
|
854
864
|
}
|
|
855
865
|
|
|
866
|
+
.pb-1{
|
|
867
|
+
padding-bottom: 0.25rem;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
.pb-0{
|
|
871
|
+
padding-bottom: 0px;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
.pb-0\.5{
|
|
875
|
+
padding-bottom: 0.125rem;
|
|
876
|
+
}
|
|
877
|
+
|
|
856
878
|
.text-center{
|
|
857
879
|
text-align: center;
|
|
858
880
|
}
|