@iamproperty/components 1.0.14 → 2.3.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 (212) hide show
  1. package/README.md +120 -12
  2. package/assets/.DS_Store +0 -0
  3. package/assets/css/core.min.css +1 -0
  4. package/assets/css/core.min.css.map +1 -0
  5. package/assets/css/style.min.css +1 -0
  6. package/assets/css/style.min.css.map +1 -0
  7. package/assets/favicons/android-chrome-192x192.png +0 -0
  8. package/assets/favicons/android-chrome-512x512.png +0 -0
  9. package/assets/favicons/apple-touch-icon.png +0 -0
  10. package/assets/favicons/favicon-16x16.png +0 -0
  11. package/assets/favicons/favicon-32x32.png +0 -0
  12. package/assets/favicons/favicon.ico +0 -0
  13. package/assets/fonts/qanelas-medium-webfont.woff +0 -0
  14. package/assets/fonts/qanelas-medium-webfont.woff2 +0 -0
  15. package/assets/fonts/qanelassoft-extrabold-webfont.woff +0 -0
  16. package/assets/fonts/qanelassoft-extrabold-webfont.woff2 +0 -0
  17. package/{src/assets → assets}/img/logo.png +0 -0
  18. package/assets/js/main.js +67 -0
  19. package/assets/js/modules/accordion.js +36 -0
  20. package/assets/js/modules/carousel.js +102 -0
  21. package/assets/js/modules/drawer.js +16 -0
  22. package/assets/js/modules/form.js +49 -0
  23. package/assets/js/modules/helpers.js +93 -0
  24. package/assets/js/modules/modal.js +90 -0
  25. package/assets/js/modules/nav.js +27 -0
  26. package/assets/js/modules/table.js +573 -0
  27. package/assets/js/modules/testimonial.js +83 -0
  28. package/assets/js/modules/youtubevideo.js +145 -0
  29. package/assets/js/scripts.bundle.js +871 -0
  30. package/assets/js/scripts.bundle.js.map +1 -0
  31. package/assets/js/scripts.bundle.min.js +7 -0
  32. package/assets/js/scripts.bundle.min.js.map +1 -0
  33. package/assets/sass/_components.scss +35 -0
  34. package/assets/sass/_corefiles.scss +58 -0
  35. package/assets/sass/_func.scss +9 -0
  36. package/assets/sass/_functions/functions.scss +95 -0
  37. package/assets/sass/_functions/mixins.scss +109 -0
  38. package/assets/sass/_functions/utilities.scss +238 -0
  39. package/assets/sass/_functions/variables.scss +418 -0
  40. package/assets/sass/components/accordion.scss +195 -0
  41. package/assets/sass/components/card.scss +168 -0
  42. package/assets/sass/components/cardDeck.scss +107 -0
  43. package/assets/sass/components/carousel.scss +265 -0
  44. package/assets/sass/components/charts.scss +562 -0
  45. package/assets/sass/components/drawer.scss +45 -0
  46. package/assets/sass/components/header.scss +57 -0
  47. package/assets/sass/components/modal.scss +133 -0
  48. package/assets/sass/components/nav.scss +619 -0
  49. package/assets/sass/components/property-searchbar.scss +138 -0
  50. package/assets/sass/components/snapshot.scss +69 -0
  51. package/assets/sass/components/tabs.scss +46 -0
  52. package/assets/sass/components/testimonial.scss +131 -0
  53. package/assets/sass/components/timeline.scss +93 -0
  54. package/assets/sass/core.scss +4 -0
  55. package/assets/sass/elements/buttons.scss +263 -0
  56. package/assets/sass/elements/container.scss +222 -0
  57. package/assets/sass/elements/forms.scss +128 -0
  58. package/assets/sass/elements/links.scss +95 -0
  59. package/assets/sass/elements/lists.scss +26 -0
  60. package/assets/sass/elements/tables.scss +247 -0
  61. package/assets/sass/elements/tooltips.scss +71 -0
  62. package/assets/sass/elements/type.scss +114 -0
  63. package/assets/sass/foundations/brand.scss +74 -0
  64. package/assets/sass/foundations/circles.scss +73 -0
  65. package/assets/sass/foundations/fonts.scss +17 -0
  66. package/assets/sass/foundations/icons.scss +46 -0
  67. package/assets/sass/foundations/media.scss +47 -0
  68. package/assets/sass/foundations/reboot.scss +120 -0
  69. package/assets/sass/foundations/root.scss +45 -0
  70. package/assets/sass/main.scss +5 -0
  71. package/assets/svg/flat/agreed.svg +1 -0
  72. package/assets/svg/flat/alert.svg +1 -0
  73. package/assets/svg/flat/asset-37.svg +1 -0
  74. package/assets/svg/flat/asset-73.svg +1 -0
  75. package/assets/svg/flat/asset-82.svg +1 -0
  76. package/assets/svg/flat/award.svg +1 -0
  77. package/assets/svg/flat/bath.svg +1 -0
  78. package/assets/svg/flat/bed.svg +1 -0
  79. package/assets/svg/flat/calculate.svg +1 -0
  80. package/assets/svg/flat/calendar.svg +1 -0
  81. package/assets/svg/flat/celebrate.svg +1 -0
  82. package/assets/svg/flat/chat-house.svg +1 -0
  83. package/assets/svg/flat/chat.svg +1 -0
  84. package/assets/svg/flat/circle.svg +1 -0
  85. package/assets/svg/flat/clean.svg +1 -0
  86. package/assets/svg/flat/clock.svg +1 -0
  87. package/assets/svg/flat/computer.svg +1 -0
  88. package/assets/svg/flat/down.svg +1 -0
  89. package/assets/svg/flat/edit.svg +1 -0
  90. package/assets/svg/flat/email.svg +1 -0
  91. package/assets/svg/flat/event.svg +1 -0
  92. package/assets/svg/flat/family.svg +1 -0
  93. package/assets/svg/flat/file.svg +1 -0
  94. package/assets/svg/flat/find.svg +1 -0
  95. package/assets/svg/flat/fireworks.svg +1 -0
  96. package/assets/svg/flat/fist-left.svg +1 -0
  97. package/assets/svg/flat/fist.svg +1 -0
  98. package/assets/svg/flat/folder.svg +1 -0
  99. package/assets/svg/flat/footprints.svg +1 -0
  100. package/assets/svg/flat/hand.svg +1 -0
  101. package/assets/svg/flat/hands.svg +1 -0
  102. package/assets/svg/flat/house-2.svg +1 -0
  103. package/assets/svg/flat/house.svg +1 -0
  104. package/assets/svg/flat/idea.svg +1 -0
  105. package/assets/svg/flat/judge-house.svg +1 -0
  106. package/assets/svg/flat/judge.svg +1 -0
  107. package/assets/svg/flat/keys-house.svg +1 -0
  108. package/assets/svg/flat/lock.svg +1 -0
  109. package/assets/svg/flat/mobile.svg +1 -0
  110. package/assets/svg/flat/money.svg +1 -0
  111. package/assets/svg/flat/monument.svg +1 -0
  112. package/assets/svg/flat/online-judgement.svg +1 -0
  113. package/assets/svg/flat/paint.svg +1 -0
  114. package/assets/svg/flat/person-2.svg +1 -0
  115. package/assets/svg/flat/person.svg +1 -0
  116. package/assets/svg/flat/phone.svg +1 -0
  117. package/assets/svg/flat/pin.svg +1 -0
  118. package/assets/svg/flat/pound.svg +1 -0
  119. package/assets/svg/flat/present.svg +1 -0
  120. package/assets/svg/flat/qualification.svg +1 -0
  121. package/assets/svg/flat/rocket.svg +1 -0
  122. package/assets/svg/flat/sale.svg +1 -0
  123. package/assets/svg/flat/save.svg +1 -0
  124. package/assets/svg/flat/scale.svg +1 -0
  125. package/assets/svg/flat/send.svg +1 -0
  126. package/assets/svg/flat/share.svg +1 -0
  127. package/assets/svg/flat/sofa.svg +1 -0
  128. package/assets/svg/flat/sold.svg +1 -0
  129. package/assets/svg/flat/star.svg +1 -0
  130. package/assets/svg/flat/stopwatch.svg +1 -0
  131. package/assets/svg/flat/task.svg +1 -0
  132. package/assets/svg/flat/telescope.svg +1 -0
  133. package/assets/svg/flat/thumb.svg +1 -0
  134. package/assets/svg/flat/time.svg +1 -0
  135. package/assets/svg/flat/up.svg +1 -0
  136. package/assets/svg/flat/valuation.svg +1 -0
  137. package/assets/svg/flat/value-house.svg +1 -0
  138. package/assets/svg/flat/warning.svg +1 -0
  139. package/assets/svg/flat/water.svg +1 -0
  140. package/assets/svg/icons.svg +51 -0
  141. package/assets/svg/illustrations/commuter1.svg +1 -0
  142. package/assets/svg/illustrations/commuter2.svg +1 -0
  143. package/assets/svg/illustrations/commuter3.svg +1 -0
  144. package/assets/svg/logo.svg +43 -0
  145. package/dist/components.common.js +2825 -252
  146. package/dist/components.common.js.map +1 -1
  147. package/dist/components.css +2 -1
  148. package/dist/components.css.map +1 -0
  149. package/dist/components.umd.js +2825 -252
  150. package/dist/components.umd.js.map +1 -1
  151. package/dist/components.umd.min.js +1 -1
  152. package/dist/components.umd.min.js.map +1 -1
  153. package/package.json +90 -57
  154. package/src/.DS_Store +0 -0
  155. package/src/components/Accordion/Accordion.vue +24 -0
  156. package/src/components/Accordion/AccordionItem.vue +43 -0
  157. package/src/components/Accordion/README.md +34 -0
  158. package/src/components/Banner/Banner.vue +38 -0
  159. package/src/components/Banner/README.md +24 -0
  160. package/src/components/Card/Card.vue +115 -0
  161. package/src/components/Card/README.md +24 -0
  162. package/src/components/CardDeck/CardDeck.vue +78 -0
  163. package/src/components/CardDeck/README.md +25 -0
  164. package/src/components/Carousel/Carousel.vue +86 -0
  165. package/src/components/Carousel/README.md +20 -0
  166. package/src/components/Chart/Chart.vue +246 -0
  167. package/src/components/Chart/README.md +18 -0
  168. package/src/components/Drawer/Drawer.vue +54 -0
  169. package/src/components/Drawer/README.md +23 -0
  170. package/src/components/Header/Header.vue +39 -0
  171. package/src/components/Header/README.md +28 -0
  172. package/src/components/Modal/Modal.vue +44 -0
  173. package/src/components/Modal/README.md +20 -0
  174. package/src/components/Nav/Nav.vue +129 -0
  175. package/src/components/Nav/README.md +23 -0
  176. package/src/components/PropertySearchbar/PropertySearchbar.vue +206 -0
  177. package/src/components/PropertySearchbar/README.md +26 -0
  178. package/src/components/Snapshot/README.md +21 -0
  179. package/src/components/Snapshot/Snapshot.vue +33 -0
  180. package/src/components/Tabs/README.md +27 -0
  181. package/src/components/Tabs/Tab.vue +17 -0
  182. package/src/components/Tabs/Tabs.vue +59 -0
  183. package/src/components/Testimonial/README.md +26 -0
  184. package/src/components/Testimonial/Testimonial.vue +61 -0
  185. package/src/components/Timeline/README.md +18 -0
  186. package/src/components/Timeline/Timeline.vue +25 -0
  187. package/src/elements/Input/Input.vue +236 -0
  188. package/src/elements/Input/README.md +18 -0
  189. package/src/elements/Table/README.md +55 -0
  190. package/src/elements/Table/Table.vue +112 -0
  191. package/src/foundations/Icon/Icon.vue +21 -0
  192. package/src/foundations/Icon/README.md +11 -0
  193. package/src/foundations/Logo/Logo.vue +39 -0
  194. package/src/foundations/Logo/README.md +20 -0
  195. package/src/foundations/YoutubeVideo/README.md +11 -0
  196. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -0
  197. package/src/helpers/strings.js +12 -0
  198. package/src/index.js +21 -6
  199. package/src/assets/css/default.css +0 -99
  200. package/src/assets/logo.png +0 -0
  201. package/src/assets/scss/_variables.scss +0 -13
  202. package/src/components/KeyFacts/KeyFact.vue +0 -45
  203. package/src/components/KeyFacts/KeyFactGroup.vue +0 -44
  204. package/src/components/KeyFacts/README.md +0 -23
  205. package/src/components/KeyInformation/KeyInformation.vue +0 -23
  206. package/src/components/KeyInformation/README.md +0 -32
  207. package/src/components/PropertyTaskIntro/PropertyTaskIntro.vue +0 -74
  208. package/src/components/PropertyTaskIntro/README.md +0 -27
  209. package/src/components/TaskTitle/README.md +0 -24
  210. package/src/components/TaskTitle/TaskTitle.vue +0 -68
  211. package/src/components/VendorTable/README.md +0 -63
  212. package/src/components/VendorTable/VendorTable.vue +0 -30
