@awes-io/ui 2.131.0 → 2.132.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,18 @@
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.132.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.131.0...@awes-io/ui@2.132.0) (2025-06-24)
7
+
8
+
9
+ ### Features
10
+
11
+ * chart version support added ([17456f0](https://github.com/awes-io/client/commit/17456f041d22ee28a5c5fcc186b0226ddc5aaabc))
12
+ * non-searchable selects expands dropdown on mobile ([9f8fdf9](https://github.com/awes-io/client/commit/9f8fdf9f7eabfe091771424faeafb36029214b6d))
13
+
14
+
15
+
16
+
17
+
6
18
  # [2.131.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.130.1...@awes-io/ui@2.131.0) (2025-06-20)
7
19
 
8
20
 
@@ -123,8 +123,8 @@
123
123
  }
124
124
 
125
125
  &--mobile-opened .aw-select__dropdown {
126
- top: calc(env(safe-area-inset-top, 0px) + 0.5rem);
127
- bottom: calc(env(safe-area-inset-bottom, 0px) + 0.5rem);
126
+ top: calc(env(safe-area-inset-top, 0px) + 0.5rem);
127
+ bottom: max(auto, calc(env(safe-area-inset-bottom, 0px) + 0.5rem));
128
128
  }
129
129
  }
130
130
 
@@ -66,6 +66,7 @@
66
66
 
67
67
  <AwButton
68
68
  v-if="clearable"
69
+ ref="clearButton"
69
70
  v-show="!isOpened && selectedIndexes.length"
70
71
  @click="_onClearClick"
71
72
  theme="icon"
@@ -614,12 +615,31 @@ export default {
614
615
 
615
616
  isMobileOpened(isVisible) {
616
617
  if (isVisible) {
618
+ this._destroyPopper()
619
+
617
620
  disableBodyScroll(this.$refs.dropdown, {
618
621
  reserveScrollBarGap: true
619
622
  })
620
623
  } else {
621
624
  enableBodyScroll(this.$refs.dropdown)
622
625
  }
626
+ },
627
+
628
+ searchable: {
629
+ handler(searchable) {
630
+ const ua = navigator.userAgent.toLowerCase()
631
+
632
+ if (
633
+ searchable &&
634
+ ua.includes('mobile') &&
635
+ !ua.includes('android')
636
+ ) {
637
+ this.hasKeyboard = true
638
+ } else {
639
+ this.hasKeyboard = false
640
+ }
641
+ },
642
+ immediate: true
623
643
  }
624
644
  },
625
645
 
@@ -650,12 +670,6 @@ export default {
650
670
  if (this._isAjax && !!this.searchPreload) {
651
671
  this._preloadOptions()
652
672
  }
653
-
654
- const ua = navigator.userAgent.toLowerCase()
655
-
656
- if (ua.includes('mobile') && !ua.includes('android')) {
657
- this.hasKeyboard = true
658
- }
659
673
  },
660
674
 
661
675
  beforeDestroy() {
@@ -744,6 +758,14 @@ export default {
744
758
 
745
759
  _onMouseDown(e) {
746
760
  if (!this.searchable) {
761
+ if (
762
+ this.$refs.clearButton &&
763
+ (e.target === this.$refs.clearButton.$el ||
764
+ this.$refs.clearButton.$el.contains(e.target))
765
+ ) {
766
+ return
767
+ }
768
+
747
769
  if (e.target.tagName !== 'INPUT') {
748
770
  e.preventDefault()
749
771
  }
@@ -651,6 +651,23 @@ export default {
651
651
  }
652
652
  },
653
653
 
654
+ searchable: {
655
+ handler(searchable) {
656
+ const ua = navigator.userAgent.toLowerCase()
657
+
658
+ if (
659
+ searchable &&
660
+ ua.includes('mobile') &&
661
+ !ua.includes('android')
662
+ ) {
663
+ this.hasKeyboard = true
664
+ } else {
665
+ this.hasKeyboard = false
666
+ }
667
+ },
668
+ immediate: true
669
+ },
670
+
654
671
  _hasNextPage: '_toggleInfinityScroll'
655
672
  },
656
673
 
@@ -678,12 +695,6 @@ export default {
678
695
  },
679
696
 
680
697
  mounted() {
681
- const ua = navigator.userAgent.toLowerCase()
682
-
683
- if (ua.includes('mobile') && !ua.includes('android')) {
684
- this.hasKeyboard = true
685
- }
686
-
687
698
  if (this._preload.mounted) {
688
699
  this.fetch()
689
700
  }
@@ -7,24 +7,44 @@
7
7
  <script>
8
8
  import { equals } from 'rambdax'
9
9
  import loadjs from 'loadjs'
10
+ import { AwChart as _config } from '@AwConfig'
11
+ import { conf } from '@AwUtils/component'
10
12
 
11
13
  const CHART_ID = 'chart'
12
14
 
13
15
  export default {
14
16
  name: 'AwChart',
15
17
 
18
+ _config,
19
+
16
20
  props: {
17
21
  // https://apexcharts.com/docs/
18
22
  options: {
19
23
  type: Object,
20
24
  required: true
25
+ },
26
+
27
+ libVersion: {
28
+ type: String,
29
+ default() {
30
+ return conf(this, 'libVersion', 'latest')
31
+ }
21
32
  }
22
33
  },
23
34
 
24
35
  data() {
25
36
  return {
26
- chart: null,
27
- libUrl: ['https://cdn.jsdelivr.net/npm/apexcharts']
37
+ chart: null
38
+ }
39
+ },
40
+
41
+ computed: {
42
+ libUrl() {
43
+ return [
44
+ ['https://cdn.jsdelivr.net/npm/apexcharts', this.libVersion]
45
+ .filter(Boolean)
46
+ .join('@')
47
+ ]
28
48
  }
29
49
  },
30
50
 
@@ -4,11 +4,6 @@ import { COLORS } from '../assets/js/constants'
4
4
  export const LINK_REGEX = /^(https?:)?\/\//
5
5
  export const SPECIAL_URL_REGEX = /tel:|mailto:/
6
6
 
7
- export const AwLink = {
8
- routerComponent: 'router-link',
9
- baseClass: 'link'
10
- }
11
-
12
7
  export const AwAvatar = {
13
8
  colors: COLORS
14
9
  }
@@ -26,6 +21,35 @@ export const AwButton = {
26
21
  theme: 'solid'
27
22
  }
28
23
 
24
+ export const AwCalendar = {
25
+ firstDay: 1,
26
+ weekdaysShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
27
+ months: [
28
+ 'January',
29
+ 'February',
30
+ 'March',
31
+ 'April',
32
+ 'May',
33
+ 'June',
34
+ 'July',
35
+ 'August',
36
+ 'September',
37
+ 'October',
38
+ 'November',
39
+ 'December'
40
+ ]
41
+ }
42
+
43
+ export const AwChart = {
44
+ libVersion: 'latest'
45
+ }
46
+
47
+ export const AwCode = {
48
+ baseClass: 'aw-text-field',
49
+ pattern: 'XXXXXX',
50
+ compact: true
51
+ }
52
+
29
53
  export const AwCropper = {
30
54
  baseClass: 'aw-cropper'
31
55
  }
@@ -74,31 +98,6 @@ export const AwDropdown = {
74
98
  }
75
99
  }
76
100
 
77
- export const AwCalendar = {
78
- firstDay: 1,
79
- weekdaysShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
80
- months: [
81
- 'January',
82
- 'February',
83
- 'March',
84
- 'April',
85
- 'May',
86
- 'June',
87
- 'July',
88
- 'August',
89
- 'September',
90
- 'October',
91
- 'November',
92
- 'December'
93
- ]
94
- }
95
-
96
- export const AwCode = {
97
- baseClass: 'aw-text-field',
98
- pattern: 'XXXXXX',
99
- compact: true
100
- }
101
-
102
101
  export const AwForm = {
103
102
  baseClass: 'aw-form',
104
103
  method: 'post',
@@ -180,24 +179,6 @@ export const AwForm = {
180
179
  }
181
180
  }
182
181
 
183
- export const AwInput = {
184
- baseClass: 'aw-text-field',
185
- sizes: ['sm', 'md']
186
- }
187
-
188
- export const AwMoney = {
189
- options: {
190
- locale: undefined,
191
- currency: 'EUR',
192
- valueAsInteger: true,
193
- distractionFree: true,
194
- precision: undefined,
195
- autoDecimalMode: false,
196
- valueRange: undefined,
197
- allowNegative: true
198
- }
199
- }
200
-
201
182
  export const AwIconSystem = {
202
183
  baseClass: 'aw-icon',
203
184
  size: 16
@@ -211,8 +192,26 @@ export const AwImageUpload = {
211
192
  resultPath: 'imageUrl'
212
193
  }
213
194
 
214
- export const AwPage = {
215
- titleTag: 'h1'
195
+ export const AwInput = {
196
+ baseClass: 'aw-text-field',
197
+ sizes: ['sm', 'md']
198
+ }
199
+
200
+ export const AwLayoutMenu = {
201
+ hideAside: false,
202
+
203
+ submenuToggler: true,
204
+
205
+ toggleAsideName: 'aw-layout-menu-submenu'
206
+ }
207
+
208
+ export const AwLink = {
209
+ routerComponent: 'router-link',
210
+ baseClass: 'link'
211
+ }
212
+
213
+ export const AwMenu = {
214
+ iconColor: 'currentColor'
216
215
  }
217
216
 
218
217
  export const AwModal = {
@@ -221,8 +220,21 @@ export const AwModal = {
221
220
  bgClickClose: true
222
221
  }
223
222
 
224
- export const AwMenu = {
225
- iconColor: 'currentColor'
223
+ export const AwMoney = {
224
+ options: {
225
+ locale: undefined,
226
+ currency: 'EUR',
227
+ valueAsInteger: true,
228
+ distractionFree: true,
229
+ precision: undefined,
230
+ autoDecimalMode: false,
231
+ valueRange: undefined,
232
+ allowNegative: true
233
+ }
234
+ }
235
+
236
+ export const AwPage = {
237
+ titleTag: 'h1'
226
238
  }
227
239
 
228
240
  export const AwTable = {
@@ -253,33 +265,29 @@ export const AwToggleShowAside = {
253
265
  }
254
266
  }
255
267
 
256
- export const AwLayoutMenu = {
257
- hideAside: false,
258
-
259
- submenuToggler: true,
260
-
261
- toggleAsideName: 'aw-layout-menu-submenu'
262
- }
263
-
264
268
  export default {
265
269
  AwAvatar,
270
+ AwBirthdayPicker,
266
271
  AwButton,
267
- AwLink,
272
+ AwCalendar,
273
+ AwChart,
274
+ AwCode,
268
275
  AwCropper,
269
276
  AwDate,
277
+ AwDescription,
270
278
  AwDropdown,
271
- AwCalendar,
272
- AwCode,
273
279
  AwForm,
274
- AwInput,
275
- AwMoney,
276
280
  AwIconSystem,
277
281
  AwImageUpload,
278
- AwPage,
282
+ AwInput,
283
+ AwLayoutMenu,
284
+ AwLink,
285
+ AwMenu,
279
286
  AwModal,
287
+ AwMoney,
288
+ AwPage,
280
289
  AwTable,
281
290
  AwTags,
282
291
  AwTel,
283
- AwToggleShowAside,
284
- AwLayoutMenu
292
+ AwToggleShowAside
285
293
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awes-io/ui",
3
- "version": "2.131.0",
3
+ "version": "2.132.0",
4
4
  "description": "User Interface (UI) components",
5
5
  "keywords": [
6
6
  "ui",
@@ -114,5 +114,5 @@
114
114
  "rollup-plugin-visualizer": "^2.6.0",
115
115
  "rollup-plugin-vue": "^5.0.1"
116
116
  },
117
- "gitHead": "b205d20df88343fa2a87f21c3d088a167f13fbf4"
117
+ "gitHead": "642980f67d06500661147faf8d998530a9071882"
118
118
  }