wave-ui 1.51.1 → 1.52.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": "wave-ui",
3
- "version": "1.51.1",
3
+ "version": "1.52.0",
4
4
  "description": "An emerging UI framework for Vue.js (2 & 3) with only the bright side. :sunny:",
5
5
  "author": "Antoni Andre <antoniandre.web@gmail.com>",
6
6
  "main": "./dist/wave-ui.umd.js",
@@ -126,14 +126,6 @@ export default {
126
126
  [item[this.itemColorKey]]: item[this.itemColorKey]
127
127
  }
128
128
  }
129
- },
130
-
131
- watch: {
132
- value (array) {
133
- this.accordionItems.forEach((item, i) => {
134
- this.$set(item, 'expanded', (Array.isArray(array) && array[i]) || false)
135
- })
136
- }
137
129
  }
138
130
  }
139
131
  </script>
@@ -1,5 +1,5 @@
1
1
  <template lang="pug">
2
- .w-card(:class="classes" :style="styles")
2
+ .w-card(:class="classes")
3
3
  .w-card__title(
4
4
  v-if="$slots.title"
5
5
  :class="{ 'w-card__title--has-toolbar': titleHasToolbar, ...titleClasses }")
@@ -71,10 +71,6 @@ export default {
71
71
  'w-card--tile': this.tile,
72
72
  'w-card--shadow': this.shadow
73
73
  }
74
- },
75
-
76
- styles () {
77
- return false
78
74
  }
79
75
  }
80
76
  }
