@awes-io/ui 2.102.1 → 2.103.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,35 @@
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.103.0](https://github.com/awes-io/client/compare/@awes-io/ui@2.102.2...@awes-io/ui@2.103.0) (2024-05-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **aw-cropper:** refresh cropper after modal opened ([6621aab](https://github.com/awes-io/client/commit/6621aab2525a40c8b7e976aa06947033bedabdd8))
12
+ * fix component logic and style ([34acd24](https://github.com/awes-io/client/commit/34acd2404529a5a6fe63e342438996c8877cf080))
13
+ * fix padding bottom in page content ([c975edd](https://github.com/awes-io/client/commit/c975edd37d199ad546ab254714f115405d88e1af))
14
+
15
+
16
+ ### Features
17
+
18
+ * change padding for content modal with buttons ([b0220f6](https://github.com/awes-io/client/commit/b0220f6f4d6a86f17dfa846d5db761c9c890c9bc))
19
+
20
+
21
+
22
+
23
+
24
+ ## [2.102.2](https://github.com/awes-io/client/compare/@awes-io/ui@2.102.1...@awes-io/ui@2.102.2) (2024-04-26)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * visual fixes ([12624d4](https://github.com/awes-io/client/commit/12624d44058e6f4273b5647c3a333dafb7f0e36b))
30
+
31
+
32
+
33
+
34
+
6
35
  ## [2.102.1](https://github.com/awes-io/client/compare/@awes-io/ui@2.102.0...@awes-io/ui@2.102.1) (2024-04-25)
7
36
 
8
37
 
@@ -58,7 +58,7 @@ $modal-aside-width-large: 75vw;
58
58
  }
59
59
 
60
60
  &__content--buttons {
61
- padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 7rem);
61
+ padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 11.5rem);
62
62
  }
63
63
 
64
64
  &__close {
@@ -421,27 +421,44 @@ $modal-aside-width-large: 75vw;
421
421
  * Transitions
422
422
  */
423
423
 
424
- $modal-t-dur: 250ms;
424
+ $modal-t-dur: 200ms;
425
425
 
426
- .modal-transition-default {
427
- &-enter,
428
- &-leave-to {
429
- opacity: 0;
430
- }
426
+ @media (max-width: calc(theme('screens.md') - 1px)) {
427
+ .modal-transition-default,
428
+ .modal-transition-aside,
429
+ .modal-transition-aside-medium,
430
+ .modal-transition-aside-large,
431
+ .modal-transition-overlay-aside,
432
+ .modal-transition-overlay-aside-medium,
433
+ .modal-transition-overlay-aside-large,
434
+ .modal-transition-fullscreen {
435
+ &-enter,
436
+ &-leave-to {
437
+ opacity: 0;
438
+ transform: perspective(150rem) translate3d(0, 5rem, -10rem) rotateX(-30deg);
439
+ }
431
440
 
432
- &-enter-active,
433
- &-leave-active {
434
- pointer-events: none;
435
- backface-visibility: hidden;
436
- transform: translate3d(0, 0, 0);
437
- }
441
+ &-leave,
442
+ &-enter-to {
443
+ opacity: 1;
444
+ transform: perspective(150rem) translate3d(0, 0, 0) rotateX(0deg);
445
+ }
438
446
 
439
- &-enter-active {
440
- transition: $modal-t-dur opacity ease-out-quart;
441
- }
447
+ &-enter-active,
448
+ &-leave-active {
449
+ transform-style: preserve-3d;
450
+ pointer-events: none;
451
+ backface-visibility: hidden;
452
+ /* transform: translate3d(0, 0, 0); */
453
+ }
454
+
455
+ &-enter-active {
456
+ transition: calc($modal-t-dur * .5) opacity, $modal-t-dur transform;
457
+ }
442
458
 
443
- &-leave-active {
444
- transition: $modal-t-dur opacity;
459
+ &-leave-active {
460
+ transition: calc($modal-t-dur * .8) opacity, calc($modal-t-dur * .8) transform;
461
+ }
445
462
  }
446
463
  }
447
464
 
@@ -459,8 +476,7 @@ $modal-t-dur: 250ms;
459
476
  transition: calc($modal-t-dur * 1.5) opacity;
460
477
 
461
478
  .aw-modal__dialog {
462
- transition: $modal-t-dur transform calc($modal-t-dur * 0.5)
463
- ease-out-quart,
479
+ transition: $modal-t-dur transform calc($modal-t-dur * 0.5),
464
480
  calc($modal-t-dur * 0.5) opacity calc($modal-t-dur * 0.5);
465
481
  }
466
482
  }
@@ -473,70 +489,27 @@ $modal-t-dur: 250ms;
473
489
  }
474
490
  }
475
491
  }
476
- }
477
-
478
- /* fullscreen */
479
- .modal-transition-fullscreen {
480
- &-enter,
481
- &-leave-to {
482
- transform: scale(1.1);
483
- opacity: 0;
484
- }
485
-
486
- &-enter-active {
487
- transition: $modal-t-dur transform ease-out-quart,
488
- $modal-t-dur opacity ease-out-quart;
489
- }
490
-
491
- &-leave-active {
492
- transition: $modal-t-dur transform,
493
- calc($modal-t-dur * 0.67) opacity calc($modal-t-dur * 0.33);
494
- }
495
- }
496
-
497
- /* aside */
498
- .modal-transition-aside,
499
- .modal-transition-overlay-aside,
500
- .modal-transition-overlay-aside-medium,
501
- .modal-transition-overlay-aside-large {
502
- &-enter,
503
- &-leave-to {
504
- transform: translateX(100%);
505
- }
506
-
507
- &-enter-active {
508
- transition: $modal-t-dur transform ease-out-quart;
509
- }
510
-
511
- &-leave-active {
512
- transition: $modal-t-dur transform;
513
- }
514
- }
515
-
516
- .modal-transition-aside-medium,
517
- .modal-transition-aside-large {
518
- &-enter {
519
- transform: translateX($modal-aside-width);
520
- opacity: 0;
521
- }
522
492
 
523
- &-leave-to {
524
- transform: translateX(100%);
525
- opacity: 0;
526
- }
493
+ /* fullscreen */
494
+ .modal-transition-fullscreen {
495
+ &-enter,
496
+ &-leave-to {
497
+ transform: scale(1.1);
498
+ opacity: 0;
499
+ }
527
500
 
528
- &-enter-active {
529
- transition: $modal-t-dur transform ease-out-quart,
530
- calc($modal-t-dur * 0.67) opacity ease-out-quart;
531
- }
501
+ &-enter-active {
502
+ transition: $modal-t-dur transform,
503
+ $modal-t-dur opacity;
504
+ }
532
505
 
533
- &-leave-active {
534
- transition: $modal-t-dur transform,
535
- calc($modal-t-dur * 0.67) opacity calc($modal-t-dur * 0.33);
506
+ &-leave-active {
507
+ transition: $modal-t-dur transform,
508
+ calc($modal-t-dur * 0.67) opacity calc($modal-t-dur * 0.33);
509
+ }
536
510
  }
537
- }
538
511
 
539
- @screen md {
512
+ /* aside */
540
513
  .modal-transition-aside-medium,
541
514
  .modal-transition-aside-large {
542
515
  &-enter {
@@ -562,47 +535,48 @@ $modal-t-dur: 250ms;
562
535
  }
563
536
 
564
537
  &-enter-active {
565
- transition: $modal-t-dur opacity ease-out-quart;
538
+ transition: $modal-t-dur opacity;
566
539
 
567
540
  .aw-modal__dialog {
568
- transition: $modal-t-dur transform ease-out-quart;
541
+ transition: $modal-t-dur transform;
569
542
  }
570
543
  }
571
544
 
572
545
  &-leave-active {
573
- transition: $modal-t-dur opacity ease-out-quart;
546
+ transition: $modal-t-dur opacity;
574
547
 
575
548
  .aw-modal__dialog {
576
549
  transition: $modal-t-dur transform;
577
550
  }
578
551
  }
579
552
  }
580
- }
581
553
 
582
- /* aside */
583
- .modal-transition-bottom {
584
- &-enter,
585
- &-leave-to {
586
- opacity: 0;
554
+ /* bottom */
555
+ .modal-transition-bottom {
556
+ &-enter,
557
+ &-leave-to {
558
+ opacity: 0;
587
559
 
588
- .aw-modal__dialog {
589
- transform: translateY(100%);
560
+ .aw-modal__dialog {
561
+ transform: translateY(100%);
562
+ }
590
563
  }
591
- }
592
564
 
593
- &-enter-active {
594
- transition: $modal-t-dur opacity ease-out-quart;
565
+ &-enter-active {
566
+ transition: $modal-t-dur opacity;
595
567
 
596
- .aw-modal__dialog {
597
- transition: $modal-t-dur transform ease-out-quart;
568
+ .aw-modal__dialog {
569
+ transition: $modal-t-dur transform;
570
+ }
598
571
  }
599
- }
600
572
 
601
- &-leave-active {
602
- transition: $modal-t-dur opacity ease-out-quart;
573
+ &-leave-active {
574
+ transition: $modal-t-dur opacity;
603
575
 
604
- .aw-modal__dialog {
605
- transition: $modal-t-dur transform;
576
+ .aw-modal__dialog {
577
+ transition: $modal-t-dur transform;
578
+ }
606
579
  }
607
580
  }
608
581
  }
582
+
@@ -103,10 +103,6 @@
103
103
  line-height: 1.2;
104
104
  }
105
105
 
106
- &__breadcrumbs {
107
- padding-right: 1rem;
108
- }
109
-
110
106
  &--container {
111
107
  gap: 0;
112
108
  width: 100%;
@@ -1,6 +1,7 @@
1
1
  .aw-page-headline {
2
2
  display: flex;
3
3
  padding-top: var(--header-padding-top);
4
+ padding-bottom: var(--header-padding-bottom);
4
5
 
5
6
  &__buttons {
6
7
  display: flex;
@@ -1,62 +1,3 @@
1
- /* .aw-page {
2
- @apply flex flex-col flex-grow;
3
-
4
- &__title {
5
- @apply inline-flex flex-wrap items-center text-lg leading-tight font-heading;
6
- }
7
-
8
- &__title_min-height {
9
- @apply py-2;
10
- min-height: theme('spacing.16');
11
- }
12
-
13
- &__subnav {
14
- @apply relative bg-mono-900;
15
-
16
- &:after {
17
- content: '';
18
- @apply absolute bottom-0 pb-4 left-0 w-full border-t;
19
- }
20
- }
21
-
22
- &__tabs:after {
23
- display: none;
24
- }
25
-
26
- &__content {
27
- @apply py-4 flex-grow bg-mono-900;
28
- }
29
-
30
- &__content_fullscreen {
31
- display: flex;
32
- flex-direction: column;
33
- justify-content: space-between;
34
-
35
- & > .container {
36
- max-width: unset;
37
- @apply px-4;
38
- }
39
- }
40
-
41
- &__content_fake-fullscreen {
42
- @apply fixed inset-0;
43
- z-index: 120;
44
- }
45
- }
46
- @screen sm {
47
- .aw-page {
48
- &__title {
49
- @apply text-3xl;
50
- }
51
- }
52
- }
53
- @screen lg {
54
- .aw-page__content:not(.aw-page__content_fullscreen) {
55
- @apply py-8;
56
- }
57
- }
58
- */
59
-
60
1
  .aw-page {
61
2
  @apply bg-page-bg;
62
3
  width: 100%;
@@ -76,8 +17,8 @@
76
17
  }
77
18
 
78
19
  &__content {
79
- padding-top: 1rem;
80
- padding-bottom: calc(5rem + var(--page-buttons-bottom, 0px));
20
+ padding-top: calc(1.5rem - var(--header-padding-bottom));
21
+ padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px) + var(--page-buttons-bottom, 0px));
81
22
  flex-grow: 1;
82
23
  }
83
24
 
@@ -91,12 +32,6 @@
91
32
  display: contents;
92
33
  }
93
34
 
94
- &__header {
95
- &--is-empty.aw-page-header {
96
- display: none;
97
- }
98
- }
99
-
100
35
  &__mobile-title {
101
36
  padding: 0;
102
37
 
@@ -115,15 +50,15 @@
115
50
 
116
51
  @screen lg {
117
52
  .aw-page {
53
+ &__back {
54
+ margin-right: 1rem;
55
+ }
56
+
118
57
  &__mobile-title,
119
58
  &__top-scroll-mark {
120
59
  display: none;
121
60
  }
122
61
 
123
- &__content {
124
- @apply pt-6;
125
- }
126
-
127
62
  &__grid {
128
63
  grid-template-columns: repeat(2, minmax(1rem, 1fr));
129
64
  }
@@ -200,6 +200,12 @@
200
200
  text-decoration: underline;
201
201
  }
202
202
 
203
+ .link-reset,
204
+ .link-reset:hover {
205
+ color: inherit;
206
+ text-decoration: inherit;
207
+ }
208
+
203
209
  a:not([class]):focus-visible,
204
210
  .link:focus-visible {
205
211
  outline: theme('focusOutline');
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <component
3
3
  :is="_linkComponent"
4
- :class="className"
4
+ :class="reset ? '' : className"
5
5
  :style="colorStyle"
6
6
  v-bind="_linkAttrs"
7
7
  v-on="$listeners"
@@ -33,10 +33,12 @@ export default {
33
33
 
34
34
  text: String,
35
35
 
36
- color:{
36
+ color: {
37
37
  type: String,
38
38
  default: null
39
- }
39
+ },
40
+
41
+ reset: Boolean
40
42
  },
41
43
 
42
44
  computed: {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <AwCard :tag="tag" v-bind="$attrs" class="aw-island" v-on="$listeners">
2
+ <AwCard :tag="tag" v-bind="$attrs" class="aw-island" :reset="tag === 'AwLink' ? true : null" v-on="$listeners">
3
3
  <!-- heading -->
4
4
  <template #header>
5
5
  <div
@@ -354,9 +354,9 @@ export default {
354
354
  // check range
355
355
  switch (key) {
356
356
  case 'day':
357
- return numVal > 1 && numVal <= this.maxDay
357
+ return numVal >= 1 && numVal <= this.maxDay
358
358
  case 'month':
359
- return numVal > 1 && numVal <= 12
359
+ return numVal >= 1 && numVal <= 12
360
360
  case 'year':
361
361
  return true
362
362
  default:
@@ -120,6 +120,10 @@ export default {
120
120
  setTimeout(() => this.croppie.setZoom(0), 60)
121
121
  },
122
122
 
123
+ refresh() {
124
+ this.croppie.bind(this.$refs.image.src)
125
+ },
126
+
123
127
  rotate() {
124
128
  this.croppie.rotate(-90)
125
129
  },
@@ -65,9 +65,11 @@
65
65
  ref="cropModal"
66
66
  :param="null"
67
67
  :title="$t('Edit photo')"
68
+ @opened="$refs.cropper.refresh()"
68
69
  @before-close="clearUploadedFileOrBlock"
69
70
  >
70
71
  <AwCropper
72
+ ref="cropper"
71
73
  :src="file"
72
74
  :save-width="600"
73
75
  :save-height="600"
@@ -148,11 +148,13 @@
148
148
  :param="null"
149
149
  :title="$t('Upload avatar')"
150
150
  theme="fullscreen"
151
+ @opened="$refs.cropper.refresh()"
151
152
  >
152
153
  <AwCropper
154
+ ref="cropper"
153
155
  :src="uploadedAvatar"
154
- @save="saveAvatar"
155
156
  :square="squareAvatar"
157
+ @save="saveAvatar"
156
158
  />
157
159
  </AwModal>
158
160
  </template>
@@ -313,14 +313,7 @@ export default {
313
313
 
314
314
  pos = Math.min(pos, max)
315
315
 
316
- while (
317
- newValue[pos - 1] !== digit &&
318
- pos < firstDashIndex
319
- ) {
320
- pos++
321
- }
322
-
323
- while (isTyping && newValue[pos - 1] === ' ' && pos < max) {
316
+ while (newValue[pos - 1] !== digit && pos < max) {
324
317
  pos++
325
318
  }
326
319
 
@@ -16,16 +16,6 @@
16
16
  :is-stuck="isHeaderStuck && !isDesktop"
17
17
  hide-menu
18
18
  class="aw-page__header"
19
- :class="{
20
- 'aw-page__header--is-empty':
21
- !isHeaderStuck &&
22
- !isDesktop &&
23
- !$scopedSlots['buttons'] &&
24
- !$scopedSlots['after-breadcrumb'] &&
25
- !$scopedSlots['headline-breadcrumb'] &&
26
- !backUrl &&
27
- !isMenuToggler
28
- }"
29
19
  :style="{
30
20
  '--breadcrumb-width':
31
21
  backUrl || isMenuToggler ? '2.5rem' : '0px'
@@ -42,6 +32,7 @@
42
32
  "
43
33
  :href="backUrl || '/more'"
44
34
  :aria-label="breadcrumb?.title ?? $t('Back')"
35
+ class="aw-page__back"
45
36
  >
46
37
  <template #icon>
47
38
  <AwIconSystemMono name="arrow" />
@@ -52,10 +52,6 @@
52
52
  auto-width
53
53
  v-on="listeners"
54
54
  >
55
- <template #icon="{ icon }">
56
- <AwIcon :name="icon" />
57
- </template>
58
-
59
55
  <template #default="{ text }">
60
56
  <span
61
57
  v-if="text"
@@ -5,7 +5,11 @@ import { sanitize } from '../assets/js/string'
5
5
 
6
6
  const POPPERS = new Map()
7
7
 
8
- function showTooltip() {
8
+ function showTooltip($event) {
9
+ if ($event && $event.pointerType !== 'mouse') {
10
+ return
11
+ }
12
+
9
13
  const tooltip = this.__tooltip__
10
14
  const placement = tooltip.__placement__
11
15
  const options = tooltip.__options__
@@ -66,12 +70,12 @@ function hideTooltip() {
66
70
  }
67
71
 
68
72
  const EVENTS = [
69
- ['mouseenter', showTooltip],
70
- ['mouseleave', hideTooltip]
73
+ ['pointerenter', showTooltip],
74
+ ['pointerleave', hideTooltip]
71
75
  ]
72
76
 
73
77
  // const FOCUS_EVENTS = [
74
- // ['mouseerenter', showTooltip],
78
+ // ['pointerenter', showTooltip],
75
79
  // ['focus', showTooltip],
76
80
  // ['pointerleave', hideTooltip],
77
81
  // ['blur', hideTooltip]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awes-io/ui",
3
- "version": "2.102.1",
3
+ "version": "2.103.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": "73bc234370b3b5c9a5c010255abf2e0ee66c7360"
117
+ "gitHead": "f53b33277dcf6e194c034d7544b7c46c2cba58de"
118
118
  }