@iamproperty/components 3.7.3 → 3.7.5

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.
Files changed (104) hide show
  1. package/assets/css/components/card.css +1 -1
  2. package/assets/css/components/card.css.map +1 -1
  3. package/assets/css/components/dialog.css +1 -1
  4. package/assets/css/components/dialog.css.map +1 -1
  5. package/assets/css/components/notification.css +1 -0
  6. package/assets/css/components/notification.css.map +1 -0
  7. package/assets/css/components/table.css +1 -1
  8. package/assets/css/components/table.css.map +1 -1
  9. package/assets/css/components/tooltips.css +1 -1
  10. package/assets/css/components/tooltips.css.map +1 -1
  11. package/assets/css/core.min.css +1 -1
  12. package/assets/css/core.min.css.map +1 -1
  13. package/assets/css/style.min.css +1 -1
  14. package/assets/css/style.min.css.map +1 -1
  15. package/assets/js/bundle.js +3 -0
  16. package/assets/js/components/accordion/accordion.component.js +5 -5
  17. package/assets/js/components/accordion/accordion.component.min.js +6 -5
  18. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  19. package/assets/js/components/applied-filters/applied-filters.component.js +10 -3
  20. package/assets/js/components/applied-filters/applied-filters.component.min.js +5 -5
  21. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  22. package/assets/js/components/card/card.component.js +11 -3
  23. package/assets/js/components/card/card.component.min.js +6 -6
  24. package/assets/js/components/card/card.component.min.js.map +1 -1
  25. package/assets/js/components/filterlist/filterlist.component.js +2 -1
  26. package/assets/js/components/filterlist/filterlist.component.min.js +4 -4
  27. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  28. package/assets/js/components/header/header.component.js +3 -5
  29. package/assets/js/components/header/header.component.min.js +4 -8
  30. package/assets/js/components/header/header.component.min.js.map +1 -1
  31. package/assets/js/components/notification/notification.component.js +71 -0
  32. package/assets/js/components/notification/notification.component.min.js +18 -0
  33. package/assets/js/components/notification/notification.component.min.js.map +1 -0
  34. package/assets/js/components/pagination/pagination.component.js +6 -3
  35. package/assets/js/components/pagination/pagination.component.min.js +12 -10
  36. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  37. package/assets/js/components/table/table.component.js +6 -3
  38. package/assets/js/components/table/table.component.min.js +14 -12
  39. package/assets/js/components/table/table.component.min.js.map +1 -1
  40. package/assets/js/components/tabs/tabs.component.js +2 -1
  41. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  42. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  43. package/assets/js/dynamic.js +3 -0
  44. package/assets/js/dynamic.min.js +14 -2
  45. package/assets/js/dynamic.min.js.map +1 -1
  46. package/assets/js/flat-components.js +6 -0
  47. package/assets/js/modules/dialogs.js +8 -1
  48. package/assets/js/modules/helpers.js +13 -0
  49. package/assets/js/modules/notification.js +53 -0
  50. package/assets/js/modules/table.js +10 -3
  51. package/assets/js/scripts.bundle.js +47 -35
  52. package/assets/js/scripts.bundle.js.map +1 -1
  53. package/assets/js/scripts.bundle.min.js +2 -2
  54. package/assets/js/scripts.bundle.min.js.map +1 -1
  55. package/assets/sass/_components.scss +1 -1
  56. package/assets/sass/_corefiles.scss +1 -0
  57. package/assets/sass/components/card.scss +9 -5
  58. package/assets/sass/components/dialog.scss +52 -14
  59. package/assets/sass/components/notification.scss +195 -0
  60. package/assets/sass/components/table.scss +22 -12
  61. package/assets/sass/components/tooltips.scss +137 -49
  62. package/assets/sass/foundations/buttons.scss +1 -1
  63. package/assets/sass/foundations/reboot.scss +80 -3
  64. package/assets/sass/foundations/root.scss +3 -3
  65. package/assets/ts/bundle.ts +4 -0
  66. package/assets/ts/components/accordion/accordion.component.ts +6 -8
  67. package/assets/ts/components/applied-filters/applied-filters.component.ts +12 -3
  68. package/assets/ts/components/card/card.component.ts +16 -4
  69. package/assets/ts/components/filterlist/filterlist.component.ts +4 -2
  70. package/assets/ts/components/header/header.component.ts +4 -5
  71. package/assets/ts/components/notification/README.md +32 -0
  72. package/assets/ts/components/notification/notification.component.ts +90 -0
  73. package/assets/ts/components/pagination/pagination.component.ts +7 -3
  74. package/assets/ts/components/table/table.component.ts +8 -4
  75. package/assets/ts/components/tabs/tabs.component.ts +3 -1
  76. package/assets/ts/dynamic.ts +6 -0
  77. package/assets/ts/flat-components.ts +8 -0
  78. package/assets/ts/modules/dialogs.ts +11 -4
  79. package/assets/ts/modules/helpers.ts +17 -0
  80. package/assets/ts/modules/notification.ts +76 -0
  81. package/assets/ts/modules/table.ts +13 -4
  82. package/dist/components.es.js +1027 -977
  83. package/dist/components.umd.js +67 -36
  84. package/dist/style.css +1 -1
  85. package/package.json +1 -1
  86. package/src/components/Accordion/Accordion.vue +1 -1
  87. package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
  88. package/src/components/Filterlist/Filterlist.vue +1 -1
  89. package/src/components/Header/Header.vue +9 -5
  90. package/src/components/Notification/Notification.vue +24 -0
  91. package/src/components/Notification/README.md +32 -0
  92. package/src/components/Pagination/Pagination.vue +1 -1
  93. package/src/components/Table/Table.vue +1 -1
  94. package/src/components/Tabs/Tabs.vue +1 -1
  95. package/src/index.js +2 -1
  96. package/assets/css/components/alert.css +0 -1
  97. package/assets/css/components/alert.css.map +0 -1
  98. package/assets/js/modules/alert.js +0 -41
  99. package/assets/sass/components/alert.scss +0 -121
  100. package/assets/ts/modules/alert.ts +0 -58
  101. package/src/components/Alert/Alert.spec.js +0 -49
  102. package/src/components/Alert/Alert.vue +0 -39
  103. package/src/components/Alert/README.md +0 -29
  104. package/src/components/Header/Header.spec.js +0 -34