@@ -107,6 +103,17 @@ export default {
107
103
  &__content {
108
104
  padding: 3 * $base-increment;
109
105
  flex-grow: 1;
106
+
107
+ // Only if there is no title bar.
108
+ &:first-child {
109
+ border-top-left-radius: inherit;
110
+ border-top-right-radius: inherit;
111
+ }
112
+ &:last-child {
113
+ // Only if there is no actions bar.
114
+ border-bottom-left-radius: inherit;
115
+ border-bottom-right-radius: inherit;
116
+ }
110
117
  }
111
118
 
112
119
  &__actions {
@@ -18,7 +18,7 @@ export default {
18
18
  classes () {
19
19
  return {
20
20
  [`w-divider--has-color ${this.color}`]: this.color,
21
- 'w-divider--vertical': this.vertical,
21
+ [`w-divider--${this.vertical ? 'vertical' : 'horizontal'}`]: true,
22
22
  'w-divider--has-content': this.$slots.default
23
23
  }
24
24
  }
@@ -34,10 +34,14 @@ export default {
34
34
  &--has-color {border-color: currentColor;}
35
35
 
36
36
  &--vertical {
37
+ align-self: stretch; // Fill up the available height.
37
38
  display: flex;
38
39
  border-top-width: 0;
39
40
  border-left-width: 1px;
40
- align-self: stretch;
41
+ }
42
+
43
+ .w-toolbar--vertical > &--horizontal {
44
+ align-self: stretch; // Fill up the available width.
41
45
  }
42
46
 
43
47
  // With a slot.
@@ -1,7 +1,7 @@
1
1
  <template lang="pug">
2
2
  ul.w-timeline
3
3
  li.w-timeline-item(v-for="(item, i) in items" :key="i")
4
- .w-timeline-item__bullet(
4
+ component.w-timeline-item__bullet(
5
5
  :is="item[itemIconKey] || icon ? 'w-icon' : 'div'"
6
6
  :class="{ [item[itemColorKey] || color]: item[itemColorKey] || color }")
7
7
  | {{ item[itemIconKey] || icon }}
@@ -13,6 +13,10 @@ export default {
13
13
  absolute: { type: Boolean },
14
14
  fixed: { type: Boolean },
15
15
  bottom: { type: Boolean },
16
+ vertical: { type: Boolean },
17
+ left: { type: Boolean },
18
+ right: { type: Boolean },
19
+ width: { type: [Number, String], default: null },
16
20
  height: { type: [Number, String], default: null },
17
21
  noBorder: { type: Boolean },
18
22
  shadow: { type: Boolean }
@@ -21,25 +25,35 @@ export default {
21
25
  emits: [],
22
26
 
23
27
  computed: {
24
- // Return the width or height value if defined, or false otherwise.
28
+ // Return the height value if defined, or false otherwise.
25
29
  toolbarHeight () {
26
30
  const h = this.height
27
31
  // If a number is passed without units, append `px`.
28
32
  return h && parseInt(h) == h ? h + 'px' : h
29
33
  },
34
+ // Return the width value if defined, or false otherwise.
35
+ toolbarWidth () {
36
+ const w = this.width
37
+ // If a number is passed without units, append `px`.
38
+ return w && parseInt(w) == w ? w + 'px' : w
39
+ },
30
40
  classes () {
31
41
  return {
32
42
  [this.color]: !!this.color,
33
43
  [`${this.bgColor}--bg`]: !!this.bgColor,
34
44
  'w-toolbar--absolute': !!this.absolute,
35
45
  'w-toolbar--fixed': !!this.fixed,
36
- [`w-toolbar--${this.bottom ? 'bottom' : 'top'}`]: true,
46
+ [`w-toolbar--${this.bottom ? 'bottom' : 'top'}`]: !this.vertical,
47
+ [`w-toolbar--vertical w-toolbar--${this.right ? 'right' : 'left'}`]: this.vertical,
37
48
  'w-toolbar--no-border': this.noBorder,
38
49
  'w-toolbar--shadow': !!this.shadow
39
50
  }
40
51
  },
41
52
  styles () {
42
- return this.height ? `height: ${this.toolbarHeight}` : false
53
+ return {
54
+ height: this.height && !this.vertical ? this.toolbarHeight : null,
55
+ width: this.width && this.vertical ? this.toolbarWidth : null
56
+ }
43
57
  }
44
58
  }
45
59
  }
@@ -56,18 +70,36 @@ export default {
56
70
  z-index: 10;
57
71
 
58
72
  &--absolute, &--fixed {top: 0;left: 0;right: 0;}
73
+ &--absolute.w-toolbar--vertical, &--fixed.w-toolbar--vertical {top: 0;bottom: 0;}
74
+ &--absolute.w-toolbar--left, &--fixed.w-toolbar--left {left: 0;right: auto;}
75
+ &--absolute.w-toolbar--right, &--fixed.w-toolbar--right {left: auto;right: 0;}
59
76
  &--absolute {position: absolute;}
60
77
  &--fixed {position: fixed;}
78
+
79
+ // Horizontal.
61
80
  &--top {border-bottom: $border;}
62
81
  &--bottom {
63
82
  bottom: 0;
64
83
  top: auto;
65
84
  border-top: $border;
66
85
  }
67
- &--no-border, &--shadow {
68
- border-top-width: 0;
69
- border-bottom-width: 0;
86
+
87
+ // Vertical.
88
+ &--vertical {
89
+ padding: (2 * $base-increment);
90
+ flex-direction: column;
91
+ flex-grow: 0;
92
+ flex-shrink: 0;
93
+ }
94
+
95
+ &--left {border-right: $border;}
96
+ &--right {
97
+ right: 0;
98
+ left: auto;
99
+ border-left: $border;
70
100
  }
101
+
102
+ &--no-border, &--shadow {border-width: 0;}
71
103
  &--shadow {box-shadow: $box-shadow;}
72
104
 
73
105
  .w-app > & {z-index: 200;}
@@ -81,5 +113,13 @@ export default {
81
113
  border-bottom-left-radius: inherit;
82
114
  border-bottom-right-radius: inherit;
83
115
  }
116
+ .w-card__content &--left {
117
+ border-top-left-radius: inherit;
118
+ border-bottom-left-radius: inherit;
119
+ }
120
+ .w-card__content &--right {
121
+ border-top-right-radius: inherit;
122
+ border-bottom-right-radius: inherit;
123
+ }
84
124
  }
85
125
  </style>
@@ -2,7 +2,12 @@
2
2
  .w-tooltip-wrap
3
3
  slot(name="activator" :on="activatorEventHandlers")
4
4
  transition(:name="transitionName" appear)
5
- .w-tooltip(v-if="detachableVisible" ref="detachable" :class="classes" :style="styles")
5
+ .w-tooltip(
6
+ v-if="detachableVisible"
7
+ ref="detachable"
8
+ :key="_uid"
9
+ :class="classes"
10
+ :style="styles")
6
11
  slot
7
12
  </template>
8
13