@iamproperty/components 3.4.6 → 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 (304) 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/applied-filters.css +1 -0
  125. package/assets/css/components/applied-filters.css.map +1 -0
  126. package/assets/css/components/card.css +1 -1
  127. package/assets/css/components/card.css.map +1 -1
  128. package/assets/css/components/carousel.css +1 -1
  129. package/assets/css/components/carousel.css.map +1 -1
  130. package/assets/css/components/charts.css +1 -1
  131. package/assets/css/components/charts.css.map +1 -1
  132. package/assets/css/components/container.css +1 -1
  133. package/assets/css/components/container.css.map +1 -1
  134. package/assets/css/components/dialog.css +1 -0
  135. package/assets/css/components/dialog.css.map +1 -0
  136. package/assets/css/components/forms.css +1 -1
  137. package/assets/css/components/forms.css.map +1 -1
  138. package/assets/css/components/header.css +1 -1
  139. package/assets/css/components/header.css.map +1 -1
  140. package/assets/css/components/lists.css +1 -1
  141. package/assets/css/components/lists.css.map +1 -1
  142. package/assets/css/components/nav.css +1 -1
  143. package/assets/css/components/nav.css.map +1 -1
  144. package/assets/css/components/pagination.css +1 -0
  145. package/assets/css/components/pagination.css.map +1 -0
  146. package/assets/css/components/property-searchbar.css +1 -1
  147. package/assets/css/components/property-searchbar.css.map +1 -1
  148. package/assets/css/components/stepper.css +1 -1
  149. package/assets/css/components/stepper.css.map +1 -1
  150. package/assets/css/components/table.css +1 -0
  151. package/assets/css/components/table.css.map +1 -0
  152. package/assets/css/components/tabs.css +1 -1
  153. package/assets/css/components/tabs.css.map +1 -1
  154. package/assets/css/components/tooltips.css +1 -1
  155. package/assets/css/components/tooltips.css.map +1 -1
  156. package/assets/css/core.min.css +1 -1
  157. package/assets/css/core.min.css.map +1 -1
  158. package/assets/css/style.min.css +1 -1
  159. package/assets/css/style.min.css.map +1 -1
  160. package/assets/js/bundle.js +18 -11
  161. package/assets/js/components/accordion/accordion.component.js +6 -0
  162. package/assets/js/components/accordion/accordion.component.min.js +3 -3
  163. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  164. package/assets/js/components/applied-filters/applied-filters.component.js +26 -0
  165. package/assets/js/components/card/card.component.js +91 -0
  166. package/assets/js/components/card/card.component.min.js +21 -0
  167. package/assets/js/components/card/card.component.min.js.map +1 -0
  168. package/assets/js/components/filterlist/filterlist.component.js +49 -0
  169. package/assets/js/components/filterlist/filterlist.component.min.js +23 -0
  170. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -0
  171. package/assets/js/components/header/header.component.js +6 -0
  172. package/assets/js/components/header/header.component.min.js +5 -5
  173. package/assets/js/components/header/header.component.min.js.map +1 -1
  174. package/assets/js/components/pagination/pagination.component.js +34 -0
  175. package/assets/js/components/table/table.component.js +108 -0
  176. package/assets/js/components/table/table.component.min.js +24 -0
  177. package/assets/js/components/table/table.component.min.js.map +1 -0
  178. package/assets/js/components/tabs/tabs.component.js +6 -0
  179. package/assets/js/components/tabs/tabs.component.min.js +17 -0
  180. package/assets/js/components/tabs/tabs.component.min.js.map +1 -0
  181. package/assets/js/dynamic.js +7 -18
  182. package/assets/js/dynamic.min.js +2 -53
  183. package/assets/js/dynamic.min.js.map +1 -1
  184. package/assets/js/flat-components.js +27 -9
  185. package/assets/js/modules/applied-filters.js +100 -0
  186. package/assets/js/modules/data-layer.js +45 -0
  187. package/assets/js/modules/filterlist.js +32 -0
  188. package/assets/js/modules/helpers.js +102 -49
  189. package/assets/js/modules/pagination.js +33 -0
  190. package/assets/js/modules/table.js +506 -420
  191. package/assets/js/modules/tabs.js +6 -0
  192. package/assets/js/modules/youtubevideo.js +53 -61
  193. package/assets/js/scripts.bundle.js +77 -62
  194. package/assets/js/scripts.bundle.js.map +1 -1
  195. package/assets/js/scripts.bundle.min.js +2 -2
  196. package/assets/js/scripts.bundle.min.js.map +1 -1
  197. package/assets/js/tests/filterlist.spec.js +22 -0
  198. package/assets/js/tests/pagination.spec.js +15 -0
  199. package/assets/js/tests/table.spec.js +149 -0
  200. package/assets/sass/_components.scss +1 -2
  201. package/assets/sass/_corefiles.scss +20 -19
  202. package/assets/sass/_forms.scss +7 -7
  203. package/assets/sass/_functions/functions.scss +1 -1
  204. package/assets/sass/_functions/mixins.scss +19 -21
  205. package/assets/sass/_functions/utilities.scss +67 -9
  206. package/assets/sass/_functions/variables.scss +109 -55
  207. package/assets/sass/_tests/colours.spec.scss +8 -22
  208. package/assets/sass/components/accordion.scss +13 -0
  209. package/assets/sass/components/admin-panel.scss +106 -0
  210. package/assets/sass/components/alert.scss +22 -0
  211. package/assets/sass/components/applied-filters.scss +65 -0
  212. package/assets/sass/components/card.scss +177 -233
  213. package/assets/sass/components/carousel.scss +72 -0
  214. package/assets/sass/components/charts.scss +41 -1
  215. package/assets/sass/components/container.scss +8 -3
  216. package/assets/sass/components/dialog.scss +208 -0
  217. package/assets/sass/components/forms.scss +37 -5
  218. package/assets/sass/components/lists.scss +29 -0
  219. package/assets/sass/components/nav.scss +6 -2
  220. package/assets/sass/components/pagination.scss +140 -0
  221. package/assets/sass/components/stepper.scss +3 -3
  222. package/assets/sass/components/table.scss +423 -0
  223. package/assets/sass/components/tabs.scss +20 -7
  224. package/assets/sass/components/tooltips.scss +1 -1
  225. package/assets/sass/foundations/buttons.scss +366 -0
  226. package/assets/sass/foundations/icons.scss +1 -1
  227. package/assets/sass/foundations/links.scss +125 -0
  228. package/assets/sass/foundations/media.scss +1 -1
  229. package/assets/sass/foundations/reboot.scss +21 -17
  230. package/assets/sass/foundations/root.scss +9 -29
  231. package/assets/sass/foundations/type.scss +1 -1
  232. package/assets/svg/illustrations/table.svg +165 -0
  233. package/assets/ts/bundle.ts +23 -12
  234. package/assets/ts/components/accordion/accordion.component.ts +7 -0
  235. package/assets/ts/components/applied-filters/README.md +5 -0
  236. package/assets/ts/components/applied-filters/applied-filters.component.ts +33 -0
  237. package/assets/ts/components/card/README.md +22 -0
  238. package/assets/ts/components/card/card.component.ts +117 -0
  239. package/assets/ts/components/filterlist/README.md +17 -0
  240. package/assets/ts/components/filterlist/filterlist.component.ts +60 -0
  241. package/assets/ts/components/header/header.component.ts +8 -0
  242. package/assets/ts/components/pagination/README.md +11 -0
  243. package/assets/ts/components/pagination/pagination.component.ts +45 -0
  244. package/assets/ts/components/table/README.md +23 -0
  245. package/assets/ts/components/table/table.component.ts +133 -0
  246. package/assets/ts/components/tabs/tabs.component.ts +7 -0
  247. package/assets/ts/dynamic.ts +12 -19
  248. package/assets/ts/flat-components.ts +37 -9
  249. package/assets/ts/modules/applied-filters.ts +146 -0
  250. package/assets/ts/modules/data-layer.ts +58 -0
  251. package/assets/ts/modules/filterlist.ts +46 -0
  252. package/assets/ts/modules/helpers.ts +129 -58
  253. package/assets/ts/modules/pagination.ts +44 -0
  254. package/assets/ts/modules/table.ts +598 -433
  255. package/assets/ts/modules/tabs.ts +8 -1
  256. package/assets/ts/modules/youtubevideo.ts +58 -63
  257. package/assets/ts/tests/filterlist.spec.ts +29 -0
  258. package/assets/ts/tests/pagination.spec.ts +21 -0
  259. package/assets/ts/tests/table.spec.ts +194 -0
  260. package/dist/components.es.js +1267 -1295
  261. package/dist/components.umd.js +70 -65
  262. package/dist/style.css +1 -1
  263. package/package.json +8 -5
  264. package/src/components/AppliedFilters/AppliedFilters.vue +20 -0
  265. package/src/components/AppliedFilters/README.md +5 -0
  266. package/src/components/Card/Card.vue +11 -112
  267. package/src/components/Card/README.md +16 -18
  268. package/src/components/Carousel/Carousel.vue +49 -10
  269. package/src/components/Chart/Chart.vue +46 -4
  270. package/src/components/Filterlist/Filterlist.vue +20 -0
  271. package/src/components/Filterlist/README.md +17 -0
  272. package/src/components/Pagination/Pagination.vue +30 -0
  273. package/src/components/Pagination/README.md +11 -0
  274. package/src/components/Table/README.md +29 -44
  275. package/src/components/Table/Table.spec.js +5 -37
  276. package/src/components/Table/Table.vue +16 -91
  277. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +1 -1
  278. package/src/index.js +3 -2
  279. package/assets/css/components/buttons.css +0 -1
  280. package/assets/css/components/buttons.css.map +0 -1
  281. package/assets/css/components/cardDeck.css +0 -1
  282. package/assets/css/components/cardDeck.css.map +0 -1
  283. package/assets/css/components/links.css +0 -1
  284. package/assets/css/components/links.css.map +0 -1
  285. package/assets/css/components/modal.css +0 -1
  286. package/assets/css/components/modal.css.map +0 -1
  287. package/assets/css/components/panel.css +0 -1
  288. package/assets/css/components/panel.css.map +0 -1
  289. package/assets/css/components/tables.css +0 -1
  290. package/assets/css/components/tables.css.map +0 -1
  291. package/assets/js/modules/modal.js +0 -69
  292. package/assets/sass/components/buttons.scss +0 -252
  293. package/assets/sass/components/cardDeck.scss +0 -108
  294. package/assets/sass/components/links.scss +0 -99
  295. package/assets/sass/components/modal.scss +0 -136
  296. package/assets/sass/components/panel.scss +0 -161
  297. package/assets/sass/components/tables.scss +0 -291
  298. package/assets/ts/modules/modal.ts +0 -91
  299. package/src/components/CardDeck/CardDeck.spec.js +0 -99
  300. package/src/components/CardDeck/CardDeck.vue +0 -77
  301. package/src/components/CardDeck/README.md +0 -25
  302. package/src/components/Modal/Modal.spec.js +0 -22
  303. package/src/components/Modal/Modal.vue +0 -43
  304. package/src/components/Modal/README.md +0 -20