@@ -3,7 +3,7 @@
3
3
  @use "components/header.scss";
4
4
  @use "components/testimonial.scss";
5
5
  @use "components/accordion.scss";
6
- @use "components/alert";
6
+ @use "components/notification";
7
7
  @use "components/carousel.scss";
8
8
  @use "components/property-searchbar.scss";
9
9
  @use "components/tabs.scss";
@@ -21,6 +21,7 @@
21
21
  @use "components/dialog.scss";
22
22
 
23
23
  @use "components/pagination.scss";
24
+ @use "components/accordion.scss";
24
25
 
25
26
  // Bootstrap elements
26
27
  @import "../bootstrap/scss/_transitions.scss";
@@ -58,10 +58,9 @@
58
58
  }
59
59
 
60
60
  &:is(:hover,:focus,.hover) {
61
- --icon-right: 0.5rem;
61
+ --card-icon-right: 0.5rem;
62
62
  outline: 2px solid var(--colour, var(--colour-primary));
63
63
  outline-offset: -2px;
64
-
65
64
  }
66
65
 
67
66
  // Update arrow cololur
@@ -76,7 +75,7 @@
76
75
  }
77
76
 
78
77
  &:is(:active, .active){
79
- --icon-right: 0.5rem;
78
+ --card-icon-right: 0.5rem;
80
79
  outline: none;
81
80
 
82
81
  &:before {
@@ -225,12 +224,17 @@
225
224
  position: absolute;
226
225
  top: 0;
227
226
  left: 0;
228
- width: 101%;
229
- height: 101%;
227
+ width: 102%;
228
+ height: 102%;
230
229
  object-fit: cover;
231
230
  }
232
231
  }
