@magicgol/polyjuice 0.22.2 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicgol/polyjuice",
3
- "version": "0.22.2",
3
+ "version": "0.24.0",
4
4
  "scripts": {
5
5
  "serve": "vue-cli-service serve",
6
6
  "build": "vue-cli-service build",
@@ -11,10 +11,10 @@ $palette: (
11
11
  'success': #349B50,
12
12
  'info': #004781,
13
13
  // FOOTBALLERS
14
- 'goalkeeper': #ffc700,
15
- 'defender': #3de000,
16
- 'midfielder': #116dd8,
17
- 'forward': #f30026,
14
+ 'goalkeeper': #fcd777,
15
+ 'defender': #89f4a1,
16
+ 'midfielder': #8fc6f9,
17
+ 'forward': #f58383,
18
18
  // LIVE
19
19
  'online': #00b669,
20
20
  'offline': #ea7203,
@@ -20,7 +20,7 @@ export default {
20
20
  },
21
21
  theme: {
22
22
  control: { type: 'select' },
23
- options: [null, 'club', 'rating', 'goalkeeper', 'defender', 'midfielder', 'forward'],
23
+ options: [null, 'club', 'rating', 'goalkeeper', 'defender', 'midfielder', 'forward', 'transparent'],
24
24
  defaultValue: null
25
25
  },
26
26
  footer: {
@@ -108,3 +108,11 @@ Forward.args = {
108
108
  default: '<div>This is a vertical card.</div><div>What do you think about?</div>',
109
109
  footer: '<div>The footer content goes here</div>'
110
110
  };
111
+
112
+ export const Transparent = Template.bind({});
113
+ // More on args: https://storybook.js.org/docs/vue/writing-stories/args
114
+ Transparent.args = {
115
+ theme: 'transparent',
116
+ default: '<div>This is a vertical card.</div><div>What do you think about?</div>',
117
+ footer: '<div>The footer content goes here</div>'
118
+ };
@@ -25,7 +25,7 @@ export default {
25
25
  type: String,
26
26
  default: null,
27
27
  validator: function (value) {
28
- return ['club', 'rating', 'goalkeeper', 'defender', 'midfielder', 'forward'].indexOf(value) !== -1;
28
+ return ['club', 'rating', 'goalkeeper', 'defender', 'midfielder', 'forward', 'transparent'].indexOf(value) !== -1;
29
29
  },
30
30
  }
31
31
  },
@@ -40,6 +40,7 @@ export default {
40
40
  'mg-v-card--theme-defender': this.theme === 'defender',
41
41
  'mg-v-card--theme-midfielder': this.theme === 'midfielder',
42
42
  'mg-v-card--theme-forward': this.theme === 'forward',
43
+ 'mg-v-card--theme-transparent': this.theme === 'transparent',
43
44
  };
44
45
  },
45
46
  footerVisibility() {
@@ -88,6 +89,11 @@ export default {
88
89
  &-forward {
89
90
  background-color: map-get($palette, 'forward');
90
91
  }
92
+
93
+ &-transparent {
94
+ background: rgba(255, 255, 255, 0.95) !important;
95
+ box-shadow: none;
96
+ }
91
97
  }
92
98
 
93
99
  &-footer {
@@ -11,6 +11,23 @@ export default {
11
11
  options: [null, 'P', 'D', 'C', 'A'],
12
12
  defaultValue: 'A'
13
13
  },
14
+ size: {
15
+ control: { type: 'select' },
16
+ options: ['normal', 'large'],
17
+ defaultValue: 'normal'
18
+ },
19
+ default: {
20
+ description: "The default Vue slot",
21
+ control: {
22
+ type: 'text',
23
+ },
24
+ table: {
25
+ category: 'Slots',
26
+ type: {
27
+ summary: 'html',
28
+ },
29
+ }
30
+ },
14
31
  },
15
32
  };
16
33
 
@@ -18,7 +35,7 @@ export default {
18
35
  const Template = (args, { argTypes }) => ({
19
36
  props: Object.keys(argTypes),
20
37
  components: { MgHFootballer },
21
- template: `<mg-h-footballer @click="$emit('click')" v-bind="$props"></mg-h-footballer>`,
38
+ template: `<mg-h-footballer @click="$emit('click')" v-bind="$props"><template v-if="${'default' in args}" v-slot>${args.default}</template></mg-h-footballer>`,
22
39
  });
23
40
 
24
41
  export const Default = Template.bind({});
@@ -34,3 +51,22 @@ export const Empty = Template.bind({});
34
51
  Empty.args = {
35
52
  role: null
36
53
  };
54
+
55
+ export const Disabled = Template.bind({});
56
+ // More on args: https://storybook.js.org/docs/vue/writing-stories/args
57
+ Disabled.args = {
58
+ disabled: true,
59
+ role: 'A',
60
+ firstname: 'Paulo',
61
+ lastname: 'Dybala',
62
+ };
63
+
64
+ export const Large = Template.bind({});
65
+ // More on args: https://storybook.js.org/docs/vue/writing-stories/args
66
+ Large.args = {
67
+ size: 'large',
68
+ role: 'A',
69
+ firstname: 'Paulo',
70
+ lastname: 'Dybala',
71
+ };
72
+
@@ -8,22 +8,28 @@
8
8
  class="flex-fill text-truncate"
9
9
  v-bind:class="{'text-right': inverted, 'order-1': !inverted}"
10
10
  >
11
- <!-- LAST NAME ONLY -->
12
- <span
13
- v-if="hasOnlyLastname"
14
- class="mg-h-footballer-strong"
15
- >{{ lastname }}</span>
16
- <!-- end of LAST NAME ONLY -->
17
- <!-- FULL NAME -->
18
- <span v-else-if="hasName">
11
+ <div class="text-truncate">
12
+ <!-- LAST NAME ONLY -->
13
+ <span
14
+ v-if="hasOnlyLastname"
15
+ class="mg-h-footballer-strong"
16
+ >{{ lastname }}</span>
17
+ <!-- end of LAST NAME ONLY -->
18
+ <!-- FULL NAME -->
19
+ <span v-else-if="hasName">
19
20
  <span class="mg-h-footballer-strong">{{ lastname }}</span>, <span>{{ firstname }}</span>
20
21
  </span>
21
- <span v-else>&ndash;</span>
22
+ <span v-else>&ndash;</span>
23
+ </div>
24
+ <div class="mg-h-footballer-subtext"><slot></slot></div>
22
25
  </div>
23
26
  <!-- end of FOOTBALLER NAME -->
24
27
  <!-- ROLE BADGE -->
25
28
  <div v-bind:class="{'pl-2': inverted, 'pr-2': !inverted}">
26
- <mg-role-badge :role="role"></mg-role-badge>
29
+ <mg-role-badge
30
+ :role="role"
31
+ :size="size"
32
+ ></mg-role-badge>
27
33
  </div>
28
34
  <!-- end of ROLE BADGE -->
29
35
  </div>
@@ -40,6 +46,10 @@ export default {
40
46
  type: Boolean,
41
47
  default: false,
42
48
  },
49
+ disabled: {
50
+ type: Boolean,
51
+ default: false,
52
+ },
43
53
  role: {
44
54
  type: String,
45
55
  default: null,
@@ -55,12 +65,22 @@ export default {
55
65
  type: String,
56
66
  default: null
57
67
  },
68
+ size: {
69
+ type: String,
70
+ default: 'normal',
71
+ validator: function (value) {
72
+ return ['normal', 'large'].indexOf(value) !== -1;
73
+ },
74
+ },
58
75
  },
59
76
 
60
77
  computed: {
61
78
  classes() {
62
79
  return {
63
80
  'mg-h-footballer': true,
81
+ 'mg-h-footballer--disabled': this.disabled,
82
+ 'mg-h-footballer--size-normal': this.size === 'normal',
83
+ 'mg-h-footballer--size-large': this.size === 'large',
64
84
  };
65
85
  },
66
86
  hasOnlyLastname() {
@@ -84,15 +104,33 @@ export default {
84
104
  </script>
85
105
 
86
106
  <style lang="scss">
87
- @import '../../../assets/palette';
107
+ @import '../../../assets/palette';
88
108
 
89
- .mg-h-footballer {
90
- color: #343434;
91
- font-family: 'Ubuntu', sans-serif;
92
- font-size: 0.75rem;
109
+ .mg-h-footballer {
110
+ color: map-get($palette, 'text');
111
+ font-family: 'Ubuntu', sans-serif;
93
112
 
94
- &-strong {
95
- font-weight: 500;
113
+ &-strong {
114
+ font-weight: 500;
115
+ }
116
+
117
+ &-subtext {
118
+ font-size: 0.875rem;
119
+ }
120
+
121
+ &--disabled {
122
+ opacity: 0.6;
123
+ cursor: not-allowed !important;
124
+ }
125
+
126
+ &--size {
127
+ &-normal {
128
+ font-size: 0.75rem;
129
+ }
130
+
131
+ &-large {
132
+ font-size: 1rem;
133
+ }
134
+ }
96
135
  }
97
- }
98
136
  </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- class="d-inline-flex text-center text-white rounded-circle justify-content-center align-items-center"
3
+ class="d-inline-flex text-center rounded-circle justify-content-center align-items-center"
4
4
  :class="classes"
5
5
  >
6
6
  <slot v-if="slotVisibility"></slot>
@@ -57,8 +57,9 @@ export default {
57
57
 
58
58
  .mg-role-badge {
59
59
  background-color: #c2c2c2;
60
+ color: map-get($palette, 'text');
60
61
  font-family: 'Ubuntu', sans-serif;
61
- font-weight: 600;
62
+ font-weight: 500;
62
63
 
63
64
  &--normal {
64
65
  font-size: 0.75rem;
@@ -69,9 +70,9 @@ export default {
69
70
 
70
71
  &--large {
71
72
  font-size: 1rem;
72
- height: 1.5rem;
73
- width: 1.5rem;
74
- min-width: 1.5rem;
73
+ height: 1.875rem;
74
+ width: 1.875rem;
75
+ min-width: 1.875rem;
75
76
  }
76
77
 
77
78
  &--huge {
@@ -0,0 +1,24 @@
1
+ import MgLabelBadge from './LabelBadge.vue';
2
+
3
+ // More on default export: https://storybook.js.org/docs/vue/writing-stories/introduction#default-export
4
+ export default {
5
+ title: 'Label/Badge',
6
+ component: MgLabelBadge,
7
+ // More on argTypes: https://storybook.js.org/docs/vue/api/argtypes
8
+ argTypes: {},
9
+ };
10
+
11
+ // More on component templates: https://storybook.js.org/docs/vue/writing-stories/introduction#using-args
12
+ const Template = (args, { argTypes }) => ({
13
+ props: Object.keys(argTypes),
14
+ components: { MgLabelBadge },
15
+ template: `<mg-label-badge v-bind="$props"><template v-if="${'default' in args}" v-slot>${args.default}</template></mg-label-badge>`,
16
+ });
17
+
18
+ export const Default = Template.bind({});
19
+ // More on args: https://storybook.js.org/docs/vue/writing-stories/args
20
+ Default.args = {
21
+ default: '99'
22
+ };
23
+
24
+
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <div
3
+ class="d-inline-flex rounded-circle align-items-center justify-content-center text-white"
4
+ :class="classes"
5
+ @click="onClick"
6
+ ><slot></slot></div>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'mg-label-badge',
12
+
13
+ props: {
14
+ },
15
+
16
+ computed: {
17
+ classes() {
18
+ return {
19
+ 'mg-label-badge': true,
20
+ };
21
+ },
22
+ },
23
+ };
24
+ </script>
25
+
26
+ <style lang="scss">
27
+ @import '../../../assets/palette';
28
+
29
+ .mg-label-badge {
30
+ background-color: #84485E;
31
+ font-family: 'Ubuntu', sans-serif;
32
+ font-weight: 500;
33
+ height: 2rem;
34
+ width: 2rem;
35
+ }
36
+ </style>
@@ -45,6 +45,8 @@ export default {
45
45
  </script>
46
46
 
47
47
  <style lang="scss">
48
+ @import '../../../assets/palette';
49
+
48
50
  .mg-label {
49
51
  border-radius: 32px;
50
52
  padding-top: 0.0625rem;
@@ -68,7 +70,7 @@ export default {
68
70
  &--theme {
69
71
  &-light {
70
72
  background: #f7f7f7;
71
- color: #343434;
73
+ color: map-get($palette, 'text');
72
74
  }
73
75
 
74
76
  &-dark {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- class="text-uppercase pb-2 px-3"
3
+ class="text-uppercase pb-2 px-2"
4
4
  :class="classes"
5
5
  ><slot></slot></div>
6
6
  </template>
@@ -17,8 +17,10 @@ export default {
17
17
  </script>
18
18
 
19
19
  <style lang="scss">
20
+ @import '../../../assets/palette';
21
+
20
22
  .mg-h1 {
21
- color: #343434;
23
+ color: map-get($palette, 'text');
22
24
  font-family: 'Ubuntu', sans-serif;
23
25
  font-size: 1.25rem;
24
26
  font-weight: 500;
@@ -17,8 +17,10 @@ export default {
17
17
  </script>
18
18
 
19
19
  <style lang="scss">
20
+ @import '../../../assets/palette';
21
+
20
22
  .mg-h2 {
21
- color: #343434;
23
+ color: map-get($palette, 'text');
22
24
  font-family: 'Ubuntu', sans-serif;
23
25
  font-size: 1.125rem;
24
26
  font-weight: 500;
@@ -17,8 +17,10 @@ export default {
17
17
  </script>
18
18
 
19
19
  <style lang="scss">
20
+ @import '../../../assets/palette';
21
+
20
22
  .mg-h3 {
21
- color: #343434;
23
+ color: map-get($palette, 'text');
22
24
  font-family: 'Ubuntu', sans-serif;
23
25
  font-size: 1rem;
24
26
  font-weight: 500;
@@ -17,8 +17,10 @@ export default {
17
17
  </script>
18
18
 
19
19
  <style lang="scss">
20
+ @import '../../../assets/palette';
21
+
20
22
  .mg-h4 {
21
- color: #343434;
23
+ color: map-get($palette, 'text');
22
24
  font-family: 'Ubuntu', sans-serif;
23
25
  font-size: 1rem;
24
26
  font-weight: 400;
@@ -31,7 +31,7 @@ export default {
31
31
  @import '../../../assets/palette';
32
32
 
33
33
  .mg-h5 {
34
- color: #343434;
34
+ color: map-get($palette, 'text');
35
35
  font-family: 'Ubuntu', sans-serif;
36
36
  font-size: 0.875rem;
37
37
  font-weight: 700;
@@ -13,7 +13,7 @@ import {ColorItem, ColorPalette, Meta} from '@storybook/addon-docs';
13
13
  />
14
14
  <ColorItem
15
15
  title="Coin"
16
- colors={{'Goldenrod': '#ffcf73'}}
16
+ colors={{'Golden Rod': '#ffcf73'}}
17
17
  />
18
18
  <ColorItem
19
19
  title="Expert Club Color"
@@ -5,18 +5,18 @@ import {ColorItem, ColorPalette, Meta} from '@storybook/addon-docs';
5
5
  <ColorPalette>
6
6
  <ColorItem
7
7
  title="Goalkeeper"
8
- colors={{'Supernova': '#ffc700'}}
8
+ colors={{'Golden Rod': '#fcd777'}}
9
9
  />
10
10
  <ColorItem
11
11
  title="Defender"
12
- colors={{'Harlequin': '#3de000'}}
12
+ colors={{'Mint Green': '#89f4a1'}}
13
13
  />
14
14
  <ColorItem
15
15
  title="Midfielder"
16
- colors={{'Denim': '#116dd8'}}
16
+ colors={{'Malibu': '#8fc6f9'}}
17
17
  />
18
18
  <ColorItem
19
19
  title="Forward"
20
- colors={{'Torch Red': '#f30026'}}
20
+ colors={{'Froly': '#f58383'}}
21
21
  />
22
22
  </ColorPalette>