@@ -0,0 +1,418 @@
1
+ // Declare global vars variable
2
+ $vars: ();
3
+ $varsMD: ();
4
+
5
+ // #region Grid Breakpoints, layouts
6
+ $grid-breakpoints: (
7
+ xs: 0,
8
+ sm: 36em, /* 576 */
9
+ md: 62em /* 992 */
10
+ );
11
+
12
+ @each $bp, $value in $grid-breakpoints {
13
+
14
+ $vars: map-merge((
15
+ --breakpoint-#{$bp}: #{$value}
16
+ ), $vars);
17
+ }
18
+
19
+ $device-xs-width: 375;
20
+ $device-sm-width: 768;
21
+ $device-md-width: 1440;
22
+
23
+ $container-max-widths: (
24
+ sm: 0,
25
+ md: 80em
26
+ );
27
+
28
+ $grid-columns: 12;
29
+ $grid-gutter-width: 1rem; // 15px
30
+
31
+ $container-padding-x: 20;
32
+ $container-padding-x-md: 60;
33
+ $container-padding: var(--container-padding-top) rem($container-padding-x) var(--container-padding-bottom) rem($container-padding-x);
34
+ $container-padding-md: var(--container-padding-top) rem($container-padding-x-md) var(--container-padding-bottom) rem($container-padding-x-md);
35
+
36
+ $vars: map-merge((
37
+ "--container-padding-top": 0,
38
+ "--container-padding-bottom": #{rem(16)},
39
+ "--container-padding-x": #{rem($container-padding-x)},
40
+ "--container-padding-x-md": #{rem($container-padding-x-md)},
41
+ "--container-padding": $container-padding,
42
+ "--container-padding-md": $container-padding-md
43
+ ), $vars);
44
+
45
+ $varsMD: map-merge((
46
+ "--container-padding": var(--container-padding-md),
47
+ "--container-padding-x": var(--container-padding-x-md)
48
+ ), $varsMD);
49
+ // #endregion
50
+
51
+ // #region Colours
52
+ // Default Bootstrap Theme vars
53
+ $primary: #00313c;
54
+ $secondary: #b4e6a5;
55
+ $success: #b4e6a5;
56
+ $info: #1ebee6;
57
+ $warning: #ffa500;
58
+ $danger: #dc3545;
59
+ $light: #ffd2d2;
60
+ $dark: #46003c;
61
+
62
+
63
+ // Functional/state variables
64
+ $colour-body: #6f6f6f;
65
+ $colour-muted: #9d9d9d;
66
+ $colour-border: #6f6f6f;
67
+ $colour-link: $primary;
68
+ $colour-focus: #000000;
69
+ $colour-hover: #000000;
70
+ $colour-active: $success;
71
+ $colour-selected: $success;
72
+
73
+ $theme-colors: ();
74
+ $theme-colors: map-merge((
75
+ "primary": $primary,
76
+ "secondary": $secondary,
77
+ "success": $success,
78
+ "info": $info,
79
+ "warning": $warning,
80
+ "danger": $danger,
81
+ "light": $light,
82
+ "dark": $dark
83
+ ), $theme-colors);
84
+
85
+
86
+ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
87
+
88
+ @each $color, $value in $theme-colors-rgb {
89
+
90
+ $vars: map-merge((
91
+ --colour-#{$color}-rgb: #{$value}
92
+ ), $vars);
93
+ }
94
+ @each $color, $value in $theme-colors-rgb {
95
+
96
+ $vars: map-merge((
97
+ --colour-#{$color}: rgba(var(--colour-#{$color}-rgb),var(--alpha,1))
98
+ ), $vars);
99
+ }
100
+
101
+ @each $color, $value in $theme-colors-rgb {
102
+
103
+ $vars: map-merge((
104
+ --colour-#{$color}-theme: rgba(var(--colour-#{$color}-rgb),var(--alpha,1))
105
+ ), $vars);
106
+ }
107
+
108
+ // RGB Theme colours
109
+ @function show-css-var($identifier) {
110
+ @return rgba(var(--colour-#{$identifier}-rgb),var(--bs-bg-opacity,1));
111
+ }
112
+ @function show-css-var-text($identifier) {
113
+ @return rgba(var(--colour-#{$identifier}-rgb),var(--bs-text-opacity,1));
114
+ }
115
+ $utilities-bg-colors: map-loop($utilities-colors, show-css-var, "$key");
116
+ $utilities-text-colors: map-loop($utilities-colors, show-css-var-text, "$key");
117
+
118
+
119
+
120
+ // Colours that we want setting but not used for Bootstraps mixins, i.e. .text-primary, .bg-muted
121
+ $non-theme-colors: ();
122
+ $non-theme-colors: map-merge((
123
+ "muted": $colour-muted,
124
+ "border": $colour-border,
125
+ "link": $colour-link,
126
+ "focus": $colour-focus,
127
+ "hover": $colour-hover,
128
+ "active": $colour-active,
129
+ "selected": $colour-selected
130
+ ), $non-theme-colors);
131
+
132
+ @each $color, $value in $non-theme-colors {
133
+
134
+ $vars: map-merge((
135
+ --colour-#{$color}-theme: #{$value},
136
+ --colour-#{$color}: #{'var(--colour-'+$color+'-theme)'}
137
+ ), $vars);
138
+ }
139
+
140
+ $vars: map-merge((
141
+ "--colour-body-rgb": to-rgb($colour-body),
142
+ "--colour-white-rgb": to-rgb(#ffffff),
143
+ "--colour-black-rgb": to-rgb(#000000),
144
+ "--colour-body": rgba(var(--colour-body-rgb),var(--alpha,1)),
145
+ "--colour-white": rgba(var(--colour-white-rgb),var(--alpha,1)),
146
+ "--colour-black": rgba(var(--colour-black-rgb),var(--alpha,1))
147
+ ), $vars);
148
+
149
+ $gradient: linear-gradient(180deg, var(--colour-secondary) 0, var(--colour-info) 100%);
150
+
151
+ // #endregion
152
+
153
+ // #region aspect ratios
154
+ $aspect-ratios: (
155
+ "1x1": 100%,
156
+ "4x3": calc(3 / 4 * 100%),
157
+ "16x9": calc(9 / 16 * 100%),
158
+ "21x9": calc(9 / 21 * 100%)
159
+ );
160
+ // #endregion
161
+
162
+ // #region fonts
163
+
164
+ $font-body: 'qanelasmedium', arial, sans-serif;
165
+ $font-heading: 'qanelas_softextrabold', arial, sans-serif;
166
+
167
+ $fonts: ();
168
+ $fonts: map-merge((
169
+ "heading": $font-heading,
170
+ "body": $font-body
171
+ ), $fonts);
172
+
173
+
174
+ @each $font, $value in $fonts {
175
+
176
+ $vars: map-merge((
177
+ --font-#{$font}: #{$value}
178
+ ), $vars);
179
+ }
180
+
181
+ // #endregion
182
+
183
+ // #region Type
184
+
185
+ $type-scale-1: #{rem(100)};
186
+ $type-scale-2: #{rem(60)};
187
+ $type-scale-3: #{rem(40)};
188
+ $type-scale-4: #{rem(32)};
189
+ $type-scale-5: #{rem(28)};
190
+ $type-scale-6: #{rem(16)};
191
+ $type-scale-7: #{rem(14)};
192
+
193
+
194
+ $h1-font-size: var(--fs-1);
195
+ $h2-font-size: var(--fs-2);
196
+ $h3-font-size: var(--fs-3);
197
+ $h4-font-size: var(--fs-4);
198
+ $h5-font-size: var(--fs-5);
199
+ $h6-font-size: var(--fs-6);
200
+
201
+ $font-sizes: (
202
+ 'display': $type-scale-3,
203
+ 1: $type-scale-3,
204
+ 2: $type-scale-4,
205
+ 3: $type-scale-5,
206
+ 4: $type-scale-6,
207
+ 5: $type-scale-6,
208
+ 6: $type-scale-6,
209
+ 'badge': $badge-font-size,
210
+ 'small': $type-scale-7,
211
+ 'strapline': $type-scale-6
212
+ );
213
+
214
+ @each $size, $value in $font-sizes {
215
+
216
+ $vars: map-merge((
217
+ --fs-#{$size}: #{$value}
218
+ ), $vars);
219
+ }
220
+
221
+ $headings-margin-bottom: clamp(1rem,0.5em,0.5em);
222
+ $headings-font-style: normal;
223
+ $headings-line-height: clamp(1em,2.5rem,clamp(1.5em,1rem,1.2em));
224
+ $display-line-height: $headings-line-height;
225
+
226
+ @if $compatible == 'true' {
227
+ $headings-font-family: $font-heading;
228
+ $headings-font-weight: 700;
229
+ $headings-color: $primary;
230
+ }
231
+ @else {
232
+ $headings-font-family: var(--font-heading);
233
+ $headings-font-weight: var(--heading-weight);
234
+ $headings-color: var(--colour-primary);
235
+ }
236
+
237
+ $font-md-sizes: (
238
+ 'display': $type-scale-1,
239
+ 1: $type-scale-2,
240
+ 2: $type-scale-3,
241
+ 3: $type-scale-4,
242
+ 4: $type-scale-5,
243
+ 'strapline': $type-scale-5
244
+ );
245
+
246
+ @each $size, $value in $font-md-sizes {
247
+
248
+ $varsMD: map-merge((
249
+ --fs-#{$size}: #{$value}
250
+ ), $varsMD);
251
+ }
252
+
253
+ $vars: map-merge((
254
+ --heading-weight: 700
255
+ ), $vars);
256
+
257
+ $content-max-width: rem(820);
258
+ $paragraph-margin-bottom: 2rem;
259
+
260
+ // #endregion
261
+
262
+ // #region Buttons
263
+ $btn-border-radius: 1rem;
264
+ $btn-border-radius-sm: 1rem;
265
+ $btn-border-radius-lg: 1rem;
266
+
267
+ $btn-padding-y: 0.5rem;
268
+ $btn-padding-x: 1.5rem;
269
+ $btn-padding-y-sm: $btn-padding-y;
270
+ $btn-padding-x-sm: $btn-padding-x;
271
+ $btn-padding-y-md: $btn-padding-y;
272
+ $btn-padding-x-md: $btn-padding-x;
273
+
274
+ // #endregion
275
+
276
+ // #region Forms
277
+ // label
278
+ $form-label-font-size: $h5-font-size;
279
+ $form-label-font-weight: bold;
280
+ $form-label-color: var(--colour-heading);
281
+ $form-label-margin-bottom: 0.25rem;
282
+ // input field
283
+ $input-font-size: 1rem;
284
+ $input-font-weight: normal;
285
+ $input-line-height: 1.5;
286
+ $input-padding-y: 0.75em;
287
+ $input-padding-x: 1em;
288
+ $input-border-radius: rem(10);
289
+ $input-border-color: var(--colour-border);
290
+
291
+ // sm
292
+ $input-height-sm: null;
293
+ $input-font-size-sm: #{rem(14)};
294
+ $input-border-radius-sm: null; // Inherit default value
295
+ $input-padding-y-sm: null;
296
+ $input-padding-x-sm: null;
297
+
298
+ // lg
299
+ $input-height-lg: null;
300
+ $input-font-size-lg: #{rem(24)};
301
+ $input-border-radius-lg: false; // Inherit default value
302
+ $input-padding-y-lg: null;
303
+ $input-padding-x-lg: null;
304
+
305
+ // Input group
306
+ $input-group-addon-bg: white;
307
+ $input-group-addon-border-color: var(--colour-border);
308
+
309
+
310
+
311
+ // Select
312
+ $form-select-padding-y: $input-padding-y;
313
+ //$form-select-indicator-padding
314
+ $form-select-padding-x: #{$input-padding-x};
315
+ $form-select-border-color: var(--colour-border);
316
+ $form-select-border-radius: $input-border-radius;
317
+
318
+ // Checkbox
319
+ $form-check-input-width: 1.5rem;
320
+ $form-check-min-height: #{rem(28)};
321
+ $form-check-padding-start: 2rem;
322
+ $form-check-margin-bottom: #{rem(16)};
323
+
324
+ $form-check-input-border: 1px solid var(--colour-border);
325
+
326
+ $form-check-input-checked-color: $primary;
327
+ $form-check-input-checked-bg-color: var(--colour-success);
328
+ $form-check-input-checked-border-color: var(--colour-border);
329
+ $form-check-input-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/></svg>");
330
+
331
+ $form-check-input-indeterminate-color: $primary;
332
+ $form-check-input-indeterminate-bg-color: var(--colour-success);
333
+ $form-check-input-indeterminate-border-color: var(--colour-success);
334
+ $form-check-input-indeterminate-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/></svg>");
335
+
336
+ $form-switch-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$colour-border}'/></svg>");
337
+ $form-switch-focus-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$colour-focus}'/></svg>");
338
+ $form-switch-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$primary}'/></svg>");
339
+
340
+ $form-check-radio-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$primary}'/></svg>");
341
+
342
+
343
+ // #endregion
344
+
345
+ // #region Cards
346
+ $card-border-width: 0;
347
+ $card-border-radius: rem(10);
348
+ $card-spacer-y: 1.5rem;
349
+ $card-spacer-x: 1.25rem;
350
+
351
+
352
+ $card-cap-padding-y: 1.5rem;
353
+ $card-cap-padding-x: 1.25rem;
354
+
355
+
356
+
357
+ $card-cap-bg: transparent;
358
+ // #endregion card-variables
359
+
360
+ // #region Icons
361
+ $icon-blank: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M17 13v6c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-11c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-11c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h6c0.552 0 1-0.448 1-1s-0.448-1-1-1h-6c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v11c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h11c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM10.707 14.707l9.293-9.293v3.586c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.136-0.027-0.265-0.076-0.383s-0.121-0.228-0.216-0.323c-0.001-0.001-0.001-0.001-0.002-0.002-0.092-0.092-0.202-0.166-0.323-0.216-0.118-0.049-0.247-0.076-0.383-0.076h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h3.586l-9.293 9.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z' stroke-width='2px'></path></svg>");
362
+ $icon-sort: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E");
363
+ $icon-arrow: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M6.5,2l9,9-9,9' style='fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px'/></svg>");
364
+
365
+ $vars: map-merge((
366
+ --icon-blank: #{escape-svg($icon-blank)},
367
+ --icon-sort: #{$icon-sort},
368
+ --icon-arrow: #{escape-svg($icon-arrow)},
369
+ ), $vars);
370
+ // #endregion
371
+
372
+ // #region pagination
373
+ // Default
374
+ $pagination-color: var(--colour-primary);
375
+ $pagination-disabled-color: var(--colour-muted);
376
+ $pagination-bg: transparent;
377
+ $pagination-border-width: 1px;
378
+ $pagination-border-color: var(--colour-border);
379
+
380
+ // Hover and focus
381
+ $pagination-hover-color: var(--colour-primary);
382
+ $pagination-hover-bg: var(--colour-muted);
383
+ $pagination-hover-border-color: var(--colour-border);
384
+ $pagination-focus-color: var(--colour-primary);
385
+ $pagination-focus-bg: var(--colour-muted);
386
+
387
+ // Active
388
+ $pagination-active-color: white;
389
+ $pagination-active-bg: var(--colour-primary);
390
+ $pagination-active-border-color: var(--colour-primary);
391
+
392
+ // Disabled
393
+ $pagination-disabled-bg: $pagination-bg;
394
+ $pagination-disabled-border-color: $pagination-border-color;
395
+ // #endregion
396
+
397
+ // #region Accordion
398
+ $accordion-button-padding-y: var(--accordion-y-padding);
399
+ $accordion-button-padding-x: var(--accordion-indent);
400
+ $accordion-button-color: var(--colour-primary);
401
+ $accordion-button-bg: transparent;
402
+
403
+ $accordion-icon-color: $primary;
404
+ $accordion-icon-active-color: $primary;
405
+
406
+ $accordion-button-icon: var(--icon-arrow);
407
+
408
+ $accordion-button-active-color: var(--colour-primary);
409
+ $accordion-button-active-bg: transparent;
410
+
411
+ $accordion-border-color: var(--colour-border);
412
+ $accordion-border-width: 1px;
413
+ $accordion-bg: transparent;
414
+
415
+ $accordion-body-padding-y: 1rem;
416
+ $accordion-body-padding-x: var(--accordion-indent);
417
+
418
+ // #endregion
@@ -0,0 +1,195 @@
1
+ // Accordion
2
+ .accordion {
3
+ --accordion-indent: 0.75rem;
4
+ --accordion-right-padding: 3rem;
5
+ --accordion-y-padding: 1rem;
6
+ --accordion-icon-size: #{rem(30)};
7
+ --accordion-icon-top: #{rem(12)};
8
+
9
+ @include media-breakpoint-up(md) {
10
+ //--accordion-indent: 1rem;
11
+ --accordion-right-padding: 6rem;
12
+ --accordion-y-padding: 2rem;
13
+ --accordion-icon-size: #{rem(48)};
14
+ --accordion-icon-top: #{rem(20)};
15
+ }
16
+ }
17
+
18
+ .accordion-button {
19
+
20
+ padding: $accordion-button-padding-y var(--accordion-right-padding) $accordion-button-padding-y $accordion-button-padding-x;
21
+ color: $accordion-button-color;
22
+ text-align: left; // Reset button style
23
+ background-color: $accordion-button-bg;
24
+ overflow-anchor: none;
25
+ @include transition($accordion-transition);
26
+
27
+ --marker-bg: var(--colour-secondary);
28
+ cursor: pointer;
29
+ position: relative;
30
+
31
+ .badge {
32
+ vertical-align: bottom;
33
+ margin-left: 0.5em;
34
+ margin-right: 0.5em;
35
+ margin-bottom: 0.1em;
36
+ }
37
+
38
+
39
+ &:before,
40
+ &:after {
41
+
42
+ content: "";
43
+ position: absolute;
44
+ right: var(--accordion-indent);
45
+ top: var(--accordion-icon-top);
46
+ margin-top: var(--accordion-icon-size-half);
47
+ width: var(--accordion-icon-size);
48
+ height: var(--accordion-icon-size);
49
+ }
50
+
51
+ &:before {
52
+ text-indent: 100%;
53
+ white-space: nowrap;
54
+ overflow: hidden;
55
+ background: var(--marker-bg);
56
+ border-radius: 100%;
57
+ }
58
+
59
+ // Accordion icon
60
+ &::after {
61
+ background: currentColor;
62
+ mask-image: escape-svg($accordion-button-icon);
63
+ mask-size: 50%;
64
+ mask-repeat: no-repeat;
65
+ mask-position: 50% 50%;
66
+
67
+ -webkit-mask-image: escape-svg($accordion-button-icon);
68
+ -webkit-mask-size: 50%;
69
+ -webkit-mask-repeat: no-repeat;
70
+ -webkit-mask-position: 50% 50%;
71
+
72
+ @include transition($accordion-icon-transition);
73
+ transform: rotate(90deg);
74
+ }
75
+
76
+ &:hover,
77
+ &:focus {
78
+
79
+ --marker-bg: var(--colour-warning);
80
+ color: var(--colour-hover);
81
+ }
82
+
83
+ &:hover {
84
+ z-index: 2;
85
+ }
86
+
87
+ &:focus {
88
+ z-index: 3;
89
+ border-color: $accordion-button-focus-border-color;
90
+ outline: 0;
91
+ box-shadow: $accordion-button-focus-box-shadow;
92
+ }
93
+
94
+ [open] > summary > & {
95
+ color: $accordion-button-active-color;
96
+ background-color: $accordion-button-active-bg;
97
+
98
+ &::after {
99
+
100
+ transform: rotate(-90deg);
101
+ }
102
+ }
103
+ }
104
+
105
+ // #region Coloured summary
106
+ summary[class*="bg-"] {
107
+
108
+ .accordion-button {
109
+
110
+ border-bottom: 1px solid var(--colour-border);
111
+ margin-bottom: -1px;
112
+
113
+ &:before {
114
+ background: none!important;
115
+ }
116
+ }
117
+
118
+ &:hover .accordion-button {
119
+ opacity: 0.8;
120
+ }
121
+
122
+ & + .accordion-body {
123
+
124
+ padding-top: 2rem;
125
+ }
126
+ }
127
+ // #endregion
128
+
129
+
130
+
131
+ .accordion-header {
132
+ margin-bottom: 0;
133
+ }
134
+
135
+ .accordion-item {
136
+ background-color: $accordion-bg;
137
+ border-bottom: $accordion-border-width solid $accordion-border-color;
138
+ margin-bottom: 2rem;
139
+
140
+ &:first-of-type {
141
+ border-top: $accordion-border-width solid $accordion-border-color;
142
+ }
143
+
144
+ & + .accordion-item {
145
+ margin-top: -2rem;
146
+ }
147
+ }
148
+
149
+ .accordion-body {
150
+ text-align: left;
151
+ padding: 0 $accordion-body-padding-x;
152
+ }
153
+
154
+ // #region Straight edge
155
+ .accordion--straight {
156
+ > details > summary:not([class*="bg-"]) > .accordion-button,
157
+ > details > .accordion-body {
158
+ padding-left: 0!important;
159
+ }
160
+
161
+ > details > .accordion-body {
162
+ padding-right: 0!important;
163
+ }
164
+ }
165
+ // #endregion
166
+
167
+ // #region Child accordion
168
+ .accordion .accordion {
169
+
170
+ &:first-child {
171
+
172
+ padding-top: 1rem;
173
+ }
174
+
175
+ &:last-child {
176
+
177
+ padding-bottom: 2rem;
178
+ }
179
+
180
+ .accordion-button {
181
+ padding: 1rem 3rem 1rem var(--accordion-indent);
182
+
183
+ &:before,
184
+ &:after {
185
+ top: 0.75rem;
186
+ height: 2rem;
187
+ width: 2rem;
188
+ right: 0.5rem;
189
+ }
190
+ &:before {
191
+ background-color: var(--colour-light);
192
+ }
193
+ }
194
+ }
195
+ // #endregion