@iamproperty/components 2.7.9 → 3.0.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.
Files changed (172) hide show
  1. package/README.md +16 -137
  2. package/assets/css/core.min.css +1 -1
  3. package/assets/css/core.min.css.map +1 -1
  4. package/assets/css/email.min.css +1 -1
  5. package/assets/css/email.min.css.map +1 -1
  6. package/assets/css/error.min.css +1 -1
  7. package/assets/css/error.min.css.map +1 -1
  8. package/assets/css/style.min.css +1 -1
  9. package/assets/css/style.min.css.map +1 -1
  10. package/assets/favicons/manifest.json +32 -0
  11. package/assets/js/main.js +57 -78
  12. package/assets/js/modules/accordion.js +32 -36
  13. package/assets/js/modules/alert.js +56 -56
  14. package/assets/js/modules/carousel.js +101 -101
  15. package/assets/js/modules/chart.js +218 -217
  16. package/assets/js/modules/drawer.js +15 -15
  17. package/assets/js/modules/form.js +158 -158
  18. package/assets/js/modules/helpers.js +119 -119
  19. package/assets/js/modules/modal.js +89 -89
  20. package/assets/js/modules/nav.js +28 -27
  21. package/assets/js/modules/table.js +585 -585
  22. package/assets/js/modules/testimonial.js +82 -82
  23. package/assets/js/modules/youtubevideo.js +145 -145
  24. package/assets/js/scripts.bundle.js +174 -102
  25. package/assets/js/scripts.bundle.js.map +1 -1
  26. package/assets/js/scripts.bundle.min.js +2 -2
  27. package/assets/js/scripts.bundle.min.js.map +1 -1
  28. package/assets/sass/_components.scss +14 -14
  29. package/assets/sass/_corefiles.scss +40 -40
  30. package/assets/sass/_fonts.scss +16 -16
  31. package/assets/sass/_forms.scss +9 -9
  32. package/assets/sass/_func.scss +12 -10
  33. package/assets/sass/_functions/functions.scss +141 -141
  34. package/assets/sass/_functions/mixins.scss +170 -170
  35. package/assets/sass/_functions/utilities.scss +250 -250
  36. package/assets/sass/_functions/variables.scss +467 -462
  37. package/assets/sass/_print.scss +61 -61
  38. package/assets/sass/_tests/colours.spec.scss +45 -0
  39. package/assets/sass/_tests/func.spec.scss +233 -0
  40. package/assets/sass/_tests/mixins.spec.scss +194 -0
  41. package/assets/sass/_tests/sass.spec.js +9 -0
  42. package/assets/sass/_tests/typography.spec.scss +36 -0
  43. package/assets/sass/components/accordion.scss +197 -197
  44. package/assets/sass/components/alert.scss +98 -98
  45. package/assets/sass/components/cardDeck.scss +107 -107
  46. package/assets/sass/components/carousel.scss +234 -234
  47. package/assets/sass/components/charts.scss +569 -569
  48. package/assets/sass/components/drawer.scss +46 -46
  49. package/assets/sass/components/header.scss +63 -63
  50. package/assets/sass/components/modal.scss +136 -136
  51. package/assets/sass/components/nav.scss +919 -820
  52. package/assets/sass/components/property-searchbar.scss +143 -143
  53. package/assets/sass/components/snapshot.scss +70 -70
  54. package/assets/sass/components/stepper.scss +164 -164
  55. package/assets/sass/components/tabs.scss +87 -87
  56. package/assets/sass/components/testimonial.scss +132 -132
  57. package/assets/sass/components/timeline.scss +95 -95
  58. package/assets/sass/core.scss +6 -6
  59. package/assets/sass/elements/buttons.scss +209 -209
  60. package/assets/sass/elements/card.scss +177 -177
  61. package/assets/sass/elements/container.scss +225 -225
  62. package/assets/sass/elements/forms.scss +194 -194
  63. package/assets/sass/elements/links.scss +96 -96
  64. package/assets/sass/elements/lists.scss +112 -112
  65. package/assets/sass/elements/panel.scss +161 -161
  66. package/assets/sass/elements/tables.scss +290 -290
  67. package/assets/sass/elements/tooltips.scss +84 -84
  68. package/assets/sass/elements/type.scss +136 -136
  69. package/assets/sass/email.scss +65 -65
  70. package/assets/sass/error.scss +4 -4
  71. package/assets/sass/foundations/brand.scss +72 -72
  72. package/assets/sass/foundations/circles.scss +74 -74
  73. package/assets/sass/foundations/icons.scss +72 -72
  74. package/assets/sass/foundations/media.scss +50 -50
  75. package/assets/sass/foundations/reboot.scss +130 -130
  76. package/assets/sass/foundations/root.scss +106 -104
  77. package/assets/sass/main.scss +7 -7
  78. package/assets/svg/icons.svg +598 -588
  79. package/assets/svg/logo.svg +42 -42
  80. package/assets/ts/main.js +57 -0
  81. package/assets/ts/main.js.map +1 -0
  82. package/assets/ts/main.ts +68 -0
  83. package/assets/ts/modules/accordion.js +33 -0
  84. package/assets/ts/modules/accordion.js.map +1 -0
  85. package/assets/ts/modules/accordion.ts +43 -0
  86. package/dist/components.es.js +2504 -0
  87. package/dist/components.umd.js +56 -3760
  88. package/dist/style.css +1 -0
  89. package/package.json +108 -103
  90. package/src/components/Accordion/Accordion.screenshot.vue +57 -0
  91. package/src/components/Accordion/Accordion.spec.js +63 -0
  92. package/src/components/Accordion/Accordion.vue +22 -22
  93. package/src/components/Accordion/AccordionItem.vue +52 -52
  94. package/src/components/Accordion/README.md +34 -34
  95. package/src/components/Accordion/__screenshots__/win32/laptop/Accordion.png +0 -0
  96. package/src/components/Accordion/__screenshots__/win32/mobile/Accordion.png +0 -0
  97. package/src/components/Accordion/__screenshots__/win32/tablet/Accordion.png +0 -0
  98. package/src/components/Alert/Alert.spec.js +49 -0
  99. package/src/components/Alert/Alert.vue +39 -39
  100. package/src/components/Alert/README.md +28 -28
  101. package/src/components/Banner/Banner.spec.js +28 -0
  102. package/src/components/Banner/Banner.vue +38 -38
  103. package/src/components/Banner/README.md +23 -23
  104. package/src/components/CardDeck/CardDeck.spec.js +99 -0
  105. package/src/components/CardDeck/CardDeck.vue +77 -77
  106. package/src/components/CardDeck/README.md +24 -24
  107. package/src/components/Carousel/Carousel.spec.js +45 -0
  108. package/src/components/Carousel/Carousel.vue +85 -85
  109. package/src/components/Carousel/README.md +19 -19
  110. package/src/components/Chart/Chart.spec.js +201 -0
  111. package/src/components/Chart/Chart.vue +88 -88
  112. package/src/components/Chart/README.md +17 -17
  113. package/src/components/Drawer/Drawer.vue +53 -53
  114. package/src/components/Drawer/README.md +22 -22
  115. package/src/components/Header/Header.spec.js +33 -0
  116. package/src/components/Header/Header.vue +38 -38
  117. package/src/components/Header/README.md +27 -27
  118. package/src/components/Modal/Modal.spec.js +22 -0
  119. package/src/components/Modal/Modal.vue +43 -43
  120. package/src/components/Modal/README.md +19 -19
  121. package/src/components/Nav/Nav.spec.js +35 -0
  122. package/src/components/Nav/Nav.vue +215 -189
  123. package/src/components/Nav/README.md +22 -22
  124. package/src/components/NoteFeed/NoteFeed.vue +79 -79
  125. package/src/components/NoteFeed/README.md +16 -16
  126. package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
  127. package/src/components/PropertySearchbar/README.md +25 -25
  128. package/src/components/Snapshot/README.md +20 -20
  129. package/src/components/Snapshot/Snapshot.vue +32 -32
  130. package/src/components/Stepper/README.md +32 -32
  131. package/src/components/Stepper/Step.vue +28 -28
  132. package/src/components/Stepper/Stepper.spec.js +99 -0
  133. package/src/components/Stepper/Stepper.vue +33 -33
  134. package/src/components/Tabs/README.md +27 -27
  135. package/src/components/Tabs/Tab.vue +32 -26
  136. package/src/components/Tabs/Tabs.vue +77 -75
  137. package/src/components/Testimonial/README.md +25 -25
  138. package/src/components/Testimonial/Testimonial.spec.js +57 -0
  139. package/src/components/Testimonial/Testimonial.vue +60 -60
  140. package/src/components/Timeline/README.md +18 -18
  141. package/src/components/Timeline/Timeline.spec.js +17 -0
  142. package/src/components/Timeline/Timeline.vue +24 -24
  143. package/src/elements/Card/Card.vue +113 -113
  144. package/src/elements/Card/README.md +24 -24
  145. package/src/elements/FileUploads/FileUploads.vue +48 -48
  146. package/src/elements/FileUploads/README.md +24 -24
  147. package/src/elements/Input/Input.vue +268 -268
  148. package/src/elements/Input/README.md +19 -19
  149. package/src/elements/Table/README.md +62 -62
  150. package/src/elements/Table/Table.spec.js +90 -0
  151. package/src/elements/Table/Table.vue +129 -129
  152. package/src/foundations/Icon/Icon.spec.js +24 -0
  153. package/src/foundations/Icon/Icon.vue +24 -24
  154. package/src/foundations/Icon/README.md +11 -11
  155. package/src/foundations/Logo/Logo.spec.js +56 -0
  156. package/src/foundations/Logo/Logo.vue +39 -39
  157. package/src/foundations/Logo/README.md +20 -20
  158. package/src/foundations/YoutubeVideo/README.md +11 -11
  159. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
  160. package/src/helpers/strings.js +12 -12
  161. package/src/index.js +27 -27
  162. package/src/vue-shim.d.ts +6 -0
  163. package/assets/.DS_Store +0 -0
  164. package/dist/components.common.js +0 -3749
  165. package/dist/components.common.js.map +0 -1
  166. package/dist/components.css +0 -2
  167. package/dist/components.css.map +0 -1
  168. package/dist/components.umd.js.map +0 -1
  169. package/dist/components.umd.min.js +0 -2
  170. package/dist/components.umd.min.js.map +0 -1
  171. package/dist/demo.html +0 -1
  172. package/src/.DS_Store +0 -0
