@dcrackel/hematournamentui 1.0.39 → 1.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/{.eslintrc.js → .eslintrc.ts} +3 -4
  2. package/dist/HemaTouranmentUI-lib.es.js +6852 -6544
  3. package/dist/HemaTouranmentUI-lib.umd.js +27 -27
  4. package/dist/style.css +1 -1
  5. package/package.json +63 -58
  6. package/src/index.js +6 -6
  7. package/src/mocks/locationMock.js +44 -0
  8. package/src/mocks/personsMock.js +46 -0
  9. package/src/mocks/tournamentMock.js +98 -24
  10. package/src/stories/Atoms/Icon/BaseIcon.stories.js +26 -1
  11. package/src/stories/Atoms/Icon/BaseIcon.vue +9 -1
  12. package/src/stories/Atoms/Input/BaseInput.vue +1 -1
  13. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.stories.js +7 -1
  14. package/src/stories/Molecules/Cards/Detail/TournamentCardDetail.vue +26 -8
  15. package/src/stories/Molecules/Cards/Header/TournamentCardHeader.vue +4 -0
  16. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.stories.js +75 -0
  17. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.test.js +81 -0
  18. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.vue +42 -0
  19. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +1 -1
  20. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +1 -1
  21. package/src/stories/Molecules/Menus/EditTournamentMenu/EditTournamentMenu.stories.js +13 -1
  22. package/src/stories/Molecules/Menus/EditTournamentMenu/EditTournamentMenu.vue +6 -4
  23. package/src/stories/Molecules/Modals/BaseModal/BaseModal.stories.js +39 -18
  24. package/src/stories/Molecules/Modals/BaseModal/BaseModal.vue +22 -9
  25. package/src/stories/Organisms/Cards/TournamentCard/TournamentCard.vue +20 -8
  26. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.stories.js +13 -0
  27. package/src/stories/Organisms/{Inputs → ComplexInputs}/AddressAutocomplete/AddressAutocomplete.vue +9 -11
  28. package/src/stories/Organisms/{Inputs → ComplexInputs}/DatePicker/DatePicker.stories.js +1 -1
  29. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.stories.js +20 -0
  30. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.stories.js +30 -0
  31. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.vue +129 -0
  32. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.stories.js +30 -0
  33. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.vue +113 -0
  34. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.stories.js +20 -0
  35. package/src/stories/Organisms/{Inputs → ComplexInputs}/ImageCropper/ImageCropper.vue +4 -6
  36. package/src/stories/Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.stories.js +17 -0
  37. package/src/stories/Organisms/Containers/Container.stories.js +13 -0
  38. package/src/stories/Organisms/Containers/Container.vue +6 -0
  39. package/src/stories/Organisms/Forms/EditTournamentForm1.stories.js +26 -0
  40. package/src/stories/Organisms/Forms/EditTournamentForm1.vue +66 -0
  41. package/src/stories/Organisms/Grids/GridContainer.stories.js +28 -1
  42. package/src/stories/Organisms/Grids/GridContainer.vue +3 -3
  43. package/src/stories/Templates/TournamentManagement/AddTournament/PageOne/AddTournamentPageOne.stories.js +17 -13
  44. package/src/stories/Templates/TournamentManagement/AddTournament/PageOne/AddTournamentPageOne.vue +27 -21
  45. package/tailwind.config.js +2 -1
  46. package/src/stories/Organisms/Inputs/AddressAutocomplete/AddressAutocomplete.stories.js +0 -25
  47. package/src/stories/Organisms/Inputs/DropDown/DropDownMenu.stories.js +0 -34
  48. package/src/stories/Organisms/Inputs/ImageCropper/ImageCropper.stories.js +0 -28
  49. package/src/stories/Organisms/Inputs/TextBoxEditor/TextBoxEditor.stories.js +0 -28
  50. /package/src/stories/Organisms/{Inputs → ComplexInputs}/DatePicker/DatePicker.vue +0 -0
  51. /package/src/stories/Organisms/{Inputs → ComplexInputs}/DropDown/DropDownMenu.vue +0 -0
  52. /package/src/stories/Organisms/{Inputs → ComplexInputs}/TextBoxEditor/TextBoxEditor.vue +0 -0
