@iamproperty/components 3.4.7 → 3.5.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 (210) hide show
  1. package/assets/bootstrap/LICENSE +22 -0
  2. package/assets/bootstrap/README.md +246 -0
  3. package/assets/bootstrap/js/src/alert.js +87 -0
  4. package/assets/bootstrap/js/src/base-component.js +85 -0
  5. package/assets/bootstrap/js/src/button.js +72 -0
  6. package/assets/bootstrap/js/src/carousel.js +475 -0
  7. package/assets/bootstrap/js/src/collapse.js +302 -0
  8. package/assets/bootstrap/js/src/dom/data.js +55 -0
  9. package/assets/bootstrap/js/src/dom/event-handler.js +320 -0
  10. package/assets/bootstrap/js/src/dom/manipulator.js +71 -0
  11. package/assets/bootstrap/js/src/dom/selector-engine.js +83 -0
  12. package/assets/bootstrap/js/src/dropdown.js +454 -0
  13. package/assets/bootstrap/js/src/modal.js +377 -0
  14. package/assets/bootstrap/js/src/offcanvas.js +283 -0
  15. package/assets/bootstrap/js/src/popover.js +97 -0
  16. package/assets/bootstrap/js/src/scrollspy.js +294 -0
  17. package/assets/bootstrap/js/src/tab.js +305 -0
  18. package/assets/bootstrap/js/src/toast.js +225 -0
  19. package/assets/bootstrap/js/src/tooltip.js +633 -0
  20. package/assets/bootstrap/js/src/util/backdrop.js +149 -0
  21. package/assets/bootstrap/js/src/util/component-functions.js +34 -0
  22. package/assets/bootstrap/js/src/util/config.js +66 -0
  23. package/assets/bootstrap/js/src/util/focustrap.js +115 -0
  24. package/assets/bootstrap/js/src/util/index.js +336 -0
  25. package/assets/bootstrap/js/src/util/sanitizer.js +118 -0
  26. package/assets/bootstrap/js/src/util/scrollbar.js +114 -0
  27. package/assets/bootstrap/js/src/util/swipe.js +146 -0
  28. package/assets/bootstrap/js/src/util/template-factory.js +160 -0
  29. package/assets/bootstrap/package.json +181 -0
  30. package/assets/bootstrap/scss/_accordion.scss +149 -0
  31. package/assets/bootstrap/scss/_alert.scss +71 -0
  32. package/assets/bootstrap/scss/_badge.scss +38 -0
  33. package/assets/bootstrap/scss/_breadcrumb.scss +40 -0
  34. package/assets/bootstrap/scss/_button-group.scss +142 -0
  35. package/assets/bootstrap/scss/_buttons.scss +207 -0
  36. package/assets/bootstrap/scss/_card.scss +234 -0
  37. package/assets/bootstrap/scss/_carousel.scss +226 -0
  38. package/assets/bootstrap/scss/_close.scss +40 -0
  39. package/assets/bootstrap/scss/_containers.scss +41 -0
  40. package/assets/bootstrap/scss/_dropdown.scss +249 -0
  41. package/assets/bootstrap/scss/_forms.scss +9 -0
  42. package/assets/bootstrap/scss/_functions.scss +302 -0
  43. package/assets/bootstrap/scss/_grid.scss +33 -0
  44. package/assets/bootstrap/scss/_helpers.scss +10 -0
  45. package/assets/bootstrap/scss/_images.scss +42 -0
  46. package/assets/bootstrap/scss/_list-group.scss +192 -0
  47. package/assets/bootstrap/scss/_maps.scss +54 -0
  48. package/assets/bootstrap/scss/_mixins.scss +43 -0
  49. package/assets/bootstrap/scss/_modal.scss +237 -0
  50. package/assets/bootstrap/scss/_nav.scss +172 -0
  51. package/assets/bootstrap/scss/_navbar.scss +278 -0
  52. package/assets/bootstrap/scss/_offcanvas.scss +144 -0
  53. package/assets/bootstrap/scss/_pagination.scss +109 -0
  54. package/assets/bootstrap/scss/_placeholders.scss +51 -0
  55. package/assets/bootstrap/scss/_popover.scss +196 -0
  56. package/assets/bootstrap/scss/_progress.scss +59 -0
  57. package/assets/bootstrap/scss/_reboot.scss +610 -0
  58. package/assets/bootstrap/scss/_root.scss +73 -0
  59. package/assets/bootstrap/scss/_spinners.scss +85 -0
  60. package/assets/bootstrap/scss/_tables.scss +164 -0
  61. package/assets/bootstrap/scss/_toasts.scss +73 -0
  62. package/assets/bootstrap/scss/_tooltip.scss +120 -0
  63. package/assets/bootstrap/scss/_transitions.scss +27 -0
  64. package/assets/bootstrap/scss/_type.scss +106 -0
  65. package/assets/bootstrap/scss/_utilities.scss +647 -0
  66. package/assets/bootstrap/scss/_variables.scss +1634 -0
  67. package/assets/bootstrap/scss/bootstrap-grid.scss +64 -0
  68. package/assets/bootstrap/scss/bootstrap-reboot.scss +9 -0
  69. package/assets/bootstrap/scss/bootstrap-utilities.scss +18 -0
  70. package/assets/bootstrap/scss/bootstrap.scss +51 -0
  71. package/assets/bootstrap/scss/forms/_floating-labels.scss +75 -0
  72. package/assets/bootstrap/scss/forms/_form-check.scss +175 -0
  73. package/assets/bootstrap/scss/forms/_form-control.scss +194 -0
  74. package/assets/bootstrap/scss/forms/_form-range.scss +91 -0
  75. package/assets/bootstrap/scss/forms/_form-select.scss +71 -0
  76. package/assets/bootstrap/scss/forms/_form-text.scss +11 -0
  77. package/assets/bootstrap/scss/forms/_input-group.scss +132 -0
  78. package/assets/bootstrap/scss/forms/_labels.scss +36 -0
  79. package/assets/bootstrap/scss/forms/_validation.scss +12 -0
  80. package/assets/bootstrap/scss/helpers/_clearfix.scss +3 -0
  81. package/assets/bootstrap/scss/helpers/_color-bg.scss +10 -0
  82. package/assets/bootstrap/scss/helpers/_colored-links.scss +12 -0
  83. package/assets/bootstrap/scss/helpers/_position.scss +36 -0
  84. package/assets/bootstrap/scss/helpers/_ratio.scss +26 -0
  85. package/assets/bootstrap/scss/helpers/_stacks.scss +15 -0
  86. package/assets/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  87. package/assets/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  88. package/assets/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  89. package/assets/bootstrap/scss/helpers/_vr.scss +8 -0
  90. package/assets/bootstrap/scss/mixins/_alert.scss +15 -0
  91. package/assets/bootstrap/scss/mixins/_backdrop.scss +14 -0
  92. package/assets/bootstrap/scss/mixins/_banner.scss +9 -0
  93. package/assets/bootstrap/scss/mixins/_border-radius.scss +78 -0
  94. package/assets/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  95. package/assets/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  96. package/assets/bootstrap/scss/mixins/_buttons.scss +70 -0
  97. package/assets/bootstrap/scss/mixins/_caret.scss +64 -0
  98. package/assets/bootstrap/scss/mixins/_clearfix.scss +9 -0
  99. package/assets/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  100. package/assets/bootstrap/scss/mixins/_container.scss +11 -0
  101. package/assets/bootstrap/scss/mixins/_deprecate.scss +10 -0
  102. package/assets/bootstrap/scss/mixins/_forms.scss +152 -0
  103. package/assets/bootstrap/scss/mixins/_gradients.scss +47 -0
  104. package/assets/bootstrap/scss/mixins/_grid.scss +151 -0
  105. package/assets/bootstrap/scss/mixins/_image.scss +16 -0
  106. package/assets/bootstrap/scss/mixins/_list-group.scss +24 -0
  107. package/assets/bootstrap/scss/mixins/_lists.scss +7 -0
  108. package/assets/bootstrap/scss/mixins/_pagination.scss +10 -0
  109. package/assets/bootstrap/scss/mixins/_reset-text.scss +17 -0
  110. package/assets/bootstrap/scss/mixins/_resize.scss +6 -0
  111. package/assets/bootstrap/scss/mixins/_table-variants.scss +24 -0
  112. package/assets/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  113. package/assets/bootstrap/scss/mixins/_transition.scss +26 -0
  114. package/assets/bootstrap/scss/mixins/_utilities.scss +97 -0
  115. package/assets/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  116. package/assets/bootstrap/scss/utilities/_api.scss +47 -0
  117. package/assets/bootstrap/scss/vendor/_rfs.scss +354 -0
  118. package/assets/css/components/accordion.css +1 -1
  119. package/assets/css/components/accordion.css.map +1 -1
  120. package/assets/css/components/admin-panel.css +1 -0
  121. package/assets/css/components/admin-panel.css.map +1 -0
  122. package/assets/css/components/alert.css +1 -1
  123. package/assets/css/components/alert.css.map +1 -1
  124. package/assets/css/components/carousel.css +1 -1
  125. package/assets/css/components/carousel.css.map +1 -1
  126. package/assets/css/components/charts.css +1 -1
  127. package/assets/css/components/charts.css.map +1 -1
  128. package/assets/css/components/container.css.map +1 -1
  129. package/assets/css/components/dialog.css +1 -1
  130. package/assets/css/components/dialog.css.map +1 -1
  131. package/assets/css/components/forms.css.map +1 -1
  132. package/assets/css/components/header.css +1 -1
  133. package/assets/css/components/header.css.map +1 -1
  134. package/assets/css/components/lists.css +1 -1
  135. package/assets/css/components/lists.css.map +1 -1
  136. package/assets/css/components/nav.css +1 -1
  137. package/assets/css/components/nav.css.map +1 -1
  138. package/assets/css/components/pagination.css.map +1 -1
  139. package/assets/css/components/property-searchbar.css +1 -1
  140. package/assets/css/components/property-searchbar.css.map +1 -1
  141. package/assets/css/components/stepper.css +1 -1
  142. package/assets/css/components/stepper.css.map +1 -1
  143. package/assets/css/components/table.css +1 -1
  144. package/assets/css/components/table.css.map +1 -1
  145. package/assets/css/components/tabs.css +1 -1
  146. package/assets/css/components/tabs.css.map +1 -1
  147. package/assets/css/components/tooltips.css +1 -1
  148. package/assets/css/components/tooltips.css.map +1 -1
  149. package/assets/css/core.min.css +1 -1
  150. package/assets/css/core.min.css.map +1 -1
  151. package/assets/css/style.min.css +1 -1
  152. package/assets/css/style.min.css.map +1 -1
  153. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  154. package/assets/js/components/card/card.component.min.js +1 -1
  155. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  156. package/assets/js/components/header/header.component.min.js +5 -5
  157. package/assets/js/components/table/table.component.js +4 -0
  158. package/assets/js/components/table/table.component.min.js +5 -5
  159. package/assets/js/components/table/table.component.min.js.map +1 -1
  160. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  161. package/assets/js/dynamic.min.js +2 -2
  162. package/assets/js/dynamic.min.js.map +1 -1
  163. package/assets/js/modules/helpers.js +31 -6
  164. package/assets/js/modules/table.js +4 -5
  165. package/assets/js/scripts.bundle.js +31 -31
  166. package/assets/js/scripts.bundle.js.map +1 -1
  167. package/assets/js/scripts.bundle.min.js +2 -2
  168. package/assets/js/scripts.bundle.min.js.map +1 -1
  169. package/assets/js/tests/table.spec.js +3 -1
  170. package/assets/sass/_corefiles.scss +15 -15
  171. package/assets/sass/_forms.scss +7 -7
  172. package/assets/sass/_functions/functions.scss +1 -1
  173. package/assets/sass/_functions/mixins.scss +19 -21
  174. package/assets/sass/_functions/utilities.scss +51 -9
  175. package/assets/sass/_functions/variables.scss +77 -37
  176. package/assets/sass/_tests/colours.spec.scss +8 -22
  177. package/assets/sass/components/accordion.scss +13 -0
  178. package/assets/sass/components/admin-panel.scss +106 -0
  179. package/assets/sass/components/alert.scss +22 -0
  180. package/assets/sass/components/carousel.scss +72 -0
  181. package/assets/sass/components/charts.scss +37 -1
  182. package/assets/sass/components/container.scss +1 -1
  183. package/assets/sass/components/dialog.scss +7 -1
  184. package/assets/sass/components/lists.scss +14 -0
  185. package/assets/sass/components/nav.scss +1 -1
  186. package/assets/sass/components/pagination.scss +1 -1
  187. package/assets/sass/components/stepper.scss +3 -3
  188. package/assets/sass/components/table.scss +19 -15
  189. package/assets/sass/components/tabs.scss +20 -7
  190. package/assets/sass/components/tooltips.scss +1 -1
  191. package/assets/sass/foundations/buttons.scss +366 -0
  192. package/assets/sass/foundations/links.scss +75 -75
  193. package/assets/sass/foundations/media.scss +1 -1
  194. package/assets/sass/foundations/reboot.scss +3 -5
  195. package/assets/sass/foundations/root.scss +9 -29
  196. package/assets/sass/foundations/type.scss +1 -1
  197. package/assets/ts/components/table/table.component.ts +5 -0
  198. package/assets/ts/modules/helpers.ts +49 -8
  199. package/assets/ts/modules/table.ts +6 -6
  200. package/assets/ts/tests/table.spec.ts +4 -1
  201. package/dist/components.es.js +46 -42
  202. package/dist/components.umd.js +4 -4
  203. package/dist/style.css +1 -1
  204. package/package.json +2 -1
  205. package/assets/css/components/buttons.css +0 -1
  206. package/assets/css/components/buttons.css.map +0 -1
  207. package/assets/css/components/panel.css +0 -1
  208. package/assets/css/components/panel.css.map +0 -1
  209. package/assets/sass/components/buttons.scss +0 -252
  210. package/assets/sass/components/panel.scss +0 -161