@@ -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
+
@@ -4,7 +4,7 @@
4
4
  fill: currentColor;
5
5
  stroke: currentColor;
6
6
  stroke-width: 0;
7
- @include var(color,--colour-brand);
7
+ @include var(color,--colour-primary);
8
8
  width: rem(64);
9
9
  height: rem(64);
10
10
  display: inline-block;
@@ -0,0 +1,125 @@
1
+ @use "../_func.scss" as *;
2
+
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))),
19
+ .link {
20
+ background-color: transparent;
21
+ text-decoration: none;
22
+ display: inline-block;
23
+ border: none;
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;
32
+
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
+ }
45
+ }
46
+
47
+ [class*=fa-] {
48
+ margin-left: 0;
49
+ margin-right: 0.5rem;
50
+ }
51
+ [class*=fa-]:not(:first-child) {
52
+ margin-left: 0.5rem;
53
+ margin-right: 0;
54
+ }
55
+
56
+ &:is(:hover, :focus, .hover, :active, .active, :focus-within) {
57
+
58
+ &:after {
59
+ width: 60%;
60
+ }
61
+ }
62
+ }
63
+
64
+ @include inline-text(){
65
+ a:not(.btn) {
66
+ min-height: none;
67
+ display: inline;
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
+
80
+ text-decoration: underline;
81
+ text-underline-offset: 0.2em;
82
+ text-decoration-thickness: 2px;
83
+
84
+ &:is(:hover, :focus, .hover, :focus-within) {
85
+
86
+ color: var(--colour-hover);
87
+ text-decoration: none;
88
+ }
89
+
90
+ &:is(:active, .active) {
91
+
92
+ color: var(--colour-active);
93
+ text-decoration: none;
94
+ }
95
+ }
96
+ }
97
+
98
+ // #region Support card component
99
+ :is(a,button,label):has(.card, iam-card){
100
+
101
+ &:before {
102
+ display: none;
103
+ }
104
+ border: none;
105
+ background: none;
106
+ padding:0;
107
+ display: flex;
108
+ margin: 0 0 rem(24) 0;
109
+ outline: none!important;
110
+ text-decoration: none;
111
+
112
+ &:not(.d-inline-block){
113
+
114
+ width: 100%;
115
+ }
116
+
117
+ iam-card {
118
+ width: 100%;
119
+ }
120
+ }
121
+
122
+ .col > :is(a,button):has(.card, iam-card):first-child:last-child{
123
+ min-height: calc(100% - rem(24));
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 {
@@ -8,9 +8,8 @@ html {
8
8
  -webkit-font-smoothing: antialiased; // Fix for Safari/iOS
9
9
  height: 100%;
10
10
  width: 100%;
11
- overflow: hidden;
12
- overflow-y: scroll;
13
11
  overflow-x: hidden;
12
+ overflow-y: scroll;
14
13
  font-size: vw($device-xs-width);
15
14
  scroll-padding-top: rem(100);
16
15
 
@@ -44,27 +43,32 @@ html {
44
43
  }
45
44
 
46
45
  body {
47
-
48
- font-family: 'qanelasmedium', arial, sans-serif;
46
+ color-scheme: light dark;
47
+ @include var(background,--colour-canvas);
48
+ @include var(font-family,--font-body);
49
49
  @include var(color,--colour-body);
50
50
  width: 100%;
51
51
  line-height: 1.2;
52
- height: 100%;
53
- //overflow-y: scroll;
54
- //overflow-x: hidden;
55
- }
52
+ min-height: 100%;
56
53
 
57
- @media (hover: none) {
58
- body {
59
- height: 100%;
60
- overflow-y: scroll;
61
- overflow-x: hidden;
62
- }
63
54
  }
64
55
 
65
- #app {
66
- min-height: 100%;
56
+ // #region scrollbars
57
+ div::-webkit-scrollbar {
58
+ width: 8px;
59
+ height: 8px;
60
+ }
61
+
62
+ div::-webkit-scrollbar-track {
63
+ background-color: #f1f1f1;
64
+ border-radius: 2px;
65
+ }
66
+
67
+ div::-webkit-scrollbar-thumb {
68
+ background-color: #c1c1c1;
69
+ border-radius: 2px;
67
70
  }
71
+ //#endregion
68
72
 
69
73
  body > footer,
70
74
  body > #app > footer {
@@ -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 {