@@ -0,0 +1,30 @@
1
+ import FindPerson from './FindPerson.vue';
2
+ import mockPersons from '../../../../mocks/personsMock.js';
3
+ export default {
4
+ title: 'Organisms/ComplexInputs/FindPerson',
5
+ component: FindPerson,
6
+ tags: ['autodocs'],
7
+ args: {
8
+ persons: mockPersons,
9
+ addNewText: "Add New Person"
10
+ },
11
+ argTypes: {
12
+ locations: {
13
+ control: {
14
+ type: 'object'
15
+ }
16
+ },
17
+ addNewText: {
18
+ control: {
19
+ type: 'text'
20
+ }
21
+ }
22
+ }
23
+ };
24
+
25
+ export const Default = {
26
+ args: {
27
+ locations: mockPersons,
28
+ addNewText: "Add New Location"
29
+ }
30
+ };
@@ -0,0 +1,113 @@
1
+ <template>
2
+ <section>
3
+ <div v-if="!showNewPerson" class="relative">
4
+ <BaseInput
5
+ :addBorder="addBorder"
6
+ :value="inputValue"
7
+ @input="updateInput"
8
+ placeholder="Type to search person..."
9
+ />
10
+ <div v-if="showDropdown" class="absolute z-10 w-full bg-white border border-gray-300 rounded-md mt-1">
11
+ <ul>
12
+ <li v-for="(person, index) in filteredPersons" :key="index" @click="selectPerson(person)" class="p-2 hover:bg-gray-100 cursor-pointer">
13
+ {{ person.DisplayName }}
14
+ </li>
15
+ </ul>
16
+ <div @click="addNewPerson" class="p-2 hover:bg-gray-100 cursor-pointer">
17
+ <base-button
18
+ type="secondary"
19
+ label="Add New Person"
20
+ iconName="fa-user-plus"
21
+ v-on:click="showNewPerson = true"
22
+ />
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div v-if="showNewPerson" >
27
+ <BaseModal :show="showNewPerson" iconName="fa-user" buttonText="Add Person" @submit-modal="handleSubmit" @update:show="showNewPerson = false">
28
+ <template #modal-content>
29
+ <BaseText class="pb-2" text="Enter Primary Contacts Information" />
30
+ <BaseInput :addBorder="true" :invalid="false" :value="personName" class="pb-2" placeholder="Display Name" type="formInput" @update:value="value => personName = value"/>
31
+ <BaseInput :addBorder="true" :invalid="false" :value="personName" class="pb-2" placeholder="Legal Name" type="formInput" @update:value="value => personName = value"/>
32
+ <BaseInput :addBorder="true" :invalid="false" :value="personEmail" class="pb-2" placeholder="Email" type="formInput" @update:value="value => personEmail = value"/>
33
+ <BaseInput :addBorder="true" :invalid="false" :value="personPronouns" class="pb-2" placeholder="Pronouns" type="formInput" @update:value="value => personPronouns = value"/>
34
+ </template>
35
+ </BaseModal>
36
+ </div>
37
+ </section>
38
+ </template>
39
+
40
+ <script>
41
+ import BaseInput from '../../../Atoms/Input/BaseInput.vue';
42
+ import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
43
+ import BaseText from "../../../Atoms/Text/BaseText.vue";
44
+ import BaseModal from "../../../Molecules/Modals/BaseModal/BaseModal.vue";
45
+
46
+ export default {
47
+ name: 'FindPerson',
48
+ components: {BaseModal, BaseText, BaseButton, BaseInput},
49
+ props: {
50
+ persons: {
51
+ type: Array,
52
+ required: true
53
+ },
54
+ addBorder: {
55
+ type: Boolean,
56
+ default: false
57
+ },
58
+ addNewText: {
59
+ type: String,
60
+ default: 'Add New'
61
+ }
62
+ },
63
+ data() {
64
+ return {
65
+ personEmail: '',
66
+ personName: '',
67
+ personPronouns: '',
68
+ showNewPerson: false,
69
+ filteredPersons: this.persons,
70
+ inputValue: '',
71
+ showDropdown: false,
72
+ debouncedTimeout: null
73
+ };
74
+ },
75
+ watch: {
76
+ inputValue(newValue) {
77
+ this.showDropdown = newValue.length > 0;
78
+ this.showAddNew = newValue.length > 0 && this.filteredPersons.length === 0;
79
+ this.debounceSearch();
80
+ }
81
+ },
82
+ methods: {
83
+ updateInput(event) {
84
+ this.inputValue = event.target.value;
85
+ },
86
+ selectPerson(person) {
87
+ this.showDropdown = false;
88
+ this.inputValue = person.Name;
89
+ this.$emit('person-selected', person);
90
+ this.$nextTick(() => {
91
+ this.showDropdown = false;
92
+ });
93
+ },
94
+ addNewPerson() {
95
+ this.$emit('add-new-person', this.inputValue);
96
+ this.showDropdown = false;
97
+ },
98
+ onInputChanged(value) {
99
+ if (!this.showDropdown) return;
100
+ this.filteredPersons = this.persons.filter(person => person.DisplayName.toLowerCase().includes(value.toLowerCase()));
101
+ },
102
+ debounceSearch() {
103
+ clearTimeout(this.debouncedTimeout);
104
+ this.debouncedTimeout = setTimeout(() => {
105
+ this.onInputChanged(this.inputValue)
106
+ }, 500);
107
+ },
108
+ handleSubmit() {
109
+ console.log('submitting person')
110
+ }
111
+ }
112
+ };
113
+ </script>
@@ -0,0 +1,20 @@
1
+ import GenericImageCropper from './ImageCropper.vue';
2
+
3
+ export default {
4
+ title: 'Organisms/ComplexInputs/ImageCropper',
5
+ component: GenericImageCropper,
6
+ tags: ['autodocs'],
7
+ args: {},
8
+ argTypes: {
9
+ personID: {
10
+ control: 'number',
11
+ description: 'The ID of the person for the image cropper'
12
+ },
13
+ },
14
+ };
15
+
16
+ export const Default = {
17
+ args: {
18
+ personID: 1,
19
+ }
20
+ };
@@ -13,7 +13,7 @@
13
13
  @completed="handleCompleted"