@@ -0,0 +1,366 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ // #region button primary
4
+ .btn {
5
+
6
+ &:not(.btn-secondary)[class*="colour-"]{
7
+ --colour-btn-bg: var(--colour);
8
+ --colour-btn-border: var(--colour);
9
+ }
10
+
11
+ &:is(.colour-primary,.colour-dark,.colour-danger,.colour-black) {
12
+ --colour-btn: #{$colour-inverted};
13
+ }
14
+
15
+ display: inline-block;
16
+ font-weight: bold;
17
+ text-align: left;
18
+ text-decoration: none;
19
+ vertical-align: middle;
20
+ cursor: pointer;
21
+ user-select: none;
22
+
23
+ background: var(--colour-btn-bg);
24
+ border: 2px solid var(--colour-btn-border);
25
+ color: var(--colour-btn);
26
+
27
+ font-size: rem(18);
28
+ line-height: rem(24);
29
+ padding: calc(rem(12) - 2px) calc(rem(40) - 2px);
30
+ border-radius: rem(24);
31
+ margin-bottom: rem(24);
32
+ margin-right: rem(24);
33
+ transition: background .5s, color .5s;
34
+ height: auto;
35
+ max-width: fit-content;
36
+ appearance: none;
37
+ white-space: nowrap;
38
+
39
+ a:is(:hover, :focus, .hover, :focus-within):not([disabled],:active, .active) &,
40
+ &:is(:hover, :focus, .hover, :focus-within):not([disabled],:active, .active) {
41
+ outline: 0;
42
+ text-decoration: none;
43
+
44
+ background: var(--colour-btn-bg-hover);
45
+ color: var(--colour-btn-hover);
46
+ border-radius: rem(24);
47
+ }
48
+
49
+ a:is(:active, .active):not([disabled]) &,
50
+ &:is(:active, .active):not([disabled]) {
51
+
52
+ filter: brightness(85%);
53
+ transition: background .1s, color .1s;
54
+ color: var(--colour-btn);
55
+ border-radius: rem(24);
56
+ }
57
+
58
+ a:disabled &,
59
+ &:disabled {
60
+ opacity: 0.4;
61
+ cursor: not-allowed;
62
+ }
63
+ }
64
+ // #endregion
65
+
66
+ // #region secondary button
67
+ .btn-secondary {
68
+
69
+ background: var(--colour-btn-secondary-bg);
70
+ border: 2px solid var(--colour-btn-secondary-border);
71
+ color: var(--colour-btn-secondary);
72
+ }
73
+
74
+ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
75
+ .btn-secondary:is(:hover, :focus, .hover, :focus-within, :active, .active):not([disabled]) {
76
+ background: var(--colour-btn-secondary-bg-hover);
77
+ color: var(--colour-btn-secondary-hover);
78
+ }
79
+ // #endregion
80
+
81
+ // #region button with icon
82
+ .btn {
83
+ &[class*="fa-"]:before {
84
+
85
+ font-family: "Font Awesome 6 Pro";
86
+ margin-right: 1rem;
87
+ }
88
+
89
+ [class*="fa-"]{
90
+
91
+ font-family: "Font Awesome 6 Pro";
92
+ margin-right: 1rem;
93
+
94
+ font-style: inherit;
95
+ &:not(:first-child){
96
+ margin-left: 1rem;
97
+ margin-right: 0;
98
+ }
99
+ }
100
+ }
101
+ // #endregion
102
+
103
+ // #region button with prompt
104
+ .btn.btn--prompt {
105
+ &:after {
106
+ content: "";
107
+ height: rem(24);
108
+ width: rem(16);
109
+ display: inline-block;
110
+ background: currentColor;
111
+ mask-image: var(--icon-arrow);
112
+ mask-size: 100%;
113
+ mask-repeat: no-repeat;
114
+ mask-position: 50% 50%;
115
+ -webkit-mask-image: var(--icon-arrow);
116
+ -webkit-mask-size: 100%;
117
+ -webkit-mask-repeat: no-repeat;
118
+ -webkit-mask-position: 50% 50%;
119
+ vertical-align: bottom;
120
+ margin-left: 1rem;
121
+ }
122
+
123
+
124
+ a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
125
+ &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
126
+ &:after {
127
+ margin-left: 1.5rem;
128
+ margin-right: -0.5rem;
129
+ }
130
+ }
131
+ }
132
+ // #endregion
133
+
134
+ // #region button small and tag
135
+ .btn.btn-sm {
136
+
137
+ padding: em(8) em(32);
138
+ }
139
+ // #endregion
140
+
141
+ // #region btn compact
142
+ .btn-compact {
143
+ padding: calc(rem(12) - 2px)!important;
144
+ margin-bottom: rem(8)!important;
145
+ margin-right: rem(8)!important;
146
+
147
+ text-align: center;
148
+ width: calc(rem(48) - 4px);
149
+ height: calc(rem(48) - 4px)!important;
150
+ text-indent: -300px;
151
+ overflow: hidden;
152
+
153
+ position: relative;
154
+
155
+ &:before {
156
+ position: absolute;
157
+ top: 0;
158
+ left: 0;
159
+ width: 100%;
160
+ height: 100%;
161
+ text-indent: 0;
162
+ line-height: calc(3rem - 6px);
163
+ font-weight: 900;
164
+ }
165
+
166
+ &.btn-secondary {
167
+
168
+ --colour-btn-border: transparent;
169
+ border-color: transparent;
170
+
171
+ &:not([class*="colour-"]){
172
+ --colour: var(--colour-light)
173
+ }
174
+ }
175
+
176
+ &.btn-secondary:is(:hover, :focus, .hover, :active, .active, :focus-within):not([disabled]) {
177
+ background-color: var(--colour);
178
+ color: var(--colour-primary);
179
+
180
+ &:is(.colour-primary,.colour-dark,.colour-danger,.colour-black) {
181
+ color: var(--colour-inverted);
182
+ }
183
+ }
184
+ }
185
+ // #endregion
186
+
187
+ // #region btn with colour success
188
+ .btn.colour-success {
189
+
190
+ --colour-btn-bg-hover: var(--colour);
191
+ --colour-btn-border-hover: var(--colour);
192
+ position: relative;
193
+ padding-left: rem(56);
194
+ padding-right: rem(56);
195
+
196
+ a:is(:hover, :focus, .hover):not([disabled], :active, .active) &,
197
+ &:is(:hover, :focus, .hover):not([disabled], :active, .active) {
198
+
199
+ padding-left: rem(40);
200
+ padding-right: rem(40);
201
+
202
+ &:before {
203
+ content: "\f00c";
204
+ font-family: "Font Awesome 6 Pro";
205
+ margin-right: 1rem;
206
+ font-style: inherit;
207
+ width: 1rem;
208
+ display: inline-block;
209
+ height: rem(24);
210
+ vertical-align: bottom;
211
+ }
212
+ }
213
+
214
+
215
+ }
216
+ // #endregion
217
+
218
+ // #region Select as button
219
+
220
+ .btn:has(select) {
221
+ position: relative;
222
+ padding-right: rem(56);
223
+
224
+ &:not(.mw-100){
225
+ max-width: rem(112 + 40 + 56);
226
+ }
227
+
228
+ select {
229
+
230
+ padding: calc(rem(12) - 2px) calc(rem(40) - 2px);
231
+ margin: calc(rem(-12)) calc(rem(-40));
232
+
233
+ padding-right: rem(56);
234
+ margin-right: rem(-56);
235
+ border-radius: rem(24);
236
+ appearance: none;
237
+ background: none;
238
+ border: none!important;
239
+ color: inherit;
240
+ display: block;
241
+ min-width: calc(100% + rem(40) + rem(56));
242
+ outline: none;
243
+ font-weight: bold;
244
+
245
+ option {
246
+ padding: 0;
247
+ text-align: left;
248
+ color: var(--colour-primary);
249
+ }
250
+ }
251
+
252
+
253
+ &:after {
254
+ position: absolute;
255
+ top: rem(8);
256
+ right: rem(40);
257
+
258
+ content: "";
259
+ height: rem(24);
260
+ width: rem(16);
261
+ display: inline-block;
262
+ background: currentColor;
263
+ mask-image: var(--icon-arrow);
264
+ mask-size: 100%;
265
+ mask-repeat: no-repeat;
266
+ mask-position: 50% 50%;
267
+ -webkit-mask-image: var(--icon-arrow);
268
+ -webkit-mask-size: 100%;
269
+ -webkit-mask-repeat: no-repeat;
270
+ -webkit-mask-position: 50% 50%;
271
+ vertical-align: bottom;
272
+ margin-left: 1rem;
273
+ transform: rotate(90deg);
274
+ pointer-events: none;
275
+ }
276
+
277
+ &.active:after{
278
+ transform: rotate(-90deg);
279
+ }
280
+ }
281
+
282
+ .btn:has(select:focus):after{
283
+ transform: rotate(-90deg);
284
+ }
285
+
286
+ // #endregion
287
+
288
+
289
+
290
+ // #region button that opens up a filter dialog
291
+ .btn-filter {
292
+ &:after {
293
+ content: "";
294
+
295
+ display: inline-block;
296
+ margin-left: 1em;
297
+ margin-bottom: -0.15em;
298
+ height: 1em;
299
+ width: 1em;
300
+ z-index: var(--index-focus);
301
+ background: currentColor;
302
+ mask-image: var(--icon-filter);
303
+ mask-size: 100%;
304
+ mask-repeat: no-repeat;
305
+ mask-position: 50% 50%;
306
+ -webkit-mask-image: var(--icon-filter);
307
+ -webkit-mask-size: 100%;
308
+ -webkit-mask-repeat: no-repeat;
309
+ -webkit-mask-position: 50% 50%;
310
+
311
+ }
312
+ }
313
+ // #endregion
314
+
315
+
316
+ // #region Rertiary Button
317
+
318
+ .btn {
319
+
320
+ &.btn-tertiary {
321
+
322
+ background-color: transparent;
323
+ border: none;
324
+ color: var(--colour-link);
325
+ margin: 0 rem(24) rem(24) 0;
326
+ padding: 0;
327
+ font-size: rem(18);
328
+ line-height: rem(24);
329
+ min-height: rem(24);
330
+ position: relative;
331
+
332
+ &:not(.text-decoration-none):after {
333
+ position: absolute;
334
+ content: "";
335
+ top: 100%;
336
+ left: 50%;
337
+ height: 2px;
338
+ width: 100%;
339
+ transform: translate(-50%,0);
340
+ background: var(--colour-underline);
341
+ transition: width 0.5s;
342
+ }
343
+
344
+ [class*=fa-] {
345
+ margin-left: 0;
346
+ margin-right: 0.5rem;
347
+ }
348
+ [class*=fa-]:not(:first-child) {
349
+ margin-left: 0.5rem;
350
+ margin-right: 0;
351
+ }
352
+
353
+ &:is(:hover, :focus, .hover, :focus-within):not([disabled], :active, .active) {
354
+
355
+ &:after {
356
+ width: 60%;
357
+ }
358
+ }
359
+ &:is(:active, .active):not([disabled]) {
360
+
361
+ color: var(--colour-active);
362
+ }
363
+ }
364
+
365
+ }
366
+
@@ -1,105 +1,103 @@
1
1
  @use "../_func.scss" as *;
