@dcrackel/hematournamentui 1.0.21 → 1.0.23
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/.eslintrc.js +18 -18
- package/.gitattributes +2 -2
- package/.prettierignore +1 -1
- package/.storybook/main.js +18 -18
- package/.storybook/mockRoutes.js +9 -9
- package/.storybook/preview-head.html +3 -3
- package/.storybook/preview.js +17 -17
- package/LICENSE +21 -21
- package/README.md +83 -83
- package/dist/HemaTouranmentUI-lib.es.js +7060 -6916
- package/dist/HemaTouranmentUI-lib.umd.js +27 -27
- package/dist/style.css +1 -1
- package/index.html +12 -12
- package/package.json +58 -56
- package/postcss.config.js +6 -6
- package/prettier.config.js +10 -10
- package/src/index.js +25 -25
- package/src/main.js +2 -2
- package/src/mocks/fileMock.js +1 -1
- package/src/mocks/tournamentMock.js +34 -34
- package/src/stories/Atoms/Icon/BaseIcon.stories.js +54 -54
- package/src/stories/Atoms/Icon/BaseIcon.test.js +91 -0
- package/src/stories/Atoms/Icon/BaseIcon.vue +48 -47
- package/src/stories/Atoms/Input/BaseInput.stories.js +29 -28
- package/src/stories/Atoms/Input/BaseInput.test.js +87 -87
- package/src/stories/Atoms/Input/BaseInput.vue +85 -73
- package/src/stories/Atoms/RadioGroup/BaseRadioGroup.stories.js +31 -31
- package/src/stories/Atoms/RadioGroup/BaseRadioGroup.test.js +49 -0
- package/src/stories/Atoms/RadioGroup/BaseRadioGroup.vue +49 -49
- package/src/stories/Atoms/Tag/BaseTag.stories.js +29 -29
- package/src/stories/Atoms/Tag/BaseTag.test.js +42 -42
- package/src/stories/Atoms/Tag/BaseTag.vue +57 -57
- package/src/stories/Atoms/Text/BaseText.stories.js +77 -77
- package/src/stories/Atoms/Text/BaseText.test.js +172 -172
- package/src/stories/Atoms/Text/BaseText.vue +170 -170
- package/src/stories/Configure.mdx +320 -320
- package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.stories.js +41 -41
- package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.test.js +80 -0
- package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.vue +31 -31
- package/src/stories/Molecules/Button/BaseButton.stories.js +93 -76
- package/src/stories/Molecules/Button/BaseButton.test.js +147 -147
- package/src/stories/Molecules/Button/BaseButton.vue +116 -125
- package/src/stories/Molecules/Cards/Detail/TournamentCardDetail.stories.js +33 -33
- package/src/stories/Molecules/Cards/Detail/TournamentCardDetail.vue +38 -38
- package/src/stories/Molecules/Cards/Header/TournamentCardHeader.stories.js +48 -48
- package/src/stories/Molecules/Cards/Header/TournamentCardHeader.vue +40 -40
- package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.stories.js +36 -36
- package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +49 -49
- package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.stories.js +32 -32
- package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +46 -46
- package/src/stories/Organisms/AddressAutocomplete/AddressAutocomplete.stories.js +25 -25
- package/src/stories/Organisms/AddressAutocomplete/AddressAutocomplete.vue +51 -51
- package/src/stories/Organisms/DatePicker/DatePicker.stories.js +25 -25
- package/src/stories/Organisms/DatePicker/DatePicker.vue +62 -62
- package/src/stories/Organisms/DropDown/DropDownMenu.stories.js +34 -34
- package/src/stories/Organisms/DropDown/DropDownMenu.vue +51 -51
- package/src/stories/Organisms/Grid/GridContainer.stories.js +47 -47
- package/src/stories/Organisms/Grid/GridContainer.vue +108 -108
- package/src/stories/Organisms/ImageCropper/ImageCropper.stories.js +28 -28
- package/src/stories/Organisms/ImageCropper/ImageCropper.vue +86 -86
- package/src/stories/Organisms/TextBoxEditor/TextBoxEditor.stories.js +28 -28
- package/src/stories/Organisms/TextBoxEditor/TextBoxEditor.vue +97 -97
- package/src/stories/Organisms/TournamentCard/TournamentCard.stories.js +37 -37
- package/src/stories/Organisms/TournamentCard/TournamentCard.vue +35 -35
- package/src/stories/Templates/Forms/AddTournamentPageOne/AddTournamentPageOne.stories.js +25 -25
- package/src/stories/Templates/Forms/AddTournamentPageOne/AddTournamentPageOne.vue +138 -136
- package/src/stories/Templates/Forms/AddTournamentPageTwo/AddTournamentPageTwo.stories.js +35 -0
- package/src/stories/Templates/Forms/AddTournamentPageTwo/AddTournamentPageTwo.vue +121 -0
- package/src/stories/Templates/Menu/Admin/AdminLeftMenu.stories.js +28 -28
- package/src/stories/Templates/Menu/Admin/AdminLeftMenu.vue +57 -57
- package/tailwind/output.css +1247 -1212
- package/tailwind/tailwind.css +4 -4
- package/tailwind.config.js +50 -50
- package/vite.config.js +23 -23
- package/package/.eslintrc.js +0 -18
- package/package/.gitattributes +0 -2
- package/package/.prettierignore +0 -1
- package/package/.storybook/main.js +0 -18
- package/package/.storybook/mockRoutes.js +0 -9
- package/package/.storybook/preview-head.html +0 -1
- package/package/.storybook/preview.js +0 -17
- package/package/LICENSE +0 -21
- package/package/README.md +0 -83
- package/package/index.html +0 -12
- package/package/package.json +0 -49
- package/package/postcss.config.js +0 -6
- package/package/prettier.config.js +0 -10
- package/package/src/assets/default-tournament.png +0 -0
- package/package/src/index.js +0 -15
- package/package/src/main.js +0 -2
- package/package/src/mocks/fileMock.js +0 -1
- package/package/src/mocks/tournamentMock.js +0 -34
- package/package/src/stories/Base/Button/BaseButton.stories.js +0 -69
- package/package/src/stories/Base/Button/BaseButton.test.js +0 -146
- package/package/src/stories/Base/Button/BaseButton.vue +0 -126
- package/package/src/stories/Base/Input/BaseInput.stories.js +0 -28
- package/package/src/stories/Base/Input/BaseInput.test.js +0 -46
- package/package/src/stories/Base/Input/BaseInput.vue +0 -45
- package/package/src/stories/Base/Tag/BaseTag.stories.js +0 -29
- package/package/src/stories/Base/Tag/BaseTag.test.js +0 -42
- package/package/src/stories/Base/Tag/BaseTag.vue +0 -57
- package/package/src/stories/Base/Text/BaseText.stories.js +0 -77
- package/package/src/stories/Base/Text/BaseText.test.js +0 -153
- package/package/src/stories/Base/Text/BaseText.vue +0 -163
- package/package/src/stories/Breadcrumb/Admin/Breadcrumb.stories.js +0 -41
- package/package/src/stories/Breadcrumb/Admin/Breadcrumb.vue +0 -31
- package/package/src/stories/Cards/TournamentCard/Detail/TournamentCardDetail.stories.js +0 -33
- package/package/src/stories/Cards/TournamentCard/Detail/TournamentCardDetail.vue +0 -38
- package/package/src/stories/Cards/TournamentCard/Header/TournamentCardHeader.stories.js +0 -48
- package/package/src/stories/Cards/TournamentCard/Header/TournamentCardHeader.vue +0 -40
- package/package/src/stories/Cards/TournamentCard/TournamentCard.stories.js +0 -37
- package/package/src/stories/Cards/TournamentCard/TournamentCard.vue +0 -35
- package/package/src/stories/Configure.mdx +0 -320
- package/package/src/stories/Containers/Grid/GridContainer.stories.js +0 -47
- package/package/src/stories/Containers/Grid/GridContainer.vue +0 -108
- package/package/src/stories/Filters/FilterAndSortBar/FilterAndSortBar.stories.js +0 -36
- package/package/src/stories/Filters/FilterAndSortBar/FilterAndSortBar.vue +0 -48
- package/package/src/stories/Filters/FilterUpcomingPast/FilterUpcomingPast.stories.js +0 -32
- package/package/src/stories/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +0 -46
- package/package/src/stories/Menu/Admin/AdminLeftMenu.stories.js +0 -28
- package/package/src/stories/Menu/Admin/AdminLeftMenu.vue +0 -57
- package/package/src/stories/Menu/DropDown/DropDownMenu.stories.js +0 -34
- package/package/src/stories/Menu/DropDown/DropDownMenu.vue +0 -51
- package/package/tailwind/output.css +0 -1072
- package/package/tailwind/tailwind.css +0 -4
- package/package/tailwind.config.js +0 -25
- package/package/vite.config.js +0 -23
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex flex-col w-full pt-4 pb-3 px-3">
|
|
3
|
-
<BaseText :text="detail.name" color="primary" size="xl" weight="semi-bold" />
|
|
4
|
-
<BaseText :text="detail.location" color="primary" size="sm" weight="normal" />
|
|
5
|
-
<div class="mt-4 flex flex-col">
|
|
6
|
-
<BaseText :text="`${detail.date}`" color="primaryHighlight" size="sm" weight="light" />
|
|
7
|
-
<BaseText :text="`${detail.closes}`" color="primaryHighlight" size="sm" weight="light" />
|
|
8
|
-
</div>
|
|
9
|
-
<div class="flex flex-row w-full justify-end">
|
|
10
|
-
<BaseButton :label="`Edit`" class="mt-2" primary />
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
</template>
|
|
14
|
-
|
|
15
|
-
<script>
|
|
16
|
-
import BaseText from '../../../Atoms/Text/BaseText.vue';
|
|
17
|
-
import BaseButton from '../../../Molecules/Button/BaseButton.vue';
|
|
18
|
-
|
|
19
|
-
export default {
|
|
20
|
-
name: 'tournament-card-details',
|
|
21
|
-
components: {
|
|
22
|
-
BaseButton,
|
|
23
|
-
BaseText
|
|
24
|
-
},
|
|
25
|
-
props: {
|
|
26
|
-
detail: {
|
|
27
|
-
type: Object,
|
|
28
|
-
required: true,
|
|
29
|
-
default: () => ({
|
|
30
|
-
name: '',
|
|
31
|
-
date: '',
|
|
32
|
-
closes: '',
|
|
33
|
-
location: ''
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex flex-col w-full pt-4 pb-3 px-3">
|
|
3
|
+
<BaseText :text="detail.name" color="primary" size="xl" weight="semi-bold" />
|
|
4
|
+
<BaseText :text="detail.location" color="primary" size="sm" weight="normal" />
|
|
5
|
+
<div class="mt-4 flex flex-col">
|
|
6
|
+
<BaseText :text="`${detail.date}`" color="primaryHighlight" size="sm" weight="light" />
|
|
7
|
+
<BaseText :text="`${detail.closes}`" color="primaryHighlight" size="sm" weight="light" />
|
|
8
|
+
</div>
|
|
9
|
+
<div class="flex flex-row w-full justify-end">
|
|
10
|
+
<BaseButton :label="`Edit`" class="mt-2" primary />
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
import BaseText from '../../../Atoms/Text/BaseText.vue';
|
|
17
|
+
import BaseButton from '../../../Molecules/Button/BaseButton.vue';
|
|
18
|
+
|
|
19
|
+
export default {
|
|
20
|
+
name: 'tournament-card-details',
|
|
21
|
+
components: {
|
|
22
|
+
BaseButton,
|
|
23
|
+
BaseText
|
|
24
|
+
},
|
|
25
|
+
props: {
|
|
26
|
+
detail: {
|
|
27
|
+
type: Object,
|
|
28
|
+
required: true,
|
|
29
|
+
default: () => ({
|
|
30
|
+
name: '',
|
|
31
|
+
date: '',
|
|
32
|
+
closes: '',
|
|
33
|
+
location: ''
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
</script>
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import TournamentCardHeader from './TournamentCardHeader.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Molecules/Cards/TournamentCardHeader',
|
|
5
|
-
component: TournamentCardHeader,
|
|
6
|
-
tags: ['autodocs'],
|
|
7
|
-
argTypes: {
|
|
8
|
-
artwork: {
|
|
9
|
-
control: {
|
|
10
|
-
type: 'text',
|
|
11
|
-
defaultValue: 'Default Artwork URL'
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
tags: {
|
|
15
|
-
control: {
|
|
16
|
-
type: 'array',
|
|
17
|
-
defaultValue: ['1 Fencer', '2 Events']
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const Default = {
|
|
24
|
-
args: {
|
|
25
|
-
tags: ['1 Fencer', '2 Events']
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const WithCustomArtwork = {
|
|
30
|
-
args: {
|
|
31
|
-
artwork: 'Custom Artwork URL',
|
|
32
|
-
tags: ['1 Fencer', '2 Events']
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export const WithCustomTags = {
|
|
37
|
-
args: {
|
|
38
|
-
artwork: 'Default Artwork URL',
|
|
39
|
-
tags: ['CustomTag1', 'CustomTag2']
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const NoTags = {
|
|
44
|
-
args: {
|
|
45
|
-
artwork: 'Default Artwork URL',
|
|
46
|
-
tags: []
|
|
47
|
-
}
|
|
48
|
-
};
|
|
1
|
+
import TournamentCardHeader from './TournamentCardHeader.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Molecules/Cards/TournamentCardHeader',
|
|
5
|
+
component: TournamentCardHeader,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
argTypes: {
|
|
8
|
+
artwork: {
|
|
9
|
+
control: {
|
|
10
|
+
type: 'text',
|
|
11
|
+
defaultValue: 'Default Artwork URL'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
tags: {
|
|
15
|
+
control: {
|
|
16
|
+
type: 'array',
|
|
17
|
+
defaultValue: ['1 Fencer', '2 Events']
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const Default = {
|
|
24
|
+
args: {
|
|
25
|
+
tags: ['1 Fencer', '2 Events']
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const WithCustomArtwork = {
|
|
30
|
+
args: {
|
|
31
|
+
artwork: 'Custom Artwork URL',
|
|
32
|
+
tags: ['1 Fencer', '2 Events']
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const WithCustomTags = {
|
|
37
|
+
args: {
|
|
38
|
+
artwork: 'Default Artwork URL',
|
|
39
|
+
tags: ['CustomTag1', 'CustomTag2']
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const NoTags = {
|
|
44
|
+
args: {
|
|
45
|
+
artwork: 'Default Artwork URL',
|
|
46
|
+
tags: []
|
|
47
|
+
}
|
|
48
|
+
};
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="rounded-t-xl w-full">
|
|
3
|
-
<div
|
|
4
|
-
:style="backgroundStyle"
|
|
5
|
-
class="h-36 w-full flex flex-col justify-end rounded-t-xl bg-cover bg-no-repeat bg-center">
|
|
6
|
-
<div class="flex flex-row">
|
|
7
|
-
<BaseTag v-for="tag in tags" :key="tag" :label="tag" />
|
|
8
|
-
</div>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
import BaseTag from '../../../Atoms/Tag/BaseTag.vue';
|
|
15
|
-
import defaultArtwork from '../../../../assets/default-tournament.png';
|
|
16
|
-
|
|
17
|
-
export default {
|
|
18
|
-
name: 'tournament-card-header',
|
|
19
|
-
components: {
|
|
20
|
-
BaseTag
|
|
21
|
-
},
|
|
22
|
-
props: {
|
|
23
|
-
artwork: {
|
|
24
|
-
type: String,
|
|
25
|
-
required: true,
|
|
26
|
-
default: defaultArtwork
|
|
27
|
-
},
|
|
28
|
-
tags: {
|
|
29
|
-
type: Array,
|
|
30
|
-
default: () => []
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
computed: {
|
|
34
|
-
backgroundStyle() {
|
|
35
|
-
const artworkToUse = this.artwork || defaultArtwork;
|
|
36
|
-
return `background-image: url('${artworkToUse}');`;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="rounded-t-xl w-full">
|
|
3
|
+
<div
|
|
4
|
+
:style="backgroundStyle"
|
|
5
|
+
class="h-36 w-full flex flex-col justify-end rounded-t-xl bg-cover bg-no-repeat bg-center">
|
|
6
|
+
<div class="flex flex-row">
|
|
7
|
+
<BaseTag v-for="tag in tags" :key="tag" :label="tag" />
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import BaseTag from '../../../Atoms/Tag/BaseTag.vue';
|
|
15
|
+
import defaultArtwork from '../../../../assets/default-tournament.png';
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
name: 'tournament-card-header',
|
|
19
|
+
components: {
|
|
20
|
+
BaseTag
|
|
21
|
+
},
|
|
22
|
+
props: {
|
|
23
|
+
artwork: {
|
|
24
|
+
type: String,
|
|
25
|
+
required: true,
|
|
26
|
+
default: defaultArtwork
|
|
27
|
+
},
|
|
28
|
+
tags: {
|
|
29
|
+
type: Array,
|
|
30
|
+
default: () => []
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
computed: {
|
|
34
|
+
backgroundStyle() {
|
|
35
|
+
const artworkToUse = this.artwork || defaultArtwork;
|
|
36
|
+
return `background-image: url('${artworkToUse}');`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
</script>
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import FilterAndSortBar from './FilterAndSortBar.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Molecules/Filter/FilterAndSortBar',
|
|
5
|
-
component: FilterAndSortBar,
|
|
6
|
-
tags: ['autodocs'],
|
|
7
|
-
argTypes: {
|
|
8
|
-
label: {
|
|
9
|
-
type: 'text',
|
|
10
|
-
defaultValue: 'Default Text'
|
|
11
|
-
},
|
|
12
|
-
items: { control: 'object' }
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// const Template = args => ({
|
|
17
|
-
// components: { FilterAndSortBar },
|
|
18
|
-
// props: Object.keys(args),
|
|
19
|
-
// methods: {
|
|
20
|
-
// onButtonClick(button) {
|
|
21
|
-
// console.log('Button clicked:', button);
|
|
22
|
-
// }
|
|
23
|
-
// }
|
|
24
|
-
// });
|
|
25
|
-
|
|
26
|
-
export const Default = {
|
|
27
|
-
args: {
|
|
28
|
-
label: 'Sort by',
|
|
29
|
-
items: [
|
|
30
|
-
{text: 'Name', link: '/sort/name'},
|
|
31
|
-
{text: 'Location', link: '/sort/location'},
|
|
32
|
-
{text: 'Date', link: '/sort/date'}
|
|
33
|
-
],
|
|
34
|
-
selectedItem: {text: 'Name', link: '/sort/name'}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
1
|
+
import FilterAndSortBar from './FilterAndSortBar.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Molecules/Filter/FilterAndSortBar',
|
|
5
|
+
component: FilterAndSortBar,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
argTypes: {
|
|
8
|
+
label: {
|
|
9
|
+
type: 'text',
|
|
10
|
+
defaultValue: 'Default Text'
|
|
11
|
+
},
|
|
12
|
+
items: { control: 'object' }
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// const Template = args => ({
|
|
17
|
+
// components: { FilterAndSortBar },
|
|
18
|
+
// props: Object.keys(args),
|
|
19
|
+
// methods: {
|
|
20
|
+
// onButtonClick(button) {
|
|
21
|
+
// console.log('Button clicked:', button);
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
// });
|
|
25
|
+
|
|
26
|
+
export const Default = {
|
|
27
|
+
args: {
|
|
28
|
+
label: 'Sort by',
|
|
29
|
+
items: [
|
|
30
|
+
{text: 'Name', link: '/sort/name'},
|
|
31
|
+
{text: 'Location', link: '/sort/location'},
|
|
32
|
+
{text: 'Date', link: '/sort/date'}
|
|
33
|
+
],
|
|
34
|
+
selectedItem: {text: 'Name', link: '/sort/name'}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section class="flex flex-row w-full justify-between">
|
|
3
|
-
<div class="rounded-lg shadow px-2 py-1 w-full flex flex-row mt-0.5 mr-4">
|
|
4
|
-
<i class="fa-solid fa-magnifying-glass text-primaryHighlight w-6 mt-1" />
|
|
5
|
-
<BaseInput placeholder="Search on Name, Location, or Date" class="text-quaternary" :value="filterText" @update:value="handleFilter" />
|
|
6
|
-
</div>
|
|
7
|
-
<div>
|
|
8
|
-
<DropDownMenu :label="label" :items="items" :selectedItem="localSelectedItem" @update:selectedItem="handleSelectedItem" />
|
|
9
|
-
</div>
|
|
10
|
-
</section>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
import BaseInput from "../../../Atoms/Input/BaseInput.vue";
|
|
15
|
-
import DropDownMenu from "../../../Organisms/DropDown/DropDownMenu.vue";
|
|
16
|
-
|
|
17
|
-
export default {
|
|
18
|
-
name: 'FilterAndSortBar',
|
|
19
|
-
components: {
|
|
20
|
-
DropDownMenu,
|
|
21
|
-
BaseInput
|
|
22
|
-
},
|
|
23
|
-
props: {
|
|
24
|
-
label: {
|
|
25
|
-
type: String,
|
|
26
|
-
},
|
|
27
|
-
items: {
|
|
28
|
-
type: Array,
|
|
29
|
-
default: () => []
|
|
30
|
-
},
|
|
31
|
-
selectedItem: null
|
|
32
|
-
},
|
|
33
|
-
data() {
|
|
34
|
-
return {
|
|
35
|
-
filterText: '',
|
|
36
|
-
localSelectedItem: this.selectedItem
|
|
37
|
-
};
|
|
38
|
-
},
|
|
39
|
-
methods: {
|
|
40
|
-
handleFilter(filterText) {
|
|
41
|
-
this.$emit('filterbar', filterText);
|
|
42
|
-
},
|
|
43
|
-
handleSelectedItem(item) {
|
|
44
|
-
this.$emit('sort', item)
|
|
45
|
-
this.localSelectedItem = item;
|
|
46
|
-
},
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<section class="flex flex-row w-full justify-between">
|
|
3
|
+
<div class="rounded-lg shadow px-2 py-1 w-full flex flex-row mt-0.5 mr-4">
|
|
4
|
+
<i class="fa-solid fa-magnifying-glass text-primaryHighlight w-6 mt-1" />
|
|
5
|
+
<BaseInput placeholder="Search on Name, Location, or Date" class="text-quaternary" :value="filterText" @update:value="handleFilter" />
|
|
6
|
+
</div>
|
|
7
|
+
<div>
|
|
8
|
+
<DropDownMenu :label="label" :items="items" :selectedItem="localSelectedItem" @update:selectedItem="handleSelectedItem" />
|
|
9
|
+
</div>
|
|
10
|
+
</section>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import BaseInput from "../../../Atoms/Input/BaseInput.vue";
|
|
15
|
+
import DropDownMenu from "../../../Organisms/DropDown/DropDownMenu.vue";
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
name: 'FilterAndSortBar',
|
|
19
|
+
components: {
|
|
20
|
+
DropDownMenu,
|
|
21
|
+
BaseInput
|
|
22
|
+
},
|
|
23
|
+
props: {
|
|
24
|
+
label: {
|
|
25
|
+
type: String,
|
|
26
|
+
},
|
|
27
|
+
items: {
|
|
28
|
+
type: Array,
|
|
29
|
+
default: () => []
|
|
30
|
+
},
|
|
31
|
+
selectedItem: null
|
|
32
|
+
},
|
|
33
|
+
data() {
|
|
34
|
+
return {
|
|
35
|
+
filterText: '',
|
|
36
|
+
localSelectedItem: this.selectedItem
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
methods: {
|
|
40
|
+
handleFilter(filterText) {
|
|
41
|
+
this.$emit('filterbar', filterText);
|
|
42
|
+
},
|
|
43
|
+
handleSelectedItem(item) {
|
|
44
|
+
this.$emit('sort', item)
|
|
45
|
+
this.localSelectedItem = item;
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
</script>
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import FilterUpcomingPast from './FilterUpcomingPast.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Molecules/Filter/FilterUpcomingPast',
|
|
5
|
-
component: FilterUpcomingPast,
|
|
6
|
-
tags: ['autodocs'],
|
|
7
|
-
argTypes: {
|
|
8
|
-
},
|
|
9
|
-
methods: {
|
|
10
|
-
handleTimeFrame: {
|
|
11
|
-
action: 'handleTimeFrame',
|
|
12
|
-
description: 'Emitted when a time frame is selected'
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const Default = {
|
|
18
|
-
args: {
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const UpcomingSelected = {
|
|
23
|
-
args: {
|
|
24
|
-
selected: 'Upcoming'
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const PastSelected = {
|
|
29
|
-
args: {
|
|
30
|
-
selected: 'Past'
|
|
31
|
-
}
|
|
32
|
-
};
|
|
1
|
+
import FilterUpcomingPast from './FilterUpcomingPast.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Molecules/Filter/FilterUpcomingPast',
|
|
5
|
+
component: FilterUpcomingPast,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
argTypes: {
|
|
8
|
+
},
|
|
9
|
+
methods: {
|
|
10
|
+
handleTimeFrame: {
|
|
11
|
+
action: 'handleTimeFrame',
|
|
12
|
+
description: 'Emitted when a time frame is selected'
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const Default = {
|
|
18
|
+
args: {
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const UpcomingSelected = {
|
|
23
|
+
args: {
|
|
24
|
+
selected: 'Upcoming'
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const PastSelected = {
|
|
29
|
+
args: {
|
|
30
|
+
selected: 'Past'
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section class="flex flex-row w-full justify-between">
|
|
3
|
-
<div class="rounded-lg w-3/4">
|
|
4
|
-
<BaseText text="Tournament" color="primary" size="2xl" weight="normal" />
|
|
5
|
-
</div>
|
|
6
|
-
<div class="flex flex-row h-8 w-1/4 justify-end">
|
|
7
|
-
<BaseButton label="All" color="primary" size="sm" :selected="localSelected === 'All'" @click="handleTimeFrame('ALL')" />
|
|
8
|
-
<BaseButton label="Upcoming" color="primary" size="sm" :selected="localSelected === 'Upcoming'" @click="handleTimeFrame('Upcoming')" />
|
|
9
|
-
<BaseButton label="Past" color="primary" size="sm" :selected="localSelected === 'Past'" @click="handleTimeFrame('Past')" />
|
|
10
|
-
</div>
|
|
11
|
-
</section>
|
|
12
|
-
</template>
|
|
13
|
-
|
|
14
|
-
<script>
|
|
15
|
-
import BaseInput from "../../../Atoms/Input/BaseInput.vue";
|
|
16
|
-
import DropDownMenu from "../../../Organisms/DropDown/DropDownMenu.vue";
|
|
17
|
-
import BaseButton from "../../../Molecules/Button/BaseButton.vue";
|
|
18
|
-
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
19
|
-
|
|
20
|
-
export default {
|
|
21
|
-
name: 'FilterUpcomingPast',
|
|
22
|
-
components: {
|
|
23
|
-
BaseText,
|
|
24
|
-
BaseButton,
|
|
25
|
-
DropDownMenu,
|
|
26
|
-
BaseInput
|
|
27
|
-
},
|
|
28
|
-
props: {
|
|
29
|
-
selected : {
|
|
30
|
-
type: String,
|
|
31
|
-
default: 'All'
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
data() {
|
|
35
|
-
return {
|
|
36
|
-
localSelected: this.selected
|
|
37
|
-
};
|
|
38
|
-
},
|
|
39
|
-
methods: {
|
|
40
|
-
handleTimeFrame(timeFrame) {
|
|
41
|
-
this.$emit('timeFrame', timeFrame)
|
|
42
|
-
this.localSelected = timeFrame
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<section class="flex flex-row w-full justify-between">
|
|
3
|
+
<div class="rounded-lg w-3/4">
|
|
4
|
+
<BaseText text="Tournament" color="primary" size="2xl" weight="normal" />
|
|
5
|
+
</div>
|
|
6
|
+
<div class="flex flex-row h-8 w-1/4 justify-end">
|
|
7
|
+
<BaseButton label="All" color="primary" size="sm" :selected="localSelected === 'All'" @click="handleTimeFrame('ALL')" />
|
|
8
|
+
<BaseButton label="Upcoming" color="primary" size="sm" :selected="localSelected === 'Upcoming'" @click="handleTimeFrame('Upcoming')" />
|
|
9
|
+
<BaseButton label="Past" color="primary" size="sm" :selected="localSelected === 'Past'" @click="handleTimeFrame('Past')" />
|
|
10
|
+
</div>
|
|
11
|
+
</section>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import BaseInput from "../../../Atoms/Input/BaseInput.vue";
|
|
16
|
+
import DropDownMenu from "../../../Organisms/DropDown/DropDownMenu.vue";
|
|
17
|
+
import BaseButton from "../../../Molecules/Button/BaseButton.vue";
|
|
18
|
+
import BaseText from "../../../Atoms/Text/BaseText.vue";
|
|
19
|
+
|
|
20
|
+
export default {
|
|
21
|
+
name: 'FilterUpcomingPast',
|
|
22
|
+
components: {
|
|
23
|
+
BaseText,
|
|
24
|
+
BaseButton,
|
|
25
|
+
DropDownMenu,
|
|
26
|
+
BaseInput
|
|
27
|
+
},
|
|
28
|
+
props: {
|
|
29
|
+
selected : {
|
|
30
|
+
type: String,
|
|
31
|
+
default: 'All'
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
data() {
|
|
35
|
+
return {
|
|
36
|
+
localSelected: this.selected
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
methods: {
|
|
40
|
+
handleTimeFrame(timeFrame) {
|
|
41
|
+
this.$emit('timeFrame', timeFrame)
|
|
42
|
+
this.localSelected = timeFrame
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
</script>
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import AddressAutocomplete from './AddressAutocomplete.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Organisms/AddressAutocomplete',
|
|
5
|
-
component: AddressAutocomplete,
|
|
6
|
-
tags: ['autodocs'],
|
|
7
|
-
argTypes: {}
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const Template = args => ({
|
|
11
|
-
components: { AddressAutocomplete },
|
|
12
|
-
setup() {
|
|
13
|
-
return {
|
|
14
|
-
args: {
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
},
|
|
18
|
-
methods: {
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
export const Default = {
|
|
23
|
-
args: {
|
|
24
|
-
}
|
|
25
|
-
};
|
|
1
|
+
import AddressAutocomplete from './AddressAutocomplete.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Organisms/AddressAutocomplete',
|
|
5
|
+
component: AddressAutocomplete,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
argTypes: {}
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const Template = args => ({
|
|
11
|
+
components: { AddressAutocomplete },
|
|
12
|
+
setup() {
|
|
13
|
+
return {
|
|
14
|
+
args: {
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
methods: {
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const Default = {
|
|
23
|
+
args: {
|
|
24
|
+
}
|
|
25
|
+
};
|