233
232
  }
233
+
234
+ .card.card--lg-image:has(.card__head) .card__head{
235
+
236
+ padding-top: 55%;
237
+ }
234
238
  // #endregion
235
239
 
236
240
  //#region card with a footer
@@ -37,6 +37,11 @@ dialog[open] {
37
37
  // #endregion
38
38
 
39
39
  // #region modal styling
40
+
41
+ *:not(.dialog__wrapper) > dialog[open] {
42
+
43
+ }
44
+
40
45
  *:not(.dialog__wrapper) > dialog[open] {
41
46
  overflow-y: hidden;
42
47
  width: 90vw;
@@ -135,16 +140,9 @@ dialog[open] {
135
140
  max-width: rem(1112);
136
141
  }
137
142
 
138
- container-type: inline-size;
139
-
140
- @container (width < 23.4375em) {
141
-
142
- > .btn:not(.dialog__close),
143
- > form > .btn:not(.dialog__close),
144
- > .mh-lg > :is(form,div) > .btn:not(.dialog__close),
145
- > .mh-lg > .btn:not(.dialog__close),
146
- > form > fieldset > .btn:not(.dialog__close),
147
- .btn--wrapper > .btn:not(.dialog__close) {
143
+ @media screen and (max-width: 36em) {
144
+
145
+ :is(form, fieldset, .btn--wrapper):has(> .btn:first-child, > .btn:last-child) .btn:not(.dialog__close) {
148
146
  width: 100%;
149
147
  max-width: 100%;
150
148
  margin: 0;
@@ -242,6 +240,7 @@ dialog::backdrop {
242
240
 
243
241
  &:not(:has(fieldset.active)) fieldset:first-of-type{
244
242
  display: flex;
243
+ flex-direction: column;
245
244
  }
246
245
 
247
246
  form > *:not(fieldset) {
@@ -319,6 +318,11 @@ dialog::backdrop {
319
318
  }
320
319
  }
321
320
 
321
+ @include media-breakpoint-up(sm) {
322
+ min-width: rem(452);
323
+ width: rem(452);
324
+ max-width: rem(452);
325
+ }
322
326
  @include media-breakpoint-up(md) {
323
327
  min-width: rem(924);
324
328
  width: rem(924);
@@ -428,9 +432,13 @@ dialog::backdrop {
428
432
 
429
433
  position: relative;
430
434
  display: inline-block;
435
+ margin-bottom: calc(var(--btn-margin) - 0.25rem);
431
436
 
432
437
 
433
438
  > .btn:first-child {
439
+
440
+ margin-bottom: 0.25rem;
441
+
434
442
  &:after {
435
443
  content: "";
436
444
 
@@ -471,14 +479,32 @@ dialog::backdrop {
471
479
  z-index: var(--index-floating);
472
480
  min-width: rem(320);
473
481
  border-radius: rem(16);
474
- max-width: rem(600);
482
+ width: rem(319);
483
+ padding: rem(24);
484
+
485
+ @include media-breakpoint-up(sm) {
486
+ width: rem(335);
487
+ }
488
+ @include media-breakpoint-up(md) {
489
+ width: rem(360);
490
+ }
475
491
  }
476
492
 
477
493
  &.dialog__wrapper--right > dialog[open]{
478
494
 
479
495
  right: 0;
480
496
  left: auto;
481
- }
497
+ }
498
+
499
+ &.dialog__wrapper--sm > dialog[open] {
500
+
501
+ width: rem(239);
502
+ }
503
+
504
+ &.dialog__wrapper--lg > dialog[open] {
505
+
506
+ width: rem(319);
507
+ }
482
508
 
483
509
  @include media-breakpoint-up(sm) {
484
510
 
@@ -491,7 +517,13 @@ dialog::backdrop {
491
517
 
492
518
  right: 0;
493
519
  left: auto;
494
- }
520
+ }
521
+ &.dialog__wrapper--sm > dialog[open] {
522
+ width: rem(265);
523
+ }
524
+ &.dialog__wrapper--lg > dialog[open] {
525
+ width: rem(452);
526
+ }
495
527
  }
496
528
 
497
529
  @include media-breakpoint-up(md) {
@@ -505,7 +537,13 @@ dialog::backdrop {
505
537
 
506
538
  right: 0;
507
539
  left: auto;
508
- }
540
+ }
541
+ &.dialog__wrapper--sm > dialog[open] {
542
+ width: rem(266);
543
+ }
544
+ &.dialog__wrapper--lg > dialog[open] {
545
+ width: rem(454);
546
+ }
509
547
  }
510
548
  }
511
549
 
@@ -0,0 +1,195 @@
1
+ @use "../_func" as *;
2
+
3
+ :host,
4
+ .iam-notification {
5
+ display: block;
6
+ padding: rem(22) rem(24) rem(22) rem(24 - 8)!important;
7
+ border-radius: rem(8);
8
+ box-shadow: 2px 6px 12px rgba(0,0,0,0.2);
9
+ margin-bottom: 1rem;
10
+ font-size: rem(15);
11
+ border: rem(2) solid var(--colour,var(--colour-info));
12
+ background: #e9f9fd;
13
+ outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
14
+
15
+ ::slotted(i),
16
+ i {
17
+ color: var(--colour,currentColor);
18
+ }
19
+ }
20
+
21
+ :host([data-type]),
22
+ .iam-notification[data-type] {
23
+
24
+ border: rem(2) solid transparent;
25
+ }
26
+
27
+ :host(.colour-warning),
28
+ .iam-notification.colour-warning {
29
+
30
+ background: #FFF6E6;
31
+ }
32
+
33
+ :host(.colour-danger),
34
+ .iam-notification.colour-danger {
35
+
36
+ background: #fcebec;
37
+ }
38
+
39
+ :host(.colour-success),
40
+ .iam-notification.colour-success {
41
+
42
+ background: #f8fdf6;
43
+ }
44
+
45
+ :host(.bg-white),
46
+ .iam-notification.bg-white{
47
+
48
+ border: none;
49
+ border-left: rem(8) solid var(--colour-info);
50
+
51
+ ::slotted(i),
52
+ i {
53
+ color: var(--colour-info);
54
+ }
55
+ }
56
+
57
+ // Alerts
58
+ :host([data-type="alert"]),
59
+ .iam-notification[data-type="alert"] {
60
+ border-radius: 0;
61
+ position: fixed;
62
+ top: var(--nav-height);
63
+ left: 0;
64
+ right: 0;
65
+ z-index: calc(var(--index-menu) - 1);
66
+ margin-bottom: 0;
67
+ }
68
+
69
+ // Toasts
70
+ :host([data-type="toast"]),
71
+ .iam-notification[data-type="toast"] {
72
+
73
+ margin: auto;
74
+ display: block;
75
+
76
+ width: 100%;
77
+ max-width: rem(360);
78
+ }
79
+
80
+ :host([data-type="toast"].notification--dismissable) {
81
+
82
+ max-width: rem(454);
83
+ }
84
+
85
+ .notification {
86
+
87
+ container-type: inline-size;
88
+ max-width: rem(1112);
89
+ margin-inline: auto;
90
+ display: flex;
91
+ flex-wrap: nowrap;
92
+
93
+ @media screen and (prefers-color-scheme: light) {
94
+ color: var(--colour-heading);
95
+ }
96
+
97
+ .notification__icon {
98
+
99
+ margin-inline-end: rem(16);
100
+ flex-grow: 0;
101
+
102
+ ::slotted(i) {
103
+ font-size: rem(18);
104
+ }
105
+ }
106
+
107
+ .notification__inner {
108
+ display: flex;
109
+ flex-wrap: wrap;
110
+ flex-grow: 1;
111
+
112
+
113
+ @container (width > 23.4375em) {
114
+
115
+ flex-wrap: nowrap;
116
+ }
117
+ }
118
+
119
+ .notification__text {
120
+ flex-grow: 1;
121
+ flex-shrink: 1;
122
+ width: 100%;
123
+ }
124
+
125
+ .notification__btns {
126
+ flex-grow: 0;
127
+ flex-shrink: 0;
128
+ --colour-underline: currentColor;
129
+
130
+
131
+ ::slotted(a),
132
+ ::slotted(button),
133
+ > * {
134
+ margin: rem(16) rem(16) 0 0!important;
135
+ }
136
+
137
+ @container (width > 23.4375em) {
138
+
139
+ display: flex;
140
+ align-items: center;
141
+ border-left: 1px solid currentColor;
142
+ margin-left: rem(32);
143
+
144
+ ::slotted(a),
145
+ ::slotted(button),
146
+ > * {
147
+ margin: 0 0 0 rem(32)!important;
148
+ }
149
+ }
150
+ }
151
+
152
+ .notification__dismiss {
153
+ flex-grow: 0;
154
+ padding-left: 1rem;
155
+
156
+ button {
157
+ text-indent: 300%;
158
+ overflow: hidden;
159
+ border: none;
160
+ height: rem(18);
161
+ width: rem(18);
162
+ background: transparent;
163
+ display: inline-block;
164
+ position: relative;
165
+ color: inherit;
166
+
167
+ &:after {
168
+ content: "";
169
+ top: 0;
170
+ left: 0;
171
+ position: absolute;
172
+ display: block;
173
+ height: rem(18);
174
+ width: rem(18);
175
+ z-index: var(--index-focus);
176
+ background: currentColor;
177
+ mask-image: var(--icon-close);
178
+ mask-size: 100%;
179
+ mask-repeat: no-repeat;
180
+ mask-position: 50% 50%;
181
+ -webkit-mask-image: var(--icon-close);
182
+ -webkit-mask-size: 100%;
183
+ -webkit-mask-repeat: no-repeat;
184
+ -webkit-mask-position: 50% 50%;
185
+ }
186
+ }
187
+
188
+ @container (width > 23.4375em) {
189
+
190
+ padding-left: rem(32);
191
+ display: flex;
192
+ align-items: center;
193
+ }
194
+ }
195
+ }
@@ -151,13 +151,11 @@ table.border-0 {
151
151
  // #endregion
152
152
 
153
153
  // #region Tables are only stacked on mobile
154
- *:has(> iam-table){
155
- container-type: inline-size;
156
- }
154
+ *:has(> iam-table),
157
155
  *:has(> .iam-table){
158
156
  container-type: inline-size;
159
-
160
157
  }
158
+
161
159
  @container (width < 23.4375em) {
162
160
 
163
161
  .iam-table, iam-table {
@@ -510,12 +508,17 @@ table {
510
508
  [data-content="medium"],
511
509
  [data-content="high"],
512
510
  [data-content="unknown"],
511
+ [data-content="overdue"],
513
512
  [data-content="incomplete"],
514
513
  [data-content="requires approval"],
514
+ [data-content="approval required"],
515
+ [data-content="warning"],
515
516
  [data-content="verified"],
516
517
  [data-content="not started"],
518
+ [data-content="to do"],
517
519
  [data-content="completed"],
518
- .alert-status:not([data-content="0"])
520
+ [data-content="complete"],
521
+ .alert-status:not([data-content="0"]):not([data-content=""]):not(:empty)
519
522
  ) {
520
523
 
521
524
  position: relative;
@@ -566,31 +569,38 @@ table {
566
569
  color: var(--colour-muted);
567
570
  }
568
571
 
569
- :is([data-content="not started"],[data-content="incomplete"]):after {
572
+ :is([data-content="overdue"],[data-content="incomplete"]):after {
570
573
 
571
574
  content: "\f024";
572
575
  font-weight: light;
573
576
  color: var(--colour-danger);
574
577
  }
575
578
 
576
- [data-content="requires approval"]:after {
579
+ :is([data-content="not started"],[data-content="to do"]):after {
580
+
581
+ content: "\f024";
582
+ font-weight: light;
583
+ color: var(--colour-muted);
584
+ }
585
+
586
+ :is([data-content="requires approval"],[data-content="approval required"],[data-content="warning"]):after {
577
587
 
578
588
  content: "\f024";
579
589
  font-weight: light;
580
590
  color: var(--colour-warning);
581
591
  }
582
592
 
583
- :is([data-content="verified"],[data-content="completed"]):after {
593
+ :is([data-content="verified"],[data-content="completed"],[data-content="complete"]):after {
584
594
 
585
595
  content: "\f00c";
586
596
  font-weight: normal;
587
597
  color: var(--colour-complete);
588
598
  }
589
599
 
590
- .alert-status:not([data-content="0"]):not(:empty):after {
600
+ .alert-status:not([data-content="0"]):not([data-content=""]):not(:empty):after {
591
601
 
592
- content: "\f06a";
602
+ content: "\f0f3";
593
603
  font-weight: light;
594
- color: var(--colour-danger);
604
+ color: var(--colour-primary);
595
605
  }
596
- }
606
+ }
@@ -1,85 +1,173 @@
1
1
  @use "../_func.scss" as *;
2
2
 
3
- :is(abbr[title], .tooltip) {
4
3
 
5
- text-decoration: underline;
6
- text-underline-offset: 0.2em;
7
- text-decoration-thickness: 2px;
8
- text-decoration-style: dashed;
9
- text-decoration-color: var(--colour-underline);
10
- position: relative;
11
- cursor: help;
4
+ @mixin tooltip(){
12
5
 
13
- &:is(:hover, :focus, :active){
6
+ display: block;
7
+ z-index: var(--index-floating);
8
+ position: absolute;
9
+ top: calc(100% + 0.5rem);
10
+ left: auto;
11
+ right: 0.85em;
12
+ width: #{rem(270)};
13
+ transform: translate(50%,0);
14
+ background: var(--colour-primary);
15
+ color: var(--colour-white);
16
+ padding: rem(24);
17
+ border-radius: 0.5rem;
18
+ box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.11);
19
+
20
+ > strong:first-child {
21
+ display: block;
22
+ padding-bottom: 1rem;
23
+ }
14
24
 
15
- text-decoration: none;
25
+ @include media-breakpoint-up(sm) {
26
+
27
+ width: #{rem(335)};
16
28
  }
17
- }
29
+
30
+ @include media-breakpoint-up(md) {
18
31
 
19
- @mixin tooltip(){
32
+ width: #{rem(360)};
33
+ }
34
+
35
+ &::after {
36
+ content: "";
37
+ position: absolute;
38
+ bottom: 100%;
39
+ left: 50%;
40
+ margin-left: -0.25rem;
41
+ border-width: 0.5rem;
42
+ border-style: solid;
43
+ border-color: transparent transparent var(--colour-primary) transparent;
44
+ margin-bottom: -1px;
45
+ }
20
46
 
21
- display: block;
22
- z-index: var(--index-above);
23
- position: absolute;
24
- top: calc(100% + 0.25rem);
25
- left: 50%;
26
- min-width: max(120%, #{rem(100)});
27
- transform: translate(-50%,0);
28
- background: var(--colour-canvas-2);
29
- color: inherit;
30
- padding: 0.5em;
31
- border-radius: 3px;
32
- box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3);
33
47
  }
34
48
 
35
- .tooltip {
36
49
 
37
50
 
51
+ :is(abbr[title], .tooltip) {
52
+
53
+ text-decoration: none;
54
+ position: relative;
55
+
56
+ &:is(:hover, :focus, :active){
57
+
58
+ text-decoration: none;
59
+ }
60
+
38
61
  &:after{
39
62
 
40
- content: "";
63
+ font-family: "Font Awesome 6 Pro";
64
+ font-weight: 900;
65
+ content: "\f059";
41
66
  display: inline-block;
42
- margin-left: 0.1em;
67
+ margin-left: 0.2em;
68
+ margin-right: 0.1em;
43
69
  margin-bottom: 0.1em;
44
- width: 0.8em;
45
- height: 0.9em;
46
- vertical-align: text-bottom;
47
- background: currentColor;
48
- mask-image: var(--icon-question);
49
- mask-size: 100%;
50
- mask-repeat: no-repeat;
51
- mask-position: 50% 50%;
52
- -webkit-mask-image: var(--icon-question);
53
- -webkit-mask-size: 100%;
54
- -webkit-mask-repeat: no-repeat;
55
- -webkit-mask-position: 50% 50%;
70
+ color: var(--colour-primary);
71
+
56
72
  }
57
73
 
58
- .tooltip__content {
74
+ > span {
59
75
 
60
76
  opacity: 0;
61
77
  position: absolute;
62
78
 
63
79
  }
64
80
 
65
- &:is(:hover, :focus, :active){
81
+ &:is(:hover, .hover, :focus, :active){
66
82
 
67
- .tooltip__content {
83
+ > span {
68
84
 
69
85
  opacity: 1;
70
86
  @include tooltip();
71
87
  }
72
88
  }
73
- }
74
89
 
75
- @media (hover: none) {
90
+ &.tooltip--top span{
91
+
92
+ top: auto;
93
+ bottom: calc(100% + 0.5rem);
94
+ left: auto;
95
+ right: 0.85em;
96
+
97
+ &:after {
98
+
99
+ top: 100%;
100
+ bottom: auto;
101
+ left: 50%;
102
+ border-color: var(--colour-primary) transparent transparent transparent;
103
+ margin-top: -1px;
104
+ }
105
+ }
106
+
107
+
108
+ &.shift--left span{
109
+ transform: translate(calc(0% + 1.5rem), 0);
110
+
111
+ &:after {
112
+ left: calc(100% - 1.5rem);
113
+ }
114
+ }
115
+ &.shift--right span{
116
+ transform: translate(calc(100% - 1rem), 0);
117
+
118
+ &:after {
119
+ left: 1rem;
120
+ }
121
+ }
122
+
76
123
 
77
- :is(abbr[title], .tooltip[title]) {
124
+ @include media-breakpoint-up(sm) {
78
125
 
79
- &:is(:hover, :focus, :active):before{
126
+ &:is(.shift--left,.shift--right) span{
127
+ transform: translate(50%, 0);
128
+
129
+ &:after {
130
+ left: 50%
131
+ }
132
+ }
133
+
134
+ &.tooltip--left span{
80
135
 
81
- content: attr(title);
82
- @include tooltip();
136
+ top: 50%;
137
+ bottom: auto;
138
+ left: auto;
139
+ right: 1.6em;
140
+
141
+ transform: translate(0,-50%);
142
+
143
+ &:after {
144
+
145
+ top: calc(50% - 0.5em);
146
+ bottom: auto;
147
+ left: calc(100% + 0.25em - 1px);
148
+ border-color: transparent transparent transparent var(--colour-primary);
149
+ margin-bottom: 0;
150
+ }
151
+ }
152
+ &.tooltip--right span{
153
+
154
+ top: 50%;
155
+ bottom: auto;
156
+ left: calc(100% + 0.5rem);
157
+ right: auto;
158
+
159
+ transform: translate(0,-50%);
160
+
161
+ &:after {
162
+
163
+ top: calc(50% - 0.5em);
164
+ bottom: auto;
165
+ left: auto;
166
+ right: calc(100% - 1px);
167
+ border-color: transparent var(--colour-primary) transparent transparent;
168
+ margin-bottom: 0;
169
+ }
83
170
  }
171
+
84
172
  }
85
- }
173
+ }
@@ -21,7 +21,7 @@
21
21
  }
22
22
 
23
23
  display: inline-block;
24
- font-weight: bold;
24
+ font-weight: bold!important;
25
25
  text-align: left;
26
26
  text-decoration: none;
27
27
  vertical-align: middle;