14
14
  @error="handlerError"
15
15
  v-model="showCropper"
16
- :upload-url="`./uploads/${personID}`"
16
+ :upload-url="`http://localhost/api/upload/${personID}`"
17
17
  :cropper-options="{
18
18
  aspectRatio: 8/3,
19
19
  autoCropArea: 1,
@@ -51,26 +51,24 @@ export default {
51
51
  watch: {
52
52
  personID: {
53
53
  immediate: true,
54
- handler(newVal, oldVal) {
54
+ handler(newVal) {
55
55
  this.getImgUrl(newVal)
56
56
  }
57
57
  }
58
58
  },
59
59
  methods: {
60
- getImgUrl(id) {
61
- //this.userPicUrl = `${ferrotasNodeServer}/uploads/${id}.png?${Date.now()}`
60
+ getImgUrl() {
62
61
  this.userPicUrl = '../../../../src/assets/select-tournament.png'
63
62
  },
64
63
  setShowCropper() {
65
64
  this.showCropper = true
66
65
  },
67
66
  handleUploading() {
68
- this.userPicUrl = `./uploads/default.jpeg`
69
67
  this.message = 'uploading...'
70
68
  },
71
69
  handleUploaded(response) {
72
70
  if (response.response.status === 200) {
73
- this.getImgUrl(this.personID)
71
+ this.userPicUrl = `http://localhost/uploads/${this.personID}.png`
74
72
  }
75
73
  },
76
74
  handleCompleted() {
@@ -0,0 +1,17 @@
1
+ import TextBoxEditor from './TextBoxEditor.vue';
2
+
3
+ export default {
4
+ title: 'Organisms/ComplexInputs/TextBoxEditor',
5
+ tags: ['autodocs'],
6
+ component: TextBoxEditor,
7
+ args: {},
8
+ argTypes: {}
9
+ };
10
+
11
+ export const Default = {
12
+ args: {
13
+ }
14
+ };
15
+
16
+
17
+
@@ -0,0 +1,13 @@
1
+ import Container from "./Container.vue";
2
+
3
+ export default {
4
+ title: 'Organisms/Containers/Container',
5
+ component: Container,
6
+ tags: ['autodocs'],
7
+ args: {},
8
+ argTypes: {}
9
+ };
10
+
11
+ export const Default = {
12
+ args: {}
13
+ };
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div class="flex flex-row justify-center">
3
+ </div>
4
+ </template>
5
+
6
+ <script></script>
@@ -0,0 +1,26 @@
1
+ import EditTournamentForm from './EditTournamentForm1.vue';
2
+
3
+ export default {
4
+ title: 'Organisms/Forms/EditTournamentForm',
5
+ component: EditTournamentForm,
6
+ tags: ['autodocs'],
7
+ args: {},
8
+ argTypes: {}
9
+ };
10
+
11
+
12
+ export const Default = {
13
+ args: {
14
+ tournament: {
15
+ name: 'Ultimate',
16
+ imageLink: '',
17
+ address: '123 Winchester St',
18
+ coordinates: '',
19
+ startDate: '',
20
+ totalDays: 1,
21
+ description: '',
22
+ visibility: '',
23
+ externalLinks: []
24
+ },
25
+ }
26
+ };
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <div class="w-full flex flex-col justify-center">
3
+ <div class="mb-3">
4
+ <BaseText :size="'sm'" :text="'Cover Image'" :weight="'normal'" class="mb-1" color="primary"/>
5
+ <ImageCropper>Picture</ImageCropper>
6
+ </div>
7
+ <div class="mb-3">
8
+ <TitledInput :inputValue="localTournament.name" :invalid="validation.name" :placeholder="localTournament.name"
9
+ :title="'Tournament Name'" @update:value="value => localTournament.name = value"/>
10
+ <BaseText :color="'primary'" :invalid="validation.address" :size="'sm'" :text="'Address'"
11
+ :weight="'normal'" class="mb-1 ml-1" data-testid="text-address"/>
12
+ <AddressAutocomplete :address="localTournament.address" :invalid="validation.address"
13
+ :placeholder="localTournament.address"
14
+ @update:address="handleAddressUpdate"/>
15
+ </div>
16
+ <div class="mt-3"/>
17
+ <BaseText :color="'quaternary'" :size="'sm'" :text="'SOCIAL MEDIA AND CONTACT'" :weight="'normal'"
18
+ class="mb-2 border-b border-quaternary"/>
19
+ <!-- This titled input needs to be worked like the external links of add tournament page two
20
+ <TitledInput :inputValue="localTournament.SocialMedia" :invalid="validation.name"-->
21
+ <!-- :title="'Instagram'" @update:value="value => localTournament.SocialMedia = value"/>-->
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ import ImageCropper from "../ComplexInputs/ImageCropper/ImageCropper.vue";
27
+ import BaseInput from "../../Atoms/Input/BaseInput.vue";
28
+ import BaseText from "../../Atoms/Text/BaseText.vue";
29
+ import AddressAutocomplete from "../ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue";
30
+ import BaseButton from "../../Molecules/Buttons/BaseButton/BaseButton.vue";
31
+ import TitledInput from "../../Molecules/CombinationInputs/TitledInput/TitledInput.vue";
32
+
33
+ export default {
34
+ components: {
35
+ TitledInput,
36
+ AddressAutocomplete,
37
+ ImageCropper,
38
+ BaseInput,
39
+ BaseText,
40
+ BaseButton
41
+ },
42
+ props: {tournament: Object},
43
+ data() {
44
+ return {
45
+ localTournament: JSON.parse(JSON.stringify(this.tournament)),
46
+ validation: {
47
+ name: false,
48
+ imageLink: false,
49
+ address: false,
50
+ coordinates: false,
51
+ startDate: false,
52
+ totalDays: false,
53
+ description: false,
54
+ visibility: false
55
+ },
56
+ }
57
+ },
58
+ methods: {
59
+ handleAddressUpdate(updatedAddress) {
60
+ this.localTournament.address = updatedAddress.address;
61
+ this.localTournament.coordinates = updatedAddress.coordinates;
62
+ },
63
+ }
64
+ }
65
+
66
+ </script>
@@ -4,7 +4,34 @@ export default {
4
4
  title: 'Organisms/Grids/GridContainer',
5
5
  component: GridContainer,
6
6
  tags: ['autodocs'],
7
- argTypes: {}
7
+ args: {},
8
+ argTypes: {
9
+ items: {
10
+ control: {
11
+ type: 'object'
12
+ }
13
+ },
14
+ component: {
15
+ control: {
16
+ type: 'text'
17
+ }
18
+ },
19
+ label: {
20
+ control: {
21
+ type: 'text'
22
+ }
23
+ },
24
+ dropdownItems: {
25
+ control: {
26
+ type: 'object'
27
+ }
28
+ },
29
+ selectedItem: {
30
+ control: {
31
+ type: 'object'
32
+ }
33
+ }
34
+ }
8
35
  };
9
36
  export const Default = {
10
37
  args: {
@@ -81,13 +81,13 @@ export default {
81
81
 
82
82
  switch(this.sortCriteria) {
83
83
  case 'Date':
84
- result = [...result].sort((a, b) => new Date(a.date) - new Date(b.date));
84
+ result = [...result].sort((a, b) => new Date(a.StartDate) - new Date(b.StartDate));
85
85
  break;
86
86
  case 'Name':
87
- result = [...result].sort((a, b) => a.name.localeCompare(b.name));
87
+ result = [...result].sort((a, b) => a.Name.localeCompare(b.Name));
88
88
  break;
89
89
  case 'Location':
90
- result = [...result].sort((a, b) => a.location.localeCompare(b.location));
90
+ result = [...result].sort((a, b) => a.Address[0].Name.localeCompare(b.Address[0].Name));
91
91
  break;
92
92
  }
93
93
  return result;
@@ -1,22 +1,26 @@
1
1
  import AddTournamentPageOne from './AddTournamentPageOne.vue';
2
-
2
+ import mockLocation from '../../../../../mocks/locationMock.js';
3
+ import mockPersons from '../../../../../mocks/personsMock.js';
3
4
  export default {
4
5
  title: 'Templates/TournamentManagement/AddTournament/PageOne',
5
6
  component: AddTournamentPageOne,
6
7
  tags: ['autodocs'],
7
- argTypes: {}
8
- };
9
-
10
- const Template = args => ({
11
- components: {AddTournamentPageOne},
12
- setup() {
13
- return {
14
- args: {}
15
- };
8
+ args: {
9
+ locations: mockLocation,
10
+ persons: mockPersons
16
11
  },
17
- methods: {}
18
- });
12
+ argTypes: {
13
+ locations: {
14
+ control: {
15
+ type: 'object'
16
+ }
17
+ }
18
+ }
19
+ };
19
20
 
20
21
  export const Default = {
21
- args: {}
22
+ args: {
23
+ locations: mockLocation,
24
+ addNewText: "Add New Location"
25
+ }
22
26
  };
@@ -4,7 +4,7 @@
4
4
  <BaseText :color="'quaternary'" :size="'sm'" :text="'Step 1 out of 2'" :weight="'normal'"
5
5
  data-testid="text-step"/>
6
6
  </div>
7
- <div class="w-full flex flex-row justify-center my-4">
7
+ <div class="w-full my-4">
8
8
  <BaseText :color="'primaryHighlight'" :size="'2xl'" :text="'Add Tournament'" :weight="'normal'"
9
9
  data-testid="text-add-tournament"/>
10
10
  </div>
@@ -12,19 +12,13 @@
12
12
  <ImageCropper :personID="1"/>
13
13
  </div>
14
14
 
15
- <div class="w-full flex flex-row justify-center">
15
+ <div class="w-fu--*ll flex flex-row justify-center">
16
16
  <section class="w-96">
17
+ <TitledInput :invalid="validation.name" title="Tournament Name" :inputValue="tournament.name" placeholder="Enter Tournament Name" @update:value="value => tournament.name = value"></TitledInput>
17
18
  <div class="flex flex-col mb-3">
18
- <BaseText :invalid="validation.name" :size="'sm'" :text="'Tournament Name'" :weight="'normal'"
19
- class="mb-1" color="primary" data-testid="text-tournament-name"/>
20
- <BaseInput :addBorder="true" :invalid="validation.name" :value="tournament.name" placeholder="Enter Tournament Name"
21
- type="formInput" @update:value="value => tournament.name = value"/>
22
- </div>
23
- <div class="flex flex-col mb-3">
24
- <BaseText :color="'primaryHighlight'" :invalid="validation.address" :size="'sm'" :text="'Address'"
19
+ <BaseText :color="'primaryHighlight'" :invalid="validation.address" :size="'sm'" :text="'Location'"
25
20
  :weight="'normal'" class="mb-1" data-testid="text-address"/>
26
- <AddressAutocomplete :address="tournament.address" :invalid="validation.address"
27
- @update:address="handleAddressUpdate"/>
21
+ <FindLocation :addBorder="true" :locations="locations" addNewText="Add New" />
28
22
  </div>
29
23
  <div class="flex flex-row mb-3">
30
24
  <div class="w-3/4 mr-1">
@@ -33,10 +27,8 @@
33
27
  <DatePicker :invalid="validation.startDate" :setDate="tournament.startDate"
34
28
  @update:selectedDate="handleDateUpdate"/>
35
29
  </div>
36
- <div class="w-1/4 ml-1">
37
- <BaseText :color="'primaryHighlight'" :invalid="validation.totalDays" :size="'sm'" :text="'Total Days'"
38
- :weight="'normal'" class="mb-1" data-testid="text-total-days"/>
39
- <BaseInput :addBorder="true" :invalid="validation.totalDays" :placeholder="`${1}`" :value="`${tournament.totalDays}`"/>
30
+ <div>
31
+ <TitledInput :invalid="validation.totalDays" title="Number of Days" :inputValue="tournament.totalDays" placeholder="1" @update:value="value => tournament.totalDays = value"></TitledInput>
40
32
  </div>
41
33
  </div>
42
34
  <div class="flex flex-col mb-3">
@@ -44,6 +36,11 @@
44
36
  :weight="'normal'" class="mb-1" data-testid="text-description"/>
45
37
  <TextBoxEditor :invalid="validation.description" @update:editorContent="handleEditorUpdate"/>
46
38
  </div>
39
+ <div class="flex flex-col pb-4">
40
+ <BaseText :color="'primaryHighlight'" :invalid="false" :size="'sm'" :text="'Primary Contact'"
41
+ :weight="'normal'" class="mb-1" data-testid="text-address"/>
42
+ <FindPerson :addBorder="true" :persons="persons" addNewText="Add New Person" />
43
+ </div>
47
44
  <div class="flex flex-col pb-4">
48
45
  <BaseText :color="'primaryHighlight'" :invalid="validation.visibility" :size="'sm'"
49
46
  :text="'Tournament Visibility'" :weight="'normal'" class="mb-2" data-testid="text-visibility"/>
@@ -52,7 +49,7 @@
52
49
  </div>
53
50
  <div>
54
51
  <BaseButton class="w-full" color="neutral" label="Continue" size="sm" type="secondary"
55
- @click="handleSubmit()"/>
52
+ @click="handleSubmit()"/>
56
53
  </div>
57
54
  </section>
58
55
  </div>
@@ -61,17 +58,23 @@
61
58
 
62
59
  <script>
63
60
  import BaseText from "../../../../Atoms/Text/BaseText.vue";
64
- import ImageCropper from "../../../../Organisms/Inputs/ImageCropper/ImageCropper.vue";
61
+ import ImageCropper from "../../../../Organisms/ComplexInputs/ImageCropper/ImageCropper.vue";
65
62
  import BaseInput from "../../../../Atoms/Input/BaseInput.vue";
66
- import AddressAutocomplete from "../../../../Organisms/Inputs/AddressAutocomplete/AddressAutocomplete.vue";
67
- import DatePicker from "../../../../Organisms/Inputs/DatePicker/DatePicker.vue";
68
- import TextBoxEditor from "../../../../Organisms/Inputs/TextBoxEditor/TextBoxEditor.vue";
63
+ import AddressAutocomplete from "../../../../Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue";
64
+ import DatePicker from "../../../../Organisms/ComplexInputs/DatePicker/DatePicker.vue";
65
+ import TextBoxEditor from "../../../../Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.vue";
69
66
  import BaseRadioGroup from "../../../../Atoms/RadioGroup/BaseRadioGroup.vue";
70
67
  import BaseButton from "../../../../Molecules/Buttons/BaseButton/BaseButton.vue";
68
+ import FindLocation from "../../../../Organisms/ComplexInputs/FindLocation/FindLocation.vue";
69
+ import FindPerson from "../../../../Organisms/ComplexInputs/FindPerson/FindPerson.vue";
70
+ import TitledInput from "../../../../Molecules/CombinationInputs/TitledInput/TitledInput.vue";
71
71
 
72
72
  export default {
73
73
  name: 'AddTournamentPageOne',
74
74
  components: {
75
+ TitledInput,
76
+ FindPerson,
77
+ FindLocation,
75
78
  BaseText,
76
79
  BaseInput,
77
80
  ImageCropper,
@@ -81,7 +84,10 @@ export default {
81
84
  BaseRadioGroup,
82
85
  BaseButton
83
86
  },
84
- props: {},
87
+ props: {
88
+ locations: [],
89
+ persons: []
90
+ },
85
91
  data() {
86
92
  return {
87
93
  tournament: {
@@ -6,7 +6,8 @@ export default {
6
6
  ],
7
7
  safelist: [
8
8
  'text-accepted',
9
- 'bg-acceptedHighlight'
9
+ 'bg-acceptedHighlight',
10
+ 'hover:text-alarm'
10
11
  ],
11
12
  theme: {
12
13
  extend: {
@@ -1,25 +0,0 @@
1
- import AddressAutocomplete from './AddressAutocomplete.vue';
2
-
3
- export default {
4
- title: 'Organisms/Inputs/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,34 +0,0 @@
1
- import DropDownMenu from './DropDownMenu.vue';
2
- export default {
3
- title: 'Organisms/Inputs/DropDownMenu',
4
- component: DropDownMenu,
5
- tags: ['autodocs']
6
- };
7
- const Template = args => ({
8
- components: { DropDownMenu },
9
- setup() {
10
- return {
11
- args: {
12
- label: 'default',
13
- items: []
14
- }
15
- };
16
- },
17
- methods: {
18
- onMenuClick(index) {
19
- alert(`Button ${index + 1} clicked!`);
20
- }
21
- }
22
- });
23
-
24
- export const Default = {
25
- args: {
26
- label: 'Sort By',
27
- items: [
28
- {text: 'Text1', link: '/link1'},
29
- {text: 'Text2', link: '/link2'},
30
- {text: 'Text3', link: '/link3'}
31
- ],
32
- selectedItem: {text: 'Text1', link: '/link1'}
33
- }
34
- };
@@ -1,28 +0,0 @@
1
- import AvatarUploader from './ImageCropper.vue';
2
-
3
- export default {
4
- title: 'Organisms/Inputs/ImageCropper',
5
- tags: ['autodocs'],
6
- component: AvatarUploader,
7
- argTypes: {}
8
- };
9
-
10
- const Template = args => ({
11
- components: { AddTournamentPageOne },
12
- setup() {
13
- return {
14
- args: {
15
- }
16
- };
17
- },
18
- methods: {
19
- }
20
- });
21
-
22
- export const Default = {
23
- args: {
24
- }
25
- };
26
-
27
-
28
-
@@ -1,28 +0,0 @@
1
- import TextBoxEditor from './TextBoxEditor.vue';
2
-
3
- export default {
4
- title: 'Organisms/Inputs/TextBoxEditor',
5
- tags: ['autodocs'],
6
- component: TextBoxEditor,
7
- argTypes: {}
8
- };
9
-
10
- const Template = args => ({
11
- components: { TextBoxEditor },
12
- setup() {
13
- return {
14
- args: {
15
- }
16
- };
17
- },
18
- methods: {
19
- }
20
- });
21
-
22
- export const Default = {
23
- args: {
24
- }
25
- };
26
-
27
-
28
-