@@ -1,194 +1,194 @@
1
- .form-control__wrapper {
2
- margin-bottom: 1.5rem;
3
- max-width: $content-max-width;
4
- position: relative;
5
-
6
- label {
7
- display: block;
8
-
9
- &[title]:after{
10
-
11
- content: "";
12
- display: inline-block;
13
- margin-left: 0.25em;
14
- margin-bottom: 0.1em;
15
- width: 1em;
16
- height: 1em;
17
- vertical-align: text-bottom;
18
- background: currentColor;
19
- mask-image: var(--icon-question);
20
- mask-size: 100%;
21
- mask-repeat: no-repeat;
22
- mask-position: 50% 50%;
23
- -webkit-mask-image: var(--icon-question);
24
- -webkit-mask-size: 100%;
25
- -webkit-mask-repeat: no-repeat;
26
- -webkit-mask-position: 50% 50%;
27
- }
28
- }
29
- }
30
-
31
-
32
- .form-control-inline {
33
- display: flex;
34
- align-items: center;
35
-
36
- label {
37
- white-space: nowrap;
38
- padding-right: 1rem;
39
- }
40
- }
41
-
42
- .form-control-color {
43
- width: $form-color-width;
44
- height: $form-color-width; // Override fixed browser height
45
- overflow: hidden;
46
- padding: 0;
47
-
48
- .input-group > & {
49
-
50
- flex: 0 0 3rem;
51
- }
52
-
53
- &::-moz-color-swatch {
54
- height: $form-color-width;
55
- border-radius: 0;
56
- border: none;
57
- }
58
-
59
- &::-webkit-color-swatch {
60
- height: $form-color-width;
61
- border-radius: 0;
62
- border: none;
63
- }
64
- }
65
-
66
-
67
- .input-group {
68
- .form-range {
69
- flex: 1 1 0;
70
- height: auto;
71
- margin-right: 1rem;
72
- }
73
- }
74
-
75
- // #region checkbox
76
- .form-check {
77
-
78
- input,
79
- label {
80
- cursor: pointer;
81
- }
82
-
83
- input:not([disabled]) + label:hover,
84
- input:not([disabled]):hover + label,
85
- input:not([disabled]):focus + label {
86
-
87
- color: var(--colour-hover);
88
- border-color: var(--colour-hover);
89
- }
90
- }
91
- .form-check + .form-check {
92
- margin-top: -0.5rem;
93
- }
94
-
95
- .form-check-label {
96
- float: left;
97
- }
98
-
99
- .form-check-label + .form-check-input {
100
-
101
- margin-left: 1rem;
102
- margin-right: 0.5rem;
103
- }
104
-
105
- // #endregion
106
-
107
- // #region Conditional reveal
108
- .conditional {
109
- display: none;
110
- }
111
-
112
- input:checked + .conditional,
113
- input:checked + label + .conditional {
114
- display: block;
115
- clear: both;
116
- }
117
-
118
- input:not([class*="conditional-input-"]):nth-of-type(1):checked ~ .conditional-1,
119
- input:not([class*="conditional-input-"]):nth-of-type(2):checked ~ .conditional-2,
120
- input:not([class*="conditional-input-"]):nth-of-type(3):checked ~ .conditional-3,
121
- input:not([class*="conditional-input-"]):nth-of-type(4):checked ~ .conditional-4,
122
- input:not([class*="conditional-input-"]):nth-of-type(5):checked ~ .conditional-5,
123
- input.conditional-input-1:checked ~ .conditional-1,
124
- input.conditional-input-2:checked ~ .conditional-2,
125
- input.conditional-input-3:checked ~ .conditional-3,
126
- input.conditional-input-4:checked ~ .conditional-4,
127
- input.conditional-input-5:checked ~ .conditional-5 {
128
- display: block;
129
- clear: both;
130
- }
131
- // #endregion
132
-
133
- // #region Multi-select
134
- select[multiple] {
135
- border-radius: 0.35rem;
136
- }
137
- select[multiple]::-webkit-scrollbar {
138
- width: 0.7rem; // manage scrollbar width here
139
- }
140
- select[multiple]::-webkit-scrollbar * {
141
- background-color:transparent; // manage scrollbar background color here
142
- }
143
- select[multiple]::-webkit-scrollbar-thumb {
144
- background-color: rgba(0, 0, 0, 0.2);
145
- //background-color:#000000!important; // manage scrollbar thumb background color here
146
- border-radius: 0.35rem;
147
- }
148
- // #endregion
149
-
150
- // #region prefix
151
-
152
- .form-control__wrapper :is(.prefix,.suffix) {
153
-
154
- color: #212529;
155
- background: #e9ecef;
156
- padding: 0.75em 1em;
157
- font-size: 1rem;
158
- font-weight: normal;
159
- line-height: 1.5;
160
- position: absolute;
161
- bottom: 1px;
162
- }
163
-
164
- .form-control__wrapper .prefix {
165
-
166
- border-top-left-radius: 0.625rem;
167
- border-bottom-left-radius: 0.625rem;
168
- left: 1px;
169
- }
170
-
171
- .form-control__wrapper :is(.prefix-sm,.suffix-sm) {
172
-
173
- font-size: var(--fs-small);
174
- }
175
- .form-control__wrapper :is(.prefix-lg,.suffix-lg) {
176
-
177
- font-size: 1.5rem;
178
- }
179
-
180
- .form-control__wrapper .prefix + .form-control {
181
- padding-left: em(64);
182
- }
183
- .form-control__wrapper .suffix + .form-control {
184
- padding-right: em(64);
185
- }
186
-
187
- .form-control__wrapper .suffix {
188
- left: auto;
189
- right: 1px;
190
- border-top-right-radius: 0.625rem;
191
- border-bottom-right-radius: 0.625rem;
192
- }
193
-
194
- // #endregion
1
+ .form-control__wrapper {
2
+ margin-bottom: 1.5rem;
3
+ max-width: $content-max-width;
4
+ position: relative;
5
+
6
+ label {
7
+ display: block;
8
+
9
+ &[title]:after{
10
+
11
+ content: "";
12
+ display: inline-block;
13
+ margin-left: 0.25em;
14
+ margin-bottom: 0.1em;
15
+ width: 1em;
16
+ height: 1em;
17
+ vertical-align: text-bottom;
18
+ background: currentColor;
19
+ mask-image: var(--icon-question);
20
+ mask-size: 100%;
21
+ mask-repeat: no-repeat;
22
+ mask-position: 50% 50%;
23
+ -webkit-mask-image: var(--icon-question);
24
+ -webkit-mask-size: 100%;
25
+ -webkit-mask-repeat: no-repeat;
26
+ -webkit-mask-position: 50% 50%;
27
+ }
28
+ }
29
+ }
30
+
31
+
32
+ .form-control-inline {
33
+ display: flex;
34
+ align-items: center;
35
+
36
+ label {
37
+ white-space: nowrap;
38
+ padding-right: 1rem;
39
+ }
40
+ }
41
+
42
+ .form-control-color {
43
+ width: $form-color-width;
44
+ height: $form-color-width; // Override fixed browser height
45
+ overflow: hidden;
46
+ padding: 0;
47
+
48
+ .input-group > & {
49
+
50
+ flex: 0 0 3rem;
51
+ }
52
+
53
+ &::-moz-color-swatch {
54
+ height: $form-color-width;
55
+ border-radius: 0;
56
+ border: none;
57
+ }
58
+
59
+ &::-webkit-color-swatch {
60
+ height: $form-color-width;
61
+ border-radius: 0;
62
+ border: none;
63
+ }
64
+ }
65
+
66
+
67
+ .input-group {
68
+ .form-range {
69
+ flex: 1 1 0;
70
+ height: auto;
71
+ margin-right: 1rem;
72
+ }
73
+ }
74
+
75
+ // #region checkbox
76
+ .form-check {
77
+
78
+ input,
79
+ label {
80
+ cursor: pointer;
81
+ }
82
+
83
+ input:not([disabled]) + label:hover,
84
+ input:not([disabled]):hover + label,
85
+ input:not([disabled]):focus + label {
86
+
87
+ color: var(--colour-hover);
88
+ border-color: var(--colour-hover);
89
+ }
90
+ }
91
+ .form-check + .form-check {
92
+ margin-top: -0.5rem;
93
+ }
94
+
95
+ .form-check-label {
96
+ float: left;
97
+ }
98
+
99
+ .form-check-label + .form-check-input {
100
+
101
+ margin-left: 1rem;
102
+ margin-right: 0.5rem;
103
+ }
104
+
105
+ // #endregion
106
+
107
+ // #region Conditional reveal
108
+ .conditional {
109
+ display: none;
110
+ }
111
+
112
+ input:checked + .conditional,
113
+ input:checked + label + .conditional {
114
+ display: block;
115
+ clear: both;
116
+ }
117
+
118
+ input:not([class*="conditional-input-"]):nth-of-type(1):checked ~ .conditional-1,
119
+ input:not([class*="conditional-input-"]):nth-of-type(2):checked ~ .conditional-2,
120
+ input:not([class*="conditional-input-"]):nth-of-type(3):checked ~ .conditional-3,
121
+ input:not([class*="conditional-input-"]):nth-of-type(4):checked ~ .conditional-4,
122
+ input:not([class*="conditional-input-"]):nth-of-type(5):checked ~ .conditional-5,
123
+ input.conditional-input-1:checked ~ .conditional-1,
124
+ input.conditional-input-2:checked ~ .conditional-2,
125
+ input.conditional-input-3:checked ~ .conditional-3,
126
+ input.conditional-input-4:checked ~ .conditional-4,
127
+ input.conditional-input-5:checked ~ .conditional-5 {
128
+ display: block;
129
+ clear: both;
130
+ }
131
+ // #endregion
132
+
133
+ // #region Multi-select
134
+ select[multiple] {
135
+ border-radius: 0.35rem;
136
+ }
137
+ select[multiple]::-webkit-scrollbar {
138
+ width: 0.7rem; // manage scrollbar width here
139
+ }
140
+ select[multiple]::-webkit-scrollbar * {
141
+ background-color:transparent; // manage scrollbar background color here
142
+ }
143
+ select[multiple]::-webkit-scrollbar-thumb {
144
+ background-color: rgba(0, 0, 0, 0.2);
145
+ //background-color:#000000!important; // manage scrollbar thumb background color here
146
+ border-radius: 0.35rem;
147
+ }
148
+ // #endregion
149
+
150
+ // #region prefix
151
+
152
+ .form-control__wrapper :is(.prefix,.suffix) {
153
+
154
+ color: #212529;
155
+ background: #e9ecef;
156
+ padding: 0.75em 1em;
157
+ font-size: 1rem;
158
+ font-weight: normal;
159
+ line-height: 1.5;
160
+ position: absolute;
161
+ bottom: 1px;
162
+ }
163
+
164
+ .form-control__wrapper .prefix {
165
+
166
+ border-top-left-radius: 0.625rem;
167
+ border-bottom-left-radius: 0.625rem;
168
+ left: 1px;
169
+ }
170
+
171
+ .form-control__wrapper :is(.prefix-sm,.suffix-sm) {
172
+
173
+ font-size: var(--fs-small);
174
+ }
175
+ .form-control__wrapper :is(.prefix-lg,.suffix-lg) {
176
+
177
+ font-size: 1.5rem;
178
+ }
179
+
180
+ .form-control__wrapper .prefix + .form-control {
181
+ padding-left: em(64);
182
+ }
183
+ .form-control__wrapper .suffix + .form-control {
184
+ padding-right: em(64);
185
+ }
186
+
187
+ .form-control__wrapper .suffix {
188
+ left: auto;
189
+ right: 1px;
190
+ border-top-right-radius: 0.625rem;
191
+ border-bottom-right-radius: 0.625rem;
192
+ }
193
+
194
+ // #endregion
@@ -1,97 +1,97 @@
1
- @use "../_func.scss" as *;
2
-
3
- a,
4
- .link {
5
- @include var (color, --colour-link);
6
- display: inline-block;
7
- min-height: em(28);
8
- margin-bottom: rem(16);
9
- position: relative;
10
- text-decoration: none;
11
-
12
- &:not(.text-decoration-none):not(.btn):before {
13
- content: '';
14
- position: absolute;
15
- left: 50%;
16
- bottom: 0;
17
- width: 100%;
18
- height: 3px;
19
- @include var(background-color,--colour-underline);
20
- -webkit-transform: translateX(-50%);
21
- -ms-transform: translateX(-50%);
22
- transform: translateX(-50%);
23
- -webkit-transition: .3s ease-in;
24
- transition: .3s ease-in;
25
- }
26
-
27
- &:not(.text-decoration-none):not(.btn):hover:before,
28
- .card:hover &:before,
29
- details[open] &:not(.text-decoration-none):not(.btn):before {
30
- width: 0%;
31
- }
32
-
33
- &:hover,
34
- &:focus,
35
- .card:hover &,
36
- .card:focus & {
37
- @include var (color, --colour-hover);
38
- }
39
-
40
- &:active,
41
- &.active,
42
- .card:active & {
43
- @include var (color, --colour-active);
44
- }
45
-
46
- &[target="_blank"]:after {
47
-
48
- content: "";
49
- height: 1em;
50
- width: 1em;
51
- margin-left: 0.5em;
52
- margin-right: -0.2em;
53
- display: inline-block;
54
- vertical-align: baseline;
55
- margin-bottom: -0.15em;
56
-
57
- mask-image: var(--icon-blank);
58
- mask-size: 100% 100%;
59
- mask-repeat: no-repeat;
60
- mask-position: 0 0;
61
-
62
- -webkit-mask-image: var(--icon-blank);
63
- -webkit-mask-size: 100% 100%;
64
- -webkit-mask-repeat: no-repeat;
65
- -webkit-mask-position: 0 0;
66
- background-color: currentColor;
67
- }
68
-
69
- }
70
- @include inline-text(){
71
- a {
72
- min-height: none;
73
- display: inline;
74
- margin-bottom: 0;
75
- text-decoration: underline;
76
- text-underline-offset: 0.2em;
77
- text-decoration-thickness: 2px;
78
- text-decoration-color: var(--colour-underline);
79
-
80
- &:hover,
81
- &:focus,
82
- &:active{
83
-
84
- text-decoration: none;
85
- }
86
-
87
- &:before {
88
-
89
- display: none;
90
- }
91
-
92
- &[target="_blank"]:after {
93
- margin-left: 0.25em;
94
- margin-right: 0.2em;
95
- }
96
- }
1
+ @use "../_func.scss" as *;
2
+
3
+ a,
4
+ .link {
5
+ @include var (color, --colour-link);
6
+ display: inline-block;
7
+ min-height: em(28);
8
+ margin-bottom: rem(16);
9
+ position: relative;
10
+ text-decoration: none;
11
+
12
+ &:not(.text-decoration-none):not(.btn):before {
13
+ content: '';
14
+ position: absolute;
15
+ left: 50%;
16
+ bottom: 0;
17
+ width: 100%;
18
+ height: 2px;
19
+ @include var(background-color,--colour-underline);
20
+ -webkit-transform: translateX(-50%);
21
+ -ms-transform: translateX(-50%);
22
+ transform: translateX(-50%);
23
+ -webkit-transition: .3s ease-in;
24
+ transition: .3s ease-in;
25
+ }
26
+
27
+ &:not(.text-decoration-none):not(.btn):hover:before,
28
+ .card:hover &:before,
29
+ details[open] &:not(.text-decoration-none):not(.btn):before {
30
+ width: 0%;
31
+ }
32
+
33
+ &:hover,
34
+ &:focus,
35
+ .card:hover &,
36
+ .card:focus & {
37
+ @include var (color, --colour-hover);
38
+ }
39
+
40
+ &:active,
41
+ &.active,
42
+ .card:active & {
43
+ @include var (color, --colour-active);
44
+ }
45
+
46
+ &[target="_blank"]:after {
47
+
48
+ content: "";
49
+ height: 1em;
50
+ width: 1em;
51
+ margin-left: 0.5em;
52
+ margin-right: -0.2em;
53
+ display: inline-block;
54
+ vertical-align: baseline;
55
+ margin-bottom: -0.15em;
56
+
57
+ mask-image: var(--icon-blank);
58
+ mask-size: 100% 100%;
59
+ mask-repeat: no-repeat;
60
+ mask-position: 0 0;
61
+
62
+ -webkit-mask-image: var(--icon-blank);
63
+ -webkit-mask-size: 100% 100%;
64
+ -webkit-mask-repeat: no-repeat;
65
+ -webkit-mask-position: 0 0;
66
+ background-color: currentColor;
67
+ }
68
+
69
+ }
70
+ @include inline-text(){
71
+ a {
72
+ min-height: none;
73
+ display: inline;
74
+ margin-bottom: 0;
75
+ text-decoration: underline;
76
+ text-underline-offset: 0.2em;
77
+ text-decoration-thickness: 2px;
78
+ text-decoration-color: var(--colour-underline);
79
+
80
+ &:hover,
81
+ &:focus,
82
+ &:active{
83
+
84
+ text-decoration: none;
85
+ }
86
+
87
+ &:before {
88
+
89
+ display: none;
90
+ }
91
+
92
+ &[target="_blank"]:after {
93
+ margin-left: 0.25em;
94
+ margin-right: 0.2em;
95
+ }
96
+ }
97
97
  }