@dcrackel/meyersquaredui 1.0.110 → 1.0.112
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/meyersquaredui.es.js +505 -470
- package/dist/meyersquaredui.umd.js +4 -4
- package/package.json +68 -68
- package/src/stories/Molecules/ProgressTracker/ProgressTracker.stories.js +37 -9
- package/src/stories/Molecules/ProgressTracker/ProgressTracker.vue +7 -3
- package/src/stories/Organisms/GridLayout/GridLayout.stories.js +10 -0
- package/src/stories/Organisms/GridLayout/GridLayout.vue +15 -0
- package/src/stories/Templates/TournamentDetailPage/TournamentDetailPage.vue +2 -1
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dcrackel/meyersquaredui",
|
|
3
|
-
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/meyersquaredui.cjs.js",
|
|
7
|
-
"module": "dist/meyersquaredui.esm.js",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./dist/meyersquaredui.es.js",
|
|
11
|
-
"require": "./dist/meyersquaredui.umd.js"
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"dist",
|
|
16
|
-
"src"
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"dev": "vite",
|
|
20
|
-
"build": "npm version patch && vite build",
|
|
21
|
-
"publish:package": "npm publish",
|
|
22
|
-
"preview": "vite preview",
|
|
23
|
-
"build-storybook": "npm run build:tailwind && storybook build",
|
|
24
|
-
"build:tailwind": "tailwindcss build ./tailwind/tailwind.css -o ../HemaTournamentPublic/src/ui-tailwind.css",
|
|
25
|
-
"storybook": "concurrently \"npm run watch:tailwind\" \"npm run watch:storybook\"",
|
|
26
|
-
"watch:storybook": "storybook dev -p 6006",
|
|
27
|
-
"watch:tailwind": "tailwindcss build ./tailwind/tailwind.css -o ./tailwind/output.css --watch",
|
|
28
|
-
"copy:css": "copy .\\dist\\ui-tailwind.css ..\\HemaTournamentPublic\\src\\ui-tailwind.css",
|
|
29
|
-
"lint": "eslint --ext .ts,.vue .",
|
|
30
|
-
"test": "vitest",
|
|
31
|
-
"coverage": "vitest run --coverage"
|
|
32
|
-
},
|
|
33
|
-
"dependencies": {
|
|
34
|
-
"concurrently": "^9.0.1",
|
|
35
|
-
"font-awesome": "^4.7.0",
|
|
36
|
-
"version": "^0.0.1",
|
|
37
|
-
"vue": "^3.5.10",
|
|
38
|
-
"vue3-google-map": "^0.21.0"
|
|
39
|
-
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@chromatic-com/storybook": "^2.0.2",
|
|
42
|
-
"@storybook/addon-controls": "^8.3.
|
|
43
|
-
"@storybook/addon-essentials": "^8.3.
|
|
44
|
-
"@storybook/addon-interactions": "^8.3.
|
|
45
|
-
"@storybook/addon-links": "^8.3.
|
|
46
|
-
"@storybook/addon-mdx-gfm": "^8.3.
|
|
47
|
-
"@storybook/addon-onboarding": "^8.3.
|
|
48
|
-
"@storybook/blocks": "^8.3.
|
|
49
|
-
"@storybook/test": "^8.3.
|
|
50
|
-
"@storybook/vue3": "^8.3.
|
|
51
|
-
"@storybook/vue3-vite": "^8.3.
|
|
52
|
-
"@vitejs/plugin-vue": "^5.1.2",
|
|
53
|
-
"autoprefixer": "^10.4.20",
|
|
54
|
-
"postcss": "^8.4.45",
|
|
55
|
-
"storybook": "^8.3.
|
|
56
|
-
"tailwindcss": "^3.4.11",
|
|
57
|
-
"vite": "^5.4.1"
|
|
58
|
-
},
|
|
59
|
-
"keywords": [
|
|
60
|
-
"story",
|
|
61
|
-
"hema",
|
|
62
|
-
"tournament",
|
|
63
|
-
"UI",
|
|
64
|
-
"vue3"
|
|
65
|
-
],
|
|
66
|
-
"author": "Meyer Squared",
|
|
67
|
-
"license": "MIT"
|
|
68
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@dcrackel/meyersquaredui",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "1.0.112",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/meyersquaredui.cjs.js",
|
|
7
|
+
"module": "dist/meyersquaredui.esm.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/meyersquaredui.es.js",
|
|
11
|
+
"require": "./dist/meyersquaredui.umd.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"src"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "vite",
|
|
20
|
+
"build": "npm version patch && vite build",
|
|
21
|
+
"publish:package": "npm publish",
|
|
22
|
+
"preview": "vite preview",
|
|
23
|
+
"build-storybook": "npm run build:tailwind && storybook build",
|
|
24
|
+
"build:tailwind": "tailwindcss build ./tailwind/tailwind.css -o ../HemaTournamentPublic/src/ui-tailwind.css",
|
|
25
|
+
"storybook": "concurrently \"npm run watch:tailwind\" \"npm run watch:storybook\"",
|
|
26
|
+
"watch:storybook": "storybook dev -p 6006",
|
|
27
|
+
"watch:tailwind": "tailwindcss build ./tailwind/tailwind.css -o ./tailwind/output.css --watch",
|
|
28
|
+
"copy:css": "copy .\\dist\\ui-tailwind.css ..\\HemaTournamentPublic\\src\\ui-tailwind.css",
|
|
29
|
+
"lint": "eslint --ext .ts,.vue .",
|
|
30
|
+
"test": "vitest",
|
|
31
|
+
"coverage": "vitest run --coverage"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"concurrently": "^9.0.1",
|
|
35
|
+
"font-awesome": "^4.7.0",
|
|
36
|
+
"version": "^0.0.1",
|
|
37
|
+
"vue": "^3.5.10",
|
|
38
|
+
"vue3-google-map": "^0.21.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@chromatic-com/storybook": "^2.0.2",
|
|
42
|
+
"@storybook/addon-controls": "^8.3.5",
|
|
43
|
+
"@storybook/addon-essentials": "^8.3.5",
|
|
44
|
+
"@storybook/addon-interactions": "^8.3.5",
|
|
45
|
+
"@storybook/addon-links": "^8.3.5",
|
|
46
|
+
"@storybook/addon-mdx-gfm": "^8.3.5",
|
|
47
|
+
"@storybook/addon-onboarding": "^8.3.5",
|
|
48
|
+
"@storybook/blocks": "^8.3.5",
|
|
49
|
+
"@storybook/test": "^8.3.5",
|
|
50
|
+
"@storybook/vue3": "^8.3.5",
|
|
51
|
+
"@storybook/vue3-vite": "^8.3.5",
|
|
52
|
+
"@vitejs/plugin-vue": "^5.1.2",
|
|
53
|
+
"autoprefixer": "^10.4.20",
|
|
54
|
+
"postcss": "^8.4.45",
|
|
55
|
+
"storybook": "^8.3.5",
|
|
56
|
+
"tailwindcss": "^3.4.11",
|
|
57
|
+
"vite": "^5.4.1"
|
|
58
|
+
},
|
|
59
|
+
"keywords": [
|
|
60
|
+
"story",
|
|
61
|
+
"hema",
|
|
62
|
+
"tournament",
|
|
63
|
+
"UI",
|
|
64
|
+
"vue3"
|
|
65
|
+
],
|
|
66
|
+
"author": "Meyer Squared",
|
|
67
|
+
"license": "MIT"
|
|
68
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import ProgressTracker from './ProgressTracker.vue';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
title: '
|
|
4
|
+
title: 'Components/ProgressTracker',
|
|
5
5
|
component: ProgressTracker,
|
|
6
|
+
argTypes: {
|
|
7
|
+
currentPhase: { control: { type: 'number', min: 0, max: 4 } },
|
|
8
|
+
highlightPhase: { control: { type: 'number', min: 0, max: 4 } },
|
|
9
|
+
isEventComplete: { control: 'boolean' },
|
|
10
|
+
},
|
|
6
11
|
};
|
|
7
12
|
|
|
8
13
|
const Template = (args) => ({
|
|
@@ -13,21 +18,44 @@ const Template = (args) => ({
|
|
|
13
18
|
template: '<ProgressTracker v-bind="args" />',
|
|
14
19
|
});
|
|
15
20
|
|
|
16
|
-
export const
|
|
17
|
-
|
|
18
|
-
currentPhase: 2, // Example:
|
|
21
|
+
export const Default = Template.bind({});
|
|
22
|
+
Default.args = {
|
|
23
|
+
currentPhase: 2, // Example: Pool Results
|
|
24
|
+
highlightPhase: 1, // Example: Pools (User viewing Pools page)
|
|
19
25
|
isEventComplete: false,
|
|
26
|
+
phases: [
|
|
27
|
+
{ label: 'Registration', icon: 'fa-solid fa-file-alt' },
|
|
28
|
+
{ label: 'Pools', icon: 'fa-kit fa-longsword' },
|
|
29
|
+
{ label: 'Pool Results', icon: 'fa-solid fa-clipboard-check' },
|
|
30
|
+
{ label: 'Bracket', icon: 'fa-solid fa-sitemap' },
|
|
31
|
+
{ label: 'Final Result', icon: 'fa-solid fa-trophy' },
|
|
32
|
+
],
|
|
20
33
|
};
|
|
21
34
|
|
|
22
|
-
export const
|
|
23
|
-
|
|
24
|
-
currentPhase:
|
|
35
|
+
export const EventComplete = Template.bind({});
|
|
36
|
+
EventComplete.args = {
|
|
37
|
+
currentPhase: 4, // Event is complete
|
|
38
|
+
highlightPhase: 4, // User is viewing the final results
|
|
39
|
+
isEventComplete: true,
|
|
25
40
|
phases: [
|
|
26
41
|
{ label: 'Registration', icon: 'fa-solid fa-file-alt' },
|
|
27
|
-
{ label: '
|
|
42
|
+
{ label: 'Pools', icon: 'fa-kit fa-longsword' },
|
|
43
|
+
{ label: 'Pool Results', icon: 'fa-solid fa-clipboard-check' },
|
|
44
|
+
{ label: 'Bracket', icon: 'fa-solid fa-sitemap' },
|
|
45
|
+
{ label: 'Final Result', icon: 'fa-solid fa-trophy' },
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const EarlyPhase = Template.bind({});
|
|
50
|
+
EarlyPhase.args = {
|
|
51
|
+
currentPhase: 0, // Event hasn't started yet
|
|
52
|
+
highlightPhase: 0, // Viewing registration page
|
|
53
|
+
isEventComplete: false,
|
|
54
|
+
phases: [
|
|
55
|
+
{ label: 'Registration', icon: 'fa-solid fa-file-alt' },
|
|
56
|
+
{ label: 'Pools', icon: 'fa-kit fa-longsword' },
|
|
28
57
|
{ label: 'Pool Results', icon: 'fa-solid fa-clipboard-check' },
|
|
29
58
|
{ label: 'Bracket', icon: 'fa-solid fa-sitemap' },
|
|
30
59
|
{ label: 'Final Result', icon: 'fa-solid fa-trophy' },
|
|
31
60
|
],
|
|
32
|
-
isEventComplete: true,
|
|
33
61
|
};
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
<BaseText
|
|
30
30
|
tag="p"
|
|
31
31
|
size="sm"
|
|
32
|
-
:weight="
|
|
32
|
+
:weight="highlightPhase === index ? 'bold' : 'normal'"
|
|
33
33
|
class="mt-2 transition-all duration-300"
|
|
34
34
|
:class="{
|
|
35
|
-
'font-bold text-accent': isPhaseActive(index),
|
|
36
|
-
'text-gray-600': !isPhaseActive(index),
|
|
35
|
+
'font-bold text-accent': isPhaseActive(index) || highlightPhase === index,
|
|
36
|
+
'text-gray-600': !isPhaseActive(index) && highlightPhase !== index,
|
|
37
37
|
'hover:text-accent': hoveredPhase === index && index <= currentPhase,
|
|
38
38
|
}"
|
|
39
39
|
>
|
|
@@ -68,6 +68,10 @@ export default {
|
|
|
68
68
|
required: true,
|
|
69
69
|
default: 0,
|
|
70
70
|
},
|
|
71
|
+
highlightPhase: {
|
|
72
|
+
type: Number,
|
|
73
|
+
default: null,
|
|
74
|
+
},
|
|
71
75
|
isEventComplete: {
|
|
72
76
|
type: Boolean,
|
|
73
77
|
default: false,
|
|
@@ -81,4 +81,14 @@ ArticleGridLoading.args = {
|
|
|
81
81
|
cardComponent: ArticleCard,
|
|
82
82
|
items: mockArticles,
|
|
83
83
|
isLoading: true
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const Empty = FencerTemplate.bind({});
|
|
87
|
+
Empty.args = {
|
|
88
|
+
title: 'Empty Set',
|
|
89
|
+
moreButtonLabel: '',
|
|
90
|
+
maxColumns: 1,
|
|
91
|
+
cardComponent: ArticleCard,
|
|
92
|
+
items: [],
|
|
93
|
+
isLoading: true
|
|
84
94
|
};
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
</div>
|
|
8
8
|
<div :class="gridClasses">
|
|
9
9
|
<component
|
|
10
|
+
v-if="items.length > 0"
|
|
10
11
|
v-for="(item, index) in items"
|
|
11
12
|
:is="cardComponent"
|
|
12
13
|
:key="index"
|
|
@@ -15,6 +16,10 @@
|
|
|
15
16
|
:isLoading="isLoading"
|
|
16
17
|
@grid-card-click="handleTournamentCardClick"
|
|
17
18
|
/>
|
|
19
|
+
<div v-if="items.length === 0" class="w-full flex-col flex p-10">
|
|
20
|
+
<Icon :icon="noResultsIcon" color="primary" size="5xl" class="w-full flex justify-center"/>
|
|
21
|
+
<BaseText color="primary" size="lg" weight="normal" class="w-full flex justify-center mt-4">{{noResultsMsg}}</BaseText>
|
|
22
|
+
</div>
|
|
18
23
|
</div>
|
|
19
24
|
</div>
|
|
20
25
|
<div v-if="!whiteStyle && moreButtonLabel" class="w-full flex justify-center pb-28 pt-10 md:pt-14">
|
|
@@ -36,10 +41,12 @@
|
|
|
36
41
|
import BaseButton from "../../Atoms/BaseButton/BaseButton.vue";
|
|
37
42
|
import BaseText from "../../Atoms/BaseText/BaseText.vue";
|
|
38
43
|
import {markRaw} from "vue";
|
|
44
|
+
import Icon from "../../Atoms/Icon/Icon.vue";
|
|
39
45
|
|
|
40
46
|
export default {
|
|
41
47
|
name: 'GridLayout',
|
|
42
48
|
components: {
|
|
49
|
+
Icon,
|
|
43
50
|
BaseButton,
|
|
44
51
|
BaseText,
|
|
45
52
|
},
|
|
@@ -81,6 +88,14 @@ export default {
|
|
|
81
88
|
type: String,
|
|
82
89
|
default: 'w-full flex justify-center mx-auto',
|
|
83
90
|
},
|
|
91
|
+
noResultsMsg: {
|
|
92
|
+
type: String,
|
|
93
|
+
default: 'No results found',
|
|
94
|
+
},
|
|
95
|
+
noResultsIcon: {
|
|
96
|
+
type: String,
|
|
97
|
+
default: 'fa-user-magnifying-glass',
|
|
98
|
+
},
|
|
84
99
|
},
|
|
85
100
|
emits: ['grid-click', 'grid-card-click'],
|
|
86
101
|
computed: {
|
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
/>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="w-full max-w-4xl mx-auto md:p-4 mb-20">
|
|
21
|
+
<!-- :items="tournament.Events"-->
|
|
21
22
|
<GridLayout
|
|
22
23
|
v-if="tournament.Events.length > 0"
|
|
23
24
|
:cardComponent="EventListCard"
|
|
24
|
-
:items="
|
|
25
|
+
:items="[]"
|
|
25
26
|
:maxColumns="1"
|
|
26
27
|
:isLoading="false"
|
|
27
28
|
:whiteStyle="true"
|