@awes-io/ui 2.84.0 → 2.86.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/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.86.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.85.0...@awes-io/ui@2.86.0) (2023-12-05)
7
+
8
+
9
+ ### Features
10
+
11
+ * update ([f03eef5](https://github.com/awes-io/client/commit/f03eef533592981c75d59551b466c790ecaed0ab))
12
+
13
+
14
+
15
+
16
+
17
+ # [2.85.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.84.0...@awes-io/ui@2.85.0) (2023-12-05)
18
+
19
+
20
+ ### Features
21
+
22
+ * add new action component ([34ac283](https://github.com/awes-io/client/commit/34ac283c6ef86e4453df13bcf1a0a84e54edfd43))
23
+ * **aw-action-card:** component added ([9c5b320](https://github.com/awes-io/client/commit/9c5b3200c9b9e4303ddaee7dc820e3e45b559942))
24
+ * add disable color for select object and fix style in aside modal ([f360510](https://github.com/awes-io/client/commit/f3605102099c8b354c0b6543f21f7a02c8abef8b))
25
+ * add min width for tab button without min width ([8bcd67d](https://github.com/awes-io/client/commit/8bcd67d78c305cb38e6c7220ceaf154480792b59))
26
+ * change basic style logic for aw label ([2f4bd5a](https://github.com/awes-io/client/commit/2f4bd5a08778e18156b7a87acfb7537c14b11ab7))
27
+ * change style for mobile menu ([d9c636e](https://github.com/awes-io/client/commit/d9c636ea479e90be2e3e1240e56fd08d8d053835))
28
+
29
+
30
+
31
+
32
+
6
33
  # [2.84.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.83.0...@awes-io/ui@2.84.0) (2023-11-23)
7
34
 
8
35
 
@@ -8,6 +8,8 @@
8
8
 
9
9
  @import './alert.css';
10
10
  @import './avatar.css';
11
+ @import './action-button.css';
12
+ @import './action-icon.css';
11
13
  @import './banner-text.css';
12
14
  @import './badge.css';
13
15
  @import './birthday-picker.css';
@@ -20,6 +22,8 @@
20
22
 
21
23
  @import './calendar.css';
22
24
 
25
+ @import './action-card.css';
26
+ @import './action-card-body.css';
23
27
  @import './card.css';
24
28
 
25
29
  @import './chip.css';
@@ -0,0 +1,53 @@
1
+ .aw-action-button {
2
+ @apply bg-surface;
3
+
4
+ display: grid;
5
+ align-items: start;
6
+ grid-template-columns: auto 1fr auto;
7
+ grid-template-rows: max-content minmax(0, auto);
8
+ gap: 0 1rem;
9
+
10
+ padding: 2rem;
11
+ border-radius: 1rem;
12
+
13
+ width: 100%;
14
+
15
+ &__icon-wrapper {
16
+ transition: 60ms color, 60ms background-color;
17
+ }
18
+
19
+ &:hover &__icon-wrapper {
20
+ color: var(--bg-color);
21
+ background-color: var(--color);
22
+ }
23
+
24
+ &:focus-visible {
25
+ outline: 0;
26
+ box-shadow: 0 0 0 2px var(--c-mono-800) inset;
27
+ }
28
+
29
+ &__text {
30
+ font-size: 1rem;
31
+ line-height: 1.5;
32
+ align-self: center;
33
+ }
34
+
35
+ &__description {
36
+ display: block;
37
+ margin-top: 0.25rem;
38
+ }
39
+
40
+ &__subdescription {
41
+ grid-column: 1 / -1;
42
+
43
+ padding-top: 1rem;
44
+ }
45
+
46
+ &--outline {
47
+ box-shadow: 0 0 0 2px var(--c-mono-900) inset;
48
+ }
49
+
50
+ &--narrow {
51
+ padding: 1rem;
52
+ }
53
+ }
@@ -0,0 +1,20 @@
1
+ .aw-action-card-body {
2
+ @apply bg-surface;
3
+
4
+ min-width: 0;
5
+ overflow: hidden;
6
+ padding: 1rem;
7
+ border-radius: 0.625rem;
8
+
9
+ &__title {
10
+ @apply text-mono-400;
11
+
12
+ display: block;
13
+
14
+ font-size: 0.875rem;
15
+ line-height: 1rem;
16
+ font-weight: 700;
17
+
18
+ margin-bottom: 1rem;
19
+ }
20
+ }
@@ -0,0 +1,36 @@
1
+ .aw-action-card {
2
+ @apply bg-mono-800;
3
+
4
+ display: grid;
5
+ gap: 0.5rem;
6
+
7
+ padding: 1.5rem 0.5rem 0.5rem;
8
+ border-radius: 1rem;
9
+
10
+ position: relative;
11
+
12
+ &__header {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 1rem;
16
+ padding: 0 1rem 1rem;
17
+ min-width: 0;
18
+ overflow: hidden;
19
+ }
20
+
21
+ &__title {
22
+ margin-top: 0;
23
+ margin-bottom: 0;
24
+ margin-inline-end: auto;
25
+ }
26
+
27
+ &__link {
28
+ display: block;
29
+ width: 100%;
30
+ height: 100%;
31
+
32
+ position: absolute;
33
+ left: 0;
34
+ top: 0;
35
+ }
36
+ }
@@ -0,0 +1,45 @@
1
+ .aw-action-icon {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ gap: 0.5rem;
7
+ flex-shrink: 0;
8
+
9
+ width: var(--size);
10
+ height: var(--size);
11
+ padding: max(0.25rem, calc(var(--size) / 8));
12
+ border-radius: var(--radius);
13
+
14
+ background-color: var(--bg-color);
15
+ color: var(--color);
16
+
17
+ img {
18
+ width: var(--size);
19
+ height: var(--size);
20
+ border-radius: var(--radius);
21
+ object-fit: cover;
22
+ }
23
+
24
+ small {
25
+ font-size: 0.875rem;
26
+ line-height: 1.125rem;
27
+ text-align: center;
28
+ }
29
+
30
+ &__icon {
31
+ flex: none;
32
+ width: var(--icon-size);
33
+ height: var(--icon-size);
34
+ color: var(--icon-color, currentColor);
35
+ }
36
+
37
+ &--image {
38
+ padding: 0;
39
+ background-color: transparent;
40
+ }
41
+
42
+ &--outline {
43
+ box-shadow: 0 0 0 2px currentColor inset;
44
+ }
45
+ }
@@ -6,6 +6,7 @@
6
6
  overflow: hidden;
7
7
  contain: content;
8
8
  user-select: none;
9
+ text-transform: uppercase;
9
10
 
10
11
  width: var(--ui-avatar-size, 2.25rem);
11
12
  height: var(--ui-avatar-size, 2.25rem);
@@ -130,9 +130,9 @@
130
130
  &--without-min-with {
131
131
  .aw-button-nav__toggler {
132
132
  & > span {
133
- padding-left: 1rem;
134
- padding-right: 1rem;
135
- min-width: 0;
133
+ padding-left: 0.625rem;
134
+ padding-right: 0.625rem;
135
+ min-width: 2.75rem;
136
136
  }
137
137
  }
138
138
  }
@@ -223,5 +223,15 @@
223
223
  }
224
224
  }
225
225
  }
226
+
227
+ &--without-min-with {
228
+ .aw-button-nav__toggler {
229
+ & > span {
230
+ padding-left: 0.4375rem;
231
+ padding-right: 0.4375rem;
232
+ min-width: 2.375rem;
233
+ }
234
+ }
235
+ }
226
236
  }
227
237
  }
@@ -8,4 +8,30 @@
8
8
  width: 1em;
9
9
  height: 1em;
10
10
  }
11
+
12
+ &--animated {
13
+ .svg-arrow-line {
14
+ transform: scaleX(0);
15
+ transform-origin: 50% 75%;
16
+ transition: 60ms transform;
17
+ }
18
+
19
+ .svg-arrow-chevron {
20
+ transform: translateX(-15%);
21
+ transition: 60ms transform;
22
+ }
23
+ }
24
+ }
25
+
26
+ .aw-animated-icon-parent:hover .aw-icon--animated,
27
+ .aw-icon--animated:hover {
28
+ .svg-arrow-line {
29
+ transform: scaleX(1);
30
+ transition: 240ms transform;
31
+ }
32
+
33
+ .svg-arrow-chevron {
34
+ transform: translateX(0);
35
+ transition: 240ms transform;
36
+ }
11
37
  }
@@ -1,5 +1,5 @@
1
1
  .aw-mobile-menu {
2
- @apply bg-mono-900;
2
+ @apply bg-page-bg;
3
3
  width: 100%;
4
4
 
5
5
  display: flex;
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  &__header {
27
- @apply bg-mono-900;
27
+ @apply bg-page-bg;
28
28
  display: flex;
29
29
  align-items: center;
30
30
 
@@ -335,13 +335,13 @@ $modal-aside-width-large: 75vw;
335
335
 
336
336
  &[class*="is-overlay-aside"] &__header {
337
337
  padding-top: 1.5rem;
338
- padding-left: 2rem;
339
- padding-right: 2rem;
338
+ padding-left: 1.5rem;
339
+ padding-right: 1.5rem;
340
340
  }
341
341
 
342
342
  &[class*="is-overlay-aside"] &__close {
343
- top: 0.75rem;
344
- right: 2rem;
343
+ top: 0;
344
+ right: 0;
345
345
  }
346
346
 
347
347
  &.is-overlay-aside &__dialog {
@@ -339,6 +339,10 @@
339
339
  @apply bg-mono-900 text-mono-400;
340
340
  }
341
341
 
342
+ .is-disabled .aw-text-field__element--fake {
343
+ @apply bg-mono-900;
344
+ }
345
+
342
346
  @keyframes autoFillStart {
343
347
  from {
344
348
  opacity: 1;
@@ -0,0 +1,7 @@
1
+ export const ICONS = {
2
+ 'arrow-animated': `<path d="M2.4 12c0-.66.54-1.2 1.2-1.2h15.6a1.2 1.2 0 0 1 0 2.4H3.6A1.2 1.2 0 0 1 2.4 12Z" class="svg-arrow-line"/><path fill-rule="evenodd" d="M14.12 4.84a1.2 1.2 0 1 0-1.55 1.85l6.3 5.28-6.3 5.3a1.2 1.2 0 1 0 1.54 1.82l7.36-6.16c.3-.24.45-.6.45-.96a1.2 1.2 0 0 0-.46-.95l-7.35-6.18Z" clip-rule="evenodd" class="svg-arrow-chevron" />`
3
+ }
4
+
5
+ export const VIEW_BOX = '0 0 24 24'
6
+
7
+ export const isAnimatedIcon = (name) => Object.hasOwnProperty.call(ICONS, name)
@@ -52,7 +52,7 @@ export default {
52
52
  error: '#e9555b',
53
53
 
54
54
  surface: '#fff',
55
- 'page-bg': '#f3f5f7',
55
+ 'page-bg': '#F3F5F7',
56
56
  overlay: 'rgba(20, 23, 29, 0.4)',
57
57
  link: '#56af40',
58
58
 
@@ -112,7 +112,7 @@ export default {
112
112
  error: '#e9555b',
113
113
 
114
114
  surface: '#313236',
115
- 'page-bg': '#1e1e1e',
115
+ 'page-bg': '#1E1E21',
116
116
  overlay: 'rgba(0, 0, 0, 0.5)',
117
117
  link: '#56af40',
118
118
 
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <section class="aw-action-card">
3
+ <div class="aw-action-card__header">
4
+ <slot name="before-title"></slot>
5
+
6
+ <AwHeadline class="aw-action-card__title">{{ title }}</AwHeadline>
7
+
8
+ <slot name="after-title">
9
+ <AwButton
10
+ v-if="isActionButtonVisible"
11
+ v-bind="actionProps"
12
+ v-on="actionListeners"
13
+ />
14
+ </slot>
15
+ </div>
16
+
17
+ <slot />
18
+
19
+ <NuxtLink
20
+ v-if="href"
21
+ :to="href"
22
+ :aria-label="title"
23
+ class="aw-action-card__link"
24
+ />
25
+ </section>
26
+ </template>
27
+
28
+ <script>
29
+ const ACTION_DEFAULTS = {
30
+ color: 'default'
31
+ }
32
+
33
+ export default {
34
+ name: 'AwActionCard',
35
+
36
+ props: {
37
+ title: {
38
+ type: String,
39
+ default: ''
40
+ },
41
+
42
+ action: {
43
+ type: Object,
44
+ default: null
45
+ },
46
+
47
+ href: {
48
+ type: [String, Object],
49
+ default: null
50
+ }
51
+ },
52
+
53
+ computed: {
54
+ isActionButtonVisible() {
55
+ return this.action && !this.href
56
+ },
57
+
58
+ actionProps() {
59
+ return this.action ? { ...ACTION_DEFAULTS, ...this.action } : null
60
+ },
61
+
62
+ actionListeners() {
63
+ return this.action
64
+ ? this.action.href
65
+ ? null
66
+ : { click: this.onClickEmitAction }
67
+ : null
68
+ }
69
+ },
70
+
71
+ methods: {
72
+ onClickEmitAction() {
73
+ this.$emit('action')
74
+ }
75
+ }
76
+ }
77
+ </script>
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <div class="aw-action-card-body">
3
+ <div v-if="title" class="aw-action-card-body__title">{{ title }}</div>
4
+ <slot />
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: 'AwActionCardBody',
11
+
12
+ props: {
13
+ title: {
14
+ type: String,
15
+ default: ''
16
+ }
17
+ }
18
+ }
19
+ </script>
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <span
3
+ class="aw-action-icon"
4
+ :class="{
5
+ 'aw-action-icon--image': image,
6
+ 'ew-action-icon--outline': modifiers.includes('outline'),
7
+ 'aw-animated-icon-parent': isAnimatedIcon
8
+ }"
9
+ :style="styles"
10
+ >
11
+ <img v-if="image" v-bind="image" />
12
+
13
+ <slot v-else>
14
+ <AwIcon :name="icon" class="aw-action-icon__icon" />
15
+ <small v-if="text">{{ text }}</small>
16
+ </slot>
17
+ </span>
18
+ </template>
19
+
20
+ <script>
21
+ import { toColor, toOnColor } from '@AwUtils/styles'
22
+ import { isAnimatedIcon } from '@AwUtils/icons/animated'
23
+
24
+ const SIZES = {
25
+ xs: {
26
+ size: '1.5rem',
27
+ iconSize: '0.75rem',
28
+ iconWithTextSize: '0.5rem',
29
+ radius: '0.3125rem'
30
+ },
31
+ sm: {
32
+ size: '2.5rem',
33
+ iconSize: '1rem',
34
+ iconWithTextSize: '0.75rem',
35
+ radius: '0.625rem'
36
+ },
37
+ md: {
38
+ size: '2.5rem',
39
+ iconSize: '1.5rem',
40
+ iconWithTextSize: '0.75rem',
41
+ radius: '0.625rem'
42
+ },
43
+ lg: {
44
+ size: '5rem',
45
+ iconSize: '2rem',
46
+ iconWithTextSize: '1.5rem',
47
+ radius: '1.25rem'
48
+ }
49
+ }
50
+
51
+ const SIZES_MOBILE = {
52
+ ...SIZES,
53
+ sm: {
54
+ size: '3rem',
55
+ iconSize: '1rem',
56
+ iconWithTextSize: '0.75rem',
57
+ radius: '0.625rem'
58
+ },
59
+ md: {
60
+ size: '3rem',
61
+ iconSize: '1.5rem',
62
+ iconWithTextSize: '0.75rem',
63
+ radius: '0.625rem'
64
+ }
65
+ }
66
+
67
+ const SIZES_NAMES = Object.keys(SIZES)
68
+
69
+ const SIZE_DEFAULT = SIZES_NAMES[2]
70
+
71
+ export default {
72
+ name: 'AwActionIcon',
73
+
74
+ props: {
75
+ image: {
76
+ type: Object,
77
+ default: null
78
+ },
79
+
80
+ icon: {
81
+ type: String,
82
+ default: 'arrow-animated'
83
+ },
84
+
85
+ text: {
86
+ type: String,
87
+ default: ''
88
+ },
89
+
90
+ size: {
91
+ type: String, // xs, sm, md, lg
92
+ default: SIZE_DEFAULT,
93
+ validator(size) {
94
+ return SIZES_NAMES.includes(size)
95
+ }
96
+ },
97
+
98
+ color: {
99
+ type: String,
100
+ default: 'mono-700'
101
+ },
102
+
103
+ onColor: {
104
+ type: String,
105
+ default: ''
106
+ },
107
+
108
+ iconColor: {
109
+ type: String,
110
+ default: ''
111
+ },
112
+
113
+ modifiers: {
114
+ type: [String, Array],
115
+ default: ''
116
+ },
117
+
118
+ desktopFrom: {
119
+ type: String,
120
+ default: 'lg'
121
+ }
122
+ },
123
+
124
+ computed: {
125
+ styles() {
126
+ const sizes = this.$screen[this.desktopFrom] ? SIZES : SIZES_MOBILE
127
+ const size = sizes[this.size] || sizes[SIZE_DEFAULT]
128
+
129
+ const styles = {
130
+ '--size': size.size,
131
+ '--icon-size': this.text
132
+ ? size.iconWithTextSize
133
+ : size.iconSize,
134
+ '--radius': size.radius,
135
+ '--color': this.onColor
136
+ ? toColor(this.onColor)
137
+ : toOnColor(this.color),
138
+ '--bg-color': toColor(this.color),
139
+ '--icon-color': this.iconColor ? toColor(this.iconColor) : null
140
+ }
141
+
142
+ return styles
143
+ },
144
+
145
+ isAnimatedIcon() {
146
+ return isAnimatedIcon(this.icon)
147
+ }
148
+ }
149
+ }
150
+ </script>
@@ -1,5 +1,8 @@
1
1
  <script>
2
- import { isNil } from 'rambdax'
2
+ import { isNil, mergeDeepRight } from 'rambdax'
3
+ import { VIEW_BOX, ICONS as ANIMATED_ICONS } from '@AwUtils/icons/animated'
4
+
5
+ const staticClass = 'aw-icon'
3
6
 
4
7
  export default {
5
8
  name: 'AwIcon',
@@ -31,27 +34,50 @@ export default {
31
34
  render(h, { props: { name, color, size, viewBox }, data }) {
32
35
  const attrs = data.attrs || {}
33
36
 
34
- return name
35
- ? h('SvgIcon', {
36
- props: { name, viewBox },
37
- staticClass: 'aw-icon',
38
- class: [
39
- data.class,
40
- data.staticClass,
41
- {
42
- 'aw-icon--size-text':
43
- !size && isNil(attrs.width) && isNil(attrs.height)
37
+ const aniamtedIconContent = ANIMATED_ICONS[name]
38
+
39
+ const getOptions = (overrides = {}) =>
40
+ mergeDeepRight(
41
+ {
42
+ staticClass,
43
+ class: [
44
+ data.class,
45
+ data.staticClass,
46
+ {
47
+ 'aw-icon--size-text':
48
+ !size &&
49
+ isNil(attrs.width) &&
50
+ isNil(attrs.height),
51
+ 'aw-icon--animated': !!aniamtedIconContent
52
+ }
53
+ ],
54
+ style: [data.style, data.staticStyle].concat(
55
+ color ? { fill: `var(--c-${color})` } : []
56
+ ),
57
+ attrs: {
58
+ 'aria-hidden': true,
59
+ width: size || null,
60
+ height: size || null,
61
+ ...attrs
62
+ }
63
+ },
64
+ overrides
65
+ )
66
+
67
+ return aniamtedIconContent
68
+ ? h('svg', {
69
+ ...getOptions({
70
+ attrs: {
71
+ viewBox: VIEW_BOX,
72
+ xmlns: 'http://www.w3.org/2000/svg'
44
73
  }
45
- ],
46
- style: [data.style, data.staticStyle].concat(
47
- color ? { fill: `var(--c-${color})` } : []
48
- ),
49
- attrs: {
50
- 'aria-hidden': true,
51
- width: size || null,
52
- height: size || null,
53
- ...attrs
54
- }
74
+ }),
75
+ domProps: { innerHTML: aniamtedIconContent }
76
+ })
77
+ : name
78
+ ? h('SvgIcon', {
79
+ ...getOptions(),
80
+ props: { name, viewBox }
55
81
  })
56
82
  : null
57
83
  }
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <div
3
- v-if="label"
4
- class="aw-label"
5
- :style="styleVariables"
6
- >
2
+ <div v-if="label" class="aw-label" :style="styleVariables">
7
3
  <span
8
4
  class="aw-label__wrapper relative inline-flex items-center leading-5 px-2 rounded-lg"
9
5
  >
@@ -56,7 +52,7 @@ export default {
56
52
 
57
53
  color: {
58
54
  type: String,
59
- default: 'green'
55
+ default: ''
60
56
  },
61
57
 
62
58
  onColor: {
@@ -97,6 +93,13 @@ export default {
97
93
  },
98
94
 
99
95
  styleVariables() {
96
+ if (!this.color && !this.onColor) {
97
+ return {
98
+ '--aw-label-bg': 'var(--c-mono-900)',
99
+ '--aw-label-on-color': 'var(--c-mono-400)'
100
+ }
101
+ }
102
+
100
103
  return {
101
104
  '--aw-label-bg': this.isCustomColor
102
105
  ? toColor(this.color)
@@ -0,0 +1,110 @@
1
+ <template>
2
+ <Component
3
+ :is="_linkComponent"
4
+ class="aw-action-button"
5
+ v-bind="{
6
+ ..._linkAttrs,
7
+ class: {
8
+ 'aw-animated-icon-parent': isAnimatedIcon,
9
+ 'aw-action-button--outline': modifiers.includes('outline'),
10
+ 'aw-action-button--narrow': modifiers.includes('narrow')
11
+ }
12
+ }"
13
+ v-on="$listeners"
14
+ >
15
+ <slot name="icon-wrapper">
16
+ <AwActionIcon
17
+ v-if="icon"
18
+ class="aw-action-button__icon-wrapper"
19
+ :icon="icon"
20
+ :color="iconColor"
21
+ :on-color="iconOnColor"
22
+ :size="iconSize"
23
+ />
24
+ </slot>
25
+
26
+ <span class="aw-action-button__text">
27
+ <slot :text="text">{{ text }}</slot>
28
+
29
+ <AwDescription
30
+ v-if="description"
31
+ class="aw-action-button__description"
32
+ >
33
+ {{ description }}
34
+ </AwDescription>
35
+ </span>
36
+
37
+ <AwActionIcon v-if="iconRight" :icon="iconRight" size="sm" color="mono-900" />
38
+
39
+ <AwDescription
40
+ v-if="subdescription"
41
+ class="aw-action-button__subdescription"
42
+ >
43
+ {{ subdescription }}
44
+ </AwDescription>
45
+ </Component>
46
+ </template>
47
+
48
+ <script>
49
+ import { isAnimatedIcon } from '@AwUtils/icons/animated'
50
+ import linkMixin from '@AwMixins/link'
51
+
52
+ export default {
53
+ name: 'AwActionButton',
54
+
55
+ mixins: [linkMixin],
56
+
57
+ props: {
58
+ icon: {
59
+ type: String,
60
+ default: ''
61
+ },
62
+
63
+ iconColor: {
64
+ type: String,
65
+ default: 'green'
66
+ },
67
+
68
+ iconOnColor: {
69
+ type: String,
70
+ default: null
71
+ },
72
+
73
+ iconSize: {
74
+ type: String,
75
+ default: 'md'
76
+ },
77
+
78
+ text: {
79
+ type: String,
80
+ default: ''
81
+ },
82
+
83
+ description: {
84
+ type: String,
85
+ default: ''
86
+ },
87
+
88
+ subdescription: {
89
+ type: String,
90
+ default: ''
91
+ },
92
+
93
+ iconRight: {
94
+ type: String,
95
+ default: 'arrow-animated'
96
+ },
97
+
98
+ modifiers: {
99
+ type: [String, Array],
100
+ default: ''
101
+ }
102
+ },
103
+
104
+ computed: {
105
+ isAnimatedIcon() {
106
+ return isAnimatedIcon(this.iconRight)
107
+ }
108
+ }
109
+ }
110
+ </script>
@@ -67,6 +67,7 @@
67
67
  <slot name="caret" v-bind="data" />
68
68
  </template>
69
69
  </AwSelectFakeInput>
70
+
70
71
  <AwSelectInput
71
72
  v-else
72
73
  ref="input"
@@ -106,7 +106,7 @@ export default {
106
106
  default() {
107
107
  return conf(this, 'breadcrumbMenu')
108
108
  }
109
- },
109
+ }
110
110
  },
111
111
 
112
112
  computed: {
@@ -56,7 +56,7 @@ export const dayjs = {
56
56
  pattern: null,
57
57
  format: true
58
58
  },
59
- plugins: ['dayjs/plugin/relativeTime', 'dayjs/plugin/isLeapYear']
59
+ plugins: ['dayjs/plugin/isLeapYear', 'dayjs/plugin/relativeTime']
60
60
  }
61
61
 
62
62
  export const axios = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awes-io/ui",
3
- "version": "2.84.0",
3
+ "version": "2.86.0",
4
4
  "description": "User Interface (UI) components",
5
5
  "keywords": [
6
6
  "ui",
@@ -113,5 +113,5 @@
113
113
  "rollup-plugin-visualizer": "^2.6.0",
114
114
  "rollup-plugin-vue": "^5.0.1"
115
115
  },
116
- "gitHead": "078158dae22db6592008e4fc37c34e08ccfeb618"
116
+ "gitHead": "4a7e811d284afa3989f61e279e42d3f161e4aaaf"
117
117
  }