2
2
 
3
- a,
3
+ // global
4
+ a {
5
+ color: var(--colour-link);
6
+
7
+ &:is(:hover, :focus, .hover, :focus-within) {
8
+
9
+ color: var(--colour-hover);
10
+ }
11
+
12
+ &:is(:active, .active) {
13
+
14
+ color: var(--colour-active);
15
+ }
16
+ }
17
+
18
+ a:where(:not(.btn):not(:has(.card)):not(:has(iam-card))),
4
19
  .link {
5
- @include var (color, --colour-link);
6
- display: inline-block;
7
- min-height: em(28);
8
- margin-bottom: rem(16);
9
- position: relative;
20
+ background-color: transparent;
10
21
  text-decoration: none;
11
- background: none;
22
+ display: inline-block;
12
23
  border: none;
13
-
14
- &:not(.text-decoration-none):not(.btn):before {
15
- content: '';
16
- position: absolute;
17
- left: 50%;
18
- bottom: 0;
19
- width: 100%;
20
- height: 2px;
21
- @include var(background-color,--colour-underline);
22
- -webkit-transform: translateX(-50%);
23
- -ms-transform: translateX(-50%);
24
- transform: translateX(-50%);
25
- -webkit-transition: .3s ease-in;
26
- transition: .3s ease-in;
27
- }
24
+ color: var(--colour-link);
25
+ margin: 0 rem(24) rem(24) 0;
26
+ padding: 0;
27
+ font-size: rem(18);
28
+ line-height: rem(24);
29
+ min-height: rem(24);
30
+ position: relative;
31
+ font-weight: bold;
28
32
 
29
- &:not(.text-decoration-none):not(.btn):hover:before,
30
- .card:hover &:before,
31
- details[open] &:not(.text-decoration-none):not(.btn):before {
32
- width: 0%;
33
+ &:not(.text-decoration-none){
34
+ &:after {
35
+ position: absolute;
36
+ content: "";
37
+ top: 100%;
38
+ left: 50%;
39
+ height: 2px;
40
+ width: 100%;
41
+ transform: translate(-50%,0);
42
+ background: var(--colour-underline);
43
+ transition: width 0.5s;
44
+ }
33
45
  }
34
46
 
35
- &:is(:hover, :focus, .focus),
36
- .card:hover &,
37
- .card:focus & {
38
- @include var (color, --colour-hover);
47
+ [class*=fa-] {
48
+ margin-left: 0;
49
+ margin-right: 0.5rem;
39
50
  }
40
-
41
- &:active,
42
- &.active,
43
- .card:active & {
44
- @include var (color, --colour-active);
51
+ [class*=fa-]:not(:first-child) {
52
+ margin-left: 0.5rem;
53
+ margin-right: 0;
45
54
  }
46
55
 
47
- &[target="_blank"]:not(.card):after,
48
- &.card[target="_blank"] .btn:after {
49
-
50
- content: "";
51
- height: 1em;
52
- width: 1em;
53
- margin-left: 0.5em;
54
- margin-right: -0.2em;
55
- display: inline-block;
56
- vertical-align: baseline;
57
- margin-bottom: -0.15em;
58
-
59
- mask-image: var(--icon-blank);
60
- mask-size: 100% 100%;
61
- mask-repeat: no-repeat;
62
- mask-position: 0 0;
63
-
64
- -webkit-mask-image: var(--icon-blank);
65
- -webkit-mask-size: 100% 100%;
66
- -webkit-mask-repeat: no-repeat;
67
- -webkit-mask-position: 0 0;
68
- background-color: currentColor;
69
- }
70
-
56
+ &:is(:hover, :focus, .hover, :active, .active, :focus-within) {
57
+
58
+ &:after {
59
+ width: 60%;
60
+ }
61
+ }
71
62
  }
63
+
72
64
  @include inline-text(){
73
- a {
65
+ a:not(.btn) {
74
66
  min-height: none;
75
67
  display: inline;
76
- margin-bottom: 0;
68
+ margin: 0;
69
+ text-decoration: underline;
70
+
71
+ &:after {
72
+ display: none;
73
+ }
74
+
75
+ [class*="fa-"]{
76
+ margin: 0;
77
+ display: inline;
78
+ }
79
+
77
80
  text-decoration: underline;
78
81
  text-underline-offset: 0.2em;
79
82
  text-decoration-thickness: 2px;
80
- text-decoration-color: var(--colour-underline);
81
83
 
82
- &:hover,
83
- &:focus,
84
- &:active{
84
+ &:is(:hover, :focus, .hover, :focus-within) {
85
85
 
86
+ color: var(--colour-hover);
86
87
  text-decoration: none;
87
- }
88
-
89
- &:before {
88
+ }
90
89
 
91
- display: none;
92
- }
90
+ &:is(:active, .active) {
93
91
 
94
- &[target="_blank"]:after {
95
- margin-left: 0.25em;
96
- margin-right: 0.2em;
92
+ color: var(--colour-active);
93
+ text-decoration: none;
97
94
  }
98
95
  }
99
96
  }
100
97
 
101
- // Support card component
98
+ // #region Support card component
102
99
  :is(a,button,label):has(.card, iam-card){
100
+
103
101
  &:before {
104
102
  display: none;
105
103
  }
@@ -109,6 +107,7 @@ a,
109
107
  display: flex;
110
108
  margin: 0 0 rem(24) 0;
111
109
  outline: none!important;
110
+ text-decoration: none;
112
111
 
113
112
  &:not(.d-inline-block){
114
113
 
@@ -122,4 +121,5 @@ a,
122
121
 
123
122
  .col > :is(a,button):has(.card, iam-card):first-child:last-child{
124
123
  min-height: calc(100% - rem(24));
125
- }
124
+ }
125
+ // #endregion
@@ -1,6 +1,6 @@
1
1
  @use "../_func" as *;
2
2
 
3
- @import "../../../node_modules/bootstrap/scss/_images.scss";
3
+ @import "../../bootstrap/scss/_images.scss";
4
4
 
5
5
  img {
6
6
  max-width: 100%;
@@ -1,6 +1,6 @@
1
1
  @use "../_func" as *;
2
2
 
3
- @import "../../../node_modules/bootstrap/scss/_reboot.scss";
3
+ @import "../../bootstrap/scss/_reboot.scss";
4
4
 
5
5
  /* Reset & Defaults - Most of the resets/normailization stuff is done by Bootstrap */
6
6
  html {
@@ -43,7 +43,8 @@ html {
43
43
  }
44
44
 
45
45
  body {
46
-
46
+ color-scheme: light dark;
47
+ @include var(background,--colour-canvas);
47
48
  @include var(font-family,--font-body);
48
49
  @include var(color,--colour-body);
49
50
  width: 100%;
@@ -69,9 +70,6 @@ div::-webkit-scrollbar-thumb {
69
70
  }
70
71
  //#endregion
71
72
 
72
- #app {
73
- }
74
-
75
73
  body > footer,
76
74
  body > #app > footer {
77
75
  position: sticky;
@@ -1,6 +1,6 @@
1
1
  @use "../func" as *;
2
2
 
3
- @import "../../../node_modules/bootstrap/scss/_root.scss";
3
+ @import "../../bootstrap/scss/_root.scss";
4
4
 
5
5
  :root {
6
6
  // Print out the $vars array setup in the variables file so they can be used as CSS vars
@@ -25,27 +25,15 @@
25
25
  }
26
26
 
27
27
  // Extra vars needed
28
- --body-bg: white;
29
- --colour-underline: var(--colour-primary);
30
- --colour-heading: var(--colour-primary);
31
- --alpha: var(--bg-opacity,1);
32
- --#{$variable-prefix}gradient: #{$gradient};
33
28
  --content-max-width: #{$content-max-width};
29
+
34
30
  --colour-brand: var(--colour-primary);
35
-
36
- /* Button colours */
37
- --btn-bg: var(--colour-warning);
38
- --btn-text: var(--colour-primary);
39
- --btn-hover-text: var(--colour-primary);
40
- --btn-tertiary-bg: var(--colour-primary);
41
- --btn-tertiary-hover-text: white;
31
+
42
32
  }
43
33
 
44
34
  // Dark mode; functional colours get updated
45
35
  @media screen and (prefers-color-scheme: dark) {
46
36
  :root {
47
- --body-bg: var(--colour-primary);
48
- --colour-admin: var(--colour-primary);
49
37
  @include invert-colours();
50
38
  }
51
39
 
@@ -53,38 +41,27 @@
53
41
  color: #{$colour-inverted}!important;
54
42
  }
55
43
 
56
- body .bg-white {
57
- background-color: transparent!important;
58
- }
44
+
59
45
  }
60
46
 
61
47
  @media screen {
62
48
 
63
49
  // Reset the colours of lighter backgrounds to make sure they aren't over written by dark mode. Some other tweaks to colours are applied
64
- [class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.bg-black):not(.invert-colours):not(.bg-white):not(.bg-admin) {
50
+ [class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.bg-canvas):not(.invert-colours) {
65
51
 
66
52
  @include reset-colours();
67
53
 
68
54
  --colour-body: var(--colour-primary);
69
55
  --colour-heading: var(--colour-primary);
70
56
  color: var(--colour-body);
71
-
72
- --btn-bg: var(--colour-primary);
73
- --btn-text: var(--colour-white);
74
57
  --colour-underline: var(--colour-primary);
75
-
76
- .btn-secondary {
77
-
78
- --btn-text: var(--colour-primary);
79
- }
80
-
81
58
  }
82
59
 
83
60
 
84
61
 
85
62
  // Slight colour adjustments on the light background to match brand guidelines
86
63
  .bg-light[class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.prevent-invert) {
87
- --body-bg: var(--colour-light);
64
+ --colour-canvas: var(--colour-light);
88
65
  --colour-heading: var(--colour-dark);
89
66
  color: var(--colour-dark);
90
67
  }
@@ -96,6 +73,8 @@
96
73
  .bg-black:not(.prevent-invert),
97
74
  .invert-colours {
98
75
 
76
+ --btn-bg: #{$colour-inverted};
77
+
99
78
  @if $compatible != "true" {
100
79
 
101
80
  @include invert-colours();
@@ -103,6 +82,7 @@
103
82
  color: #{$colour-inverted};
104
83
  }
105
84
 
85
+
106
86
  // Only update the the colour of the underline on dark backgrounds except the primary as the secondary colour looks good on it
107
87
  .bg-dark:not(.prevent-invert),
108
88
  .bg-danger:not(.prevent-invert),
@@ -11,7 +11,7 @@ small {
11
11
  @include font-size($small-font-size);
12
12
  }
13
13
 
14
- @import "../../../node_modules/bootstrap/scss/_type.scss";
14
+ @import "../../bootstrap/scss/_type.scss";
15
15
 
16
16
  // #region headings
17
17
  %heading {
@@ -84,6 +84,11 @@ class iamTable extends HTMLElement {
84
84
  createPaginationButttons(this,this.pagination);
85
85
  }
86
86
 
87
+ this.shadowRoot.querySelector('.table__wrapper').addEventListener("scroll", (event) => {
88
+
89
+ if(this.table.querySelector('dialog[open]'))
90
+ this.table.querySelector('dialog[open]').close();
91
+ });
87
92
  }
88
93
 
89
94