@iamproperty/components 1.0.12 → 2.1.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 (209) 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/assets/img/.DS_Store +0 -0
  18. package/{src/assets → assets}/img/logo.png +0 -0
  19. package/assets/js/main.js +62 -0
  20. package/assets/js/modules/accordion.js +36 -0
  21. package/assets/js/modules/carousel.js +102 -0
  22. package/assets/js/modules/drawer.js +16 -0
  23. package/assets/js/modules/form.js +49 -0
  24. package/assets/js/modules/helpers.js +93 -0
  25. package/assets/js/modules/modal.js +72 -0
  26. package/assets/js/modules/nav.js +27 -0
  27. package/assets/js/modules/table.js +573 -0
  28. package/assets/js/modules/testimonial.js +83 -0
  29. package/assets/js/scripts.bundle.js +1313 -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/.DS_Store +0 -0
  34. package/assets/sass/_components.scss +35 -0
  35. package/assets/sass/_corefiles.scss +58 -0
  36. package/assets/sass/_func.scss +9 -0
  37. package/assets/sass/_functions/functions.scss +95 -0
  38. package/assets/sass/_functions/mixins.scss +109 -0
  39. package/assets/sass/_functions/utilities.scss +198 -0
  40. package/assets/sass/_functions/variables.scss +365 -0
  41. package/assets/sass/components/accordion.scss +194 -0
  42. package/assets/sass/components/card.scss +168 -0
  43. package/assets/sass/components/cardDeck.scss +107 -0
  44. package/assets/sass/components/carousel.scss +265 -0
  45. package/assets/sass/components/charts.scss +562 -0
  46. package/assets/sass/components/drawer.scss +45 -0
  47. package/assets/sass/components/header.scss +57 -0
  48. package/assets/sass/components/modal.scss +133 -0
  49. package/assets/sass/components/nav.scss +619 -0
  50. package/assets/sass/components/property-searchbar.scss +138 -0
  51. package/assets/sass/components/snapshot.scss +69 -0
  52. package/assets/sass/components/tabs.scss +46 -0
  53. package/assets/sass/components/testimonial.scss +131 -0
  54. package/assets/sass/components/timeline.scss +93 -0
  55. package/assets/sass/core.scss +4 -0
  56. package/assets/sass/elements/buttons.scss +263 -0
  57. package/assets/sass/elements/container.scss +134 -0
  58. package/assets/sass/elements/forms.scss +128 -0
  59. package/assets/sass/elements/links.scss +95 -0
  60. package/assets/sass/elements/lists.scss +21 -0
  61. package/assets/sass/elements/media.scss +3 -0
  62. package/assets/sass/elements/tables.scss +247 -0
  63. package/assets/sass/elements/tooltips.scss +71 -0
  64. package/assets/sass/elements/type.scss +99 -0
  65. package/assets/sass/foundations/brand.scss +64 -0
  66. package/assets/sass/foundations/circles.scss +66 -0
  67. package/assets/sass/foundations/fonts.scss +17 -0
  68. package/assets/sass/foundations/icons.scss +46 -0
  69. package/assets/sass/foundations/reboot.scss +110 -0
  70. package/assets/sass/foundations/root.scss +42 -0
  71. package/assets/sass/main.scss +5 -0
  72. package/assets/svg/.DS_Store +0 -0
  73. package/assets/svg/flat/.DS_Store +0 -0
  74. package/assets/svg/flat/agreed.svg +1 -0
  75. package/assets/svg/flat/alert.svg +1 -0
  76. package/assets/svg/flat/asset-37.svg +1 -0
  77. package/assets/svg/flat/asset-73.svg +1 -0
  78. package/assets/svg/flat/asset-82.svg +1 -0
  79. package/assets/svg/flat/award.svg +1 -0
  80. package/assets/svg/flat/bath.svg +1 -0
  81. package/assets/svg/flat/bed.svg +1 -0
  82. package/assets/svg/flat/calculate.svg +1 -0
  83. package/assets/svg/flat/calendar.svg +1 -0
  84. package/assets/svg/flat/celebrate.svg +1 -0
  85. package/assets/svg/flat/chat-house.svg +1 -0
  86. package/assets/svg/flat/chat.svg +1 -0
  87. package/assets/svg/flat/circle.svg +1 -0
  88. package/assets/svg/flat/clean.svg +1 -0
  89. package/assets/svg/flat/clock.svg +1 -0
  90. package/assets/svg/flat/computer.svg +1 -0
  91. package/assets/svg/flat/down.svg +1 -0
  92. package/assets/svg/flat/edit.svg +1 -0
  93. package/assets/svg/flat/email.svg +1 -0
  94. package/assets/svg/flat/event.svg +1 -0
  95. package/assets/svg/flat/family.svg +1 -0
  96. package/assets/svg/flat/file.svg +1 -0
  97. package/assets/svg/flat/find.svg +1 -0
  98. package/assets/svg/flat/fireworks.svg +1 -0
  99. package/assets/svg/flat/fist-left.svg +1 -0
  100. package/assets/svg/flat/fist.svg +1 -0
  101. package/assets/svg/flat/folder.svg +1 -0
  102. package/assets/svg/flat/footprints.svg +1 -0
  103. package/assets/svg/flat/hand.svg +1 -0
  104. package/assets/svg/flat/hands.svg +1 -0
  105. package/assets/svg/flat/house-2.svg +1 -0
  106. package/assets/svg/flat/house.svg +1 -0
  107. package/assets/svg/flat/idea.svg +1 -0
  108. package/assets/svg/flat/judge-house.svg +1 -0
  109. package/assets/svg/flat/judge.svg +1 -0
  110. package/assets/svg/flat/keys-house.svg +1 -0
  111. package/assets/svg/flat/lock.svg +1 -0
  112. package/assets/svg/flat/mobile.svg +1 -0
  113. package/assets/svg/flat/money.svg +1 -0
  114. package/assets/svg/flat/monument.svg +1 -0
  115. package/assets/svg/flat/online-judgement.svg +1 -0
  116. package/assets/svg/flat/paint.svg +1 -0
  117. package/assets/svg/flat/person-2.svg +1 -0
  118. package/assets/svg/flat/person.svg +1 -0
  119. package/assets/svg/flat/phone.svg +1 -0
  120. package/assets/svg/flat/pin.svg +1 -0
  121. package/assets/svg/flat/pound.svg +1 -0
  122. package/assets/svg/flat/present.svg +1 -0
  123. package/assets/svg/flat/qualification.svg +1 -0
  124. package/assets/svg/flat/rocket.svg +1 -0
  125. package/assets/svg/flat/sale.svg +1 -0
  126. package/assets/svg/flat/save.svg +1 -0
  127. package/assets/svg/flat/scale.svg +1 -0
  128. package/assets/svg/flat/send.svg +1 -0
  129. package/assets/svg/flat/share.svg +1 -0
  130. package/assets/svg/flat/sofa.svg +1 -0
  131. package/assets/svg/flat/sold.svg +1 -0
  132. package/assets/svg/flat/star.svg +1 -0
  133. package/assets/svg/flat/stopwatch.svg +1 -0
  134. package/assets/svg/flat/task.svg +1 -0
  135. package/assets/svg/flat/telescope.svg +1 -0
  136. package/assets/svg/flat/thumb.svg +1 -0
  137. package/assets/svg/flat/time.svg +1 -0
  138. package/assets/svg/flat/up.svg +1 -0
  139. package/assets/svg/flat/valuation.svg +1 -0
  140. package/assets/svg/flat/value-house.svg +1 -0
  141. package/assets/svg/flat/warning.svg +1 -0
  142. package/assets/svg/flat/water.svg +1 -0
  143. package/assets/svg/icons.svg +51 -0
  144. package/assets/svg/illustrations/commuter1.svg +1 -0
  145. package/assets/svg/illustrations/commuter2.svg +1 -0
  146. package/assets/svg/illustrations/commuter3.svg +1 -0
  147. package/assets/svg/logo.svg +43 -0
  148. package/dist/components.common.js +8253 -328
  149. package/dist/components.common.js.map +1 -1
  150. package/dist/components.css +2 -1
  151. package/dist/components.css.map +1 -0
  152. package/dist/components.umd.js +8253 -328
  153. package/dist/components.umd.js.map +1 -1
  154. package/dist/components.umd.min.js +1 -1
  155. package/dist/components.umd.min.js.map +1 -1
  156. package/package.json +91 -57
  157. package/src/.DS_Store +0 -0
  158. package/src/components/Accordion/Accordion.vue +24 -0
  159. package/src/components/Accordion/AccordionItem.vue +43 -0
  160. package/src/components/Accordion/README.md +34 -0
  161. package/src/components/Banner/Banner.vue +38 -0
  162. package/src/components/Banner/README.md +24 -0
  163. package/src/components/Card/Card.vue +115 -0
  164. package/src/components/Card/README.md +24 -0
  165. package/src/components/CardDeck/CardDeck.vue +78 -0
  166. package/src/components/CardDeck/README.md +25 -0
  167. package/src/components/Carousel/Carousel.vue +86 -0
  168. package/src/components/Carousel/README.md +20 -0
  169. package/src/components/Chart/Chart.vue +246 -0
  170. package/src/components/Chart/README.md +18 -0
  171. package/src/components/Drawer/Drawer.vue +54 -0
  172. package/src/components/Drawer/README.md +23 -0
  173. package/src/components/Header/Header.vue +39 -0
  174. package/src/components/Header/README.md +28 -0
  175. package/src/components/Modal/Modal.vue +44 -0
  176. package/src/components/Modal/README.md +20 -0
  177. package/src/components/Nav/Nav.vue +129 -0
  178. package/src/components/Nav/README.md +23 -0
  179. package/src/components/PropertySearchbar/PropertySearchbar.vue +206 -0
  180. package/src/components/PropertySearchbar/README.md +26 -0
  181. package/src/components/Snapshot/README.md +21 -0
  182. package/src/components/Snapshot/Snapshot.vue +33 -0
  183. package/src/components/Tabs/README.md +27 -0
  184. package/src/components/Tabs/Tab.vue +17 -0
  185. package/src/components/Tabs/Tabs.vue +55 -0
  186. package/src/components/Testimonial/README.md +26 -0
  187. package/src/components/Testimonial/Testimonial.vue +61 -0
  188. package/src/components/Timeline/README.md +18 -0
  189. package/src/components/Timeline/Timeline.vue +25 -0
  190. package/src/elements/Input/Input.vue +236 -0
  191. package/src/elements/Input/README.md +18 -0
  192. package/src/elements/Table/README.md +55 -0
  193. package/src/elements/Table/Table.vue +112 -0
  194. package/src/foundations/Icon/Icon.vue +21 -0
  195. package/src/foundations/Icon/README.md +11 -0
  196. package/src/foundations/Logo/Logo.vue +39 -0
  197. package/src/foundations/Logo/README.md +20 -0
  198. package/src/helpers/strings.js +12 -0
  199. package/src/index.js +21 -4
  200. package/src/assets/css/default.css +0 -99
  201. package/src/assets/logo.png +0 -0
  202. package/src/assets/scss/_variables.scss +0 -13
  203. package/src/components/KeyFacts/KeyFact.vue +0 -45
  204. package/src/components/KeyFacts/KeyFactGroup.vue +0 -44
  205. package/src/components/KeyFacts/README.md +0 -23
  206. package/src/components/PropertyTaskIntro/PropertyTaskIntro.vue +0 -74
  207. package/src/components/PropertyTaskIntro/README.md +0 -27
  208. package/src/components/TaskTitle/README.md +0 -24
  209. package/src/components/TaskTitle/TaskTitle.vue +0 -68
@@ -0,0 +1,198 @@
1
+ // #region Sizing
2
+ /* Enhance the max width utility to include fit-content which can come in handy for flex-box based layouts. */
3
+ $utilities: map-merge(
4
+ $utilities,
5
+ (
6
+ "max-width": (
7
+ responsive: true,
8
+ property: max-width,
9
+ class: mw,
10
+ values: (
11
+ 100: 100%,
12
+ fit-content: fit-content
13
+ )
14
+ )
15
+ )
16
+ );
17
+
18
+ $utilities: map-merge(
19
+ $utilities,
20
+ (
21
+ "object-fit": (
22
+ property: object-fit,
23
+ class: object,
24
+ values: (
25
+ cover: cover,
26
+ contain: contain
27
+ )
28
+ )
29
+ )
30
+ );
31
+ // #endregion
32
+
33
+ // #region Add to line height classes
34
+ $utilities: map-merge(
35
+ $utilities,
36
+ (
37
+ "line-height": (
38
+ property: line-height,
39
+ class: lh,
40
+ values: (
41
+ 0: 0,
42
+ 1: 1,
43
+ /*
44
+ sm: $line-height-sm,
45
+ base: $line-height-base,
46
+ lg: $line-height-lg,
47
+ */
48
+ )
49
+ )
50
+ )
51
+ );
52
+
53
+
54
+
55
+
56
+
57
+ // #endregion
58
+
59
+ // #region Remove Border colour utitlity classes
60
+ $utilities: map-merge(
61
+ $utilities,
62
+ (
63
+ "border-color": null
64
+ )
65
+ );
66
+ // #endregion
67
+
68
+ // #region Remove floats - They are too unpredictable and it is preferred to use flex or grid
69
+ $utilities: map-merge(
70
+ $utilities,
71
+ (
72
+ "float": null
73
+ )
74
+ );
75
+ // #region
76
+
77
+ // #region Remove the responsive classes for the spacing utilities
78
+ /*
79
+ The spacing utilities are useful but could be mis-used. The spacing of elements should be defined via the elements/components CSS.
80
+ But at times tweaks/fixes to spacing needs to be made and can prevent the need of duplicate CSS to be created.
81
+ However our spacing rules should be consistant across devices and we shouldn't allow device specific 'fixes' to be made
82
+ Removing the resposive classes aves around 8kbs
83
+ */
84
+ $utilities: map-merge(
85
+ $utilities,
86
+ (
87
+ // Padding
88
+ "padding": map-merge(
89
+ map-get($utilities, "padding"),
90
+ (
91
+ responsive: false
92
+ ),
93
+ ),
94
+ "padding-x": map-merge(
95
+ map-get($utilities, "padding-x"),
96
+ (
97
+ responsive: false
98
+ ),
99
+ ),
100
+ "padding-y": map-merge(
101
+ map-get($utilities, "padding-y"),
102
+ (
103
+ responsive: false
104
+ ),
105
+ ),
106
+ "padding-top": map-merge(
107
+ map-get($utilities, "padding-top"),
108
+ (
109
+ responsive: false
110
+ ),
111
+ ),
112
+ "padding-end": map-merge(
113
+ map-get($utilities, "padding-end"),
114
+ (
115
+ responsive: false
116
+ ),
117
+ ),
118
+ "padding-bottom": map-merge(
119
+ map-get($utilities, "padding-bottom"),
120
+ (
121
+ responsive: false
122
+ ),
123
+ ),
124
+ "padding-start": map-merge(
125
+ map-get($utilities, "padding-start"),
126
+ (
127
+ responsive: false
128
+ ),
129
+ ),
130
+ // Margin
131
+ "margin": map-merge(
132
+ map-get($utilities, "margin"),
133
+ (
134
+ responsive: false
135
+ ),
136
+ ),
137
+ "margin-x": map-merge(
138
+ map-get($utilities, "margin-x"),
139
+ (
140
+ responsive: false
141
+ ),
142
+ ),
143
+ "margin-y": map-merge(
144
+ map-get($utilities, "margin-y"),
145
+ (
146
+ responsive: false
147
+ ),
148
+ ),
149
+ "margin-top": map-merge(
150
+ map-get($utilities, "margin-top"),
151
+ (
152
+ responsive: false
153
+ ),
154
+ ),
155
+ "margin-end": map-merge(
156
+ map-get($utilities, "margin-end"),
157
+ (
158
+ responsive: false
159
+ ),
160
+ ),
161
+ "margin-bottom": map-merge(
162
+ map-get($utilities, "margin-bottom"),
163
+ (
164
+ responsive: false
165
+ ),
166
+ ),
167
+ "margin-start": map-merge(
168
+ map-get($utilities, "margin-start"),
169
+ (
170
+ responsive: false
171
+ ),
172
+ ),
173
+ // Gap
174
+ "gap": map-merge(
175
+ map-get($utilities, "gap"),
176
+ (
177
+ responsive: false
178
+ ),
179
+ ),
180
+ )
181
+ );
182
+ // #endregion
183
+
184
+ // #region Fonts
185
+ $utilities: map-merge(
186
+ $utilities,
187
+ (
188
+ "font-body": (
189
+ responsive: false,
190
+ property: font-family,
191
+ class: font,
192
+ values: (
193
+ body: var(--font-body)
194
+ )
195
+ )
196
+ )
197
+ );
198
+ // #endregion
@@ -0,0 +1,365 @@
1
+ // Declare global vars variable
2
+ $vars: ();
3
+
4
+ // #region Grid Breakpoints
5
+ $grid-breakpoints: (
6
+ xs: 0,
7
+ sm: 36em, /* 576 */
8
+ md: 62em /* 992 */
9
+ );
10
+
11
+ @each $bp, $value in $grid-breakpoints {
12
+
13
+ $vars: map-merge((
14
+ --breakpoint-#{$bp}: #{$value}
15
+ ), $vars);
16
+ }
17
+
18
+ $device-xs-width: 375;
19
+ $device-sm-width: 768;
20
+ $device-md-width: 1440;
21
+
22
+ $container-max-widths: (
23
+ sm: 0,
24
+ md: 80em
25
+ );
26
+
27
+ $grid-columns: 12;
28
+ $grid-gutter-width: 1rem; // 15px
29
+ // #endregion
30
+
31
+ // #region Colours
32
+ // Default Bootstrap Theme vars
33
+ $primary: #00313c;
34
+ $secondary: #b4e6a5;
35
+ $success: #b4e6a5;
36
+ $info: #1ebee6;
37
+ $warning: #ffa500;
38
+ $danger: #dc3545;
39
+ $light: #ffd2d2;
40
+ $dark: #46003c;
41
+
42
+
43
+ // Functional/state variables
44
+ $colour-body: #6f6f6f;
45
+ $colour-muted: #9d9d9d;
46
+ $colour-border: #6f6f6f;
47
+ $colour-link: $primary;
48
+ $colour-focus: #000000;
49
+ $colour-hover: #000000;
50
+ $colour-active: $success;
51
+ $colour-selected: $success;
52
+
53
+ $theme-colors: ();
54
+ $theme-colors: map-merge((
55
+ "primary": $primary,
56
+ "secondary": $secondary,
57
+ "success": $success,
58
+ "info": $info,
59
+ "warning": $warning,
60
+ "danger": $danger,
61
+ "light": $light,
62
+ "dark": $dark
63
+ ), $theme-colors);
64
+
65
+
66
+ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
67
+
68
+ @each $color, $value in $theme-colors-rgb {
69
+
70
+ $vars: map-merge((
71
+ --colour-#{$color}-rgb: #{$value}
72
+ ), $vars);
73
+ }
74
+ @each $color, $value in $theme-colors-rgb {
75
+
76
+ $vars: map-merge((
77
+ --colour-#{$color}: rgba(var(--colour-#{$color}-rgb),var(--alpha,1))
78
+ ), $vars);
79
+ }
80
+
81
+ @each $color, $value in $theme-colors-rgb {
82
+
83
+ $vars: map-merge((
84
+ --colour-#{$color}-theme: rgba(var(--colour-#{$color}-rgb),var(--alpha,1))
85
+ ), $vars);
86
+ }
87
+
88
+ // RGB Theme colours
89
+ @function show-css-var($identifier) {
90
+ @return rgba(var(--colour-#{$identifier}-rgb),var(--bs-bg-opacity,1));
91
+ }
92
+ @function show-css-var-text($identifier) {
93
+ @return rgba(var(--colour-#{$identifier}-rgb),var(--bs-text-opacity,1));
94
+ }
95
+ $utilities-bg-colors: map-loop($utilities-colors, show-css-var, "$key");
96
+ $utilities-text-colors: map-loop($utilities-colors, show-css-var-text, "$key");
97
+
98
+
99
+
100
+ // Colours that we want setting but not used for Bootstraps mixins, i.e. .text-primary, .bg-muted
101
+ $non-theme-colors: ();
102
+ $non-theme-colors: map-merge((
103
+ "muted": $colour-muted,
104
+ "border": $colour-border,
105
+ "link": $colour-link,
106
+ "focus": $colour-focus,
107
+ "hover": $colour-hover,
108
+ "active": $colour-active,
109
+ "selected": $colour-selected
110
+ ), $non-theme-colors);
111
+
112
+ @each $color, $value in $non-theme-colors {
113
+
114
+ $vars: map-merge((
115
+ --colour-#{$color}-theme: #{$value},
116
+ --colour-#{$color}: #{'var(--colour-'+$color+'-theme)'}
117
+ ), $vars);
118
+ }
119
+
120
+ $vars: map-merge((
121
+ "--colour-body-rgb": to-rgb($colour-body),
122
+ "--colour-white-rgb": to-rgb(#ffffff),
123
+ "--colour-black-rgb": to-rgb(#000000),
124
+ "--colour-body": rgba(var(--colour-body-rgb),var(--alpha,1)),
125
+ "--colour-white": rgba(var(--colour-white-rgb),var(--alpha,1)),
126
+ "--colour-black": rgba(var(--colour-black-rgb),var(--alpha,1))
127
+ ), $vars);
128
+
129
+ $gradient: linear-gradient(180deg, var(--colour-secondary) 0, var(--colour-info) 100%);
130
+
131
+ // #endregion
132
+
133
+
134
+
135
+ // #region fonts
136
+
137
+ $font-body: 'qanelasmedium', arial, sans-serif;
138
+ $font-heading: 'qanelas_softextrabold', arial, sans-serif;
139
+
140
+ $fonts: ();
141
+ $fonts: map-merge((
142
+ "heading": $font-heading,
143
+ "body": $font-body
144
+ ), $fonts);
145
+
146
+
147
+ @each $font, $value in $fonts {
148
+
149
+ $vars: map-merge((
150
+ --font-#{$font}: #{$value}
151
+ ), $vars);
152
+ }
153
+
154
+ // #endregion
155
+
156
+ // #region Type
157
+ $h1-font-size: $font-size-base * 2;
158
+ $h2-font-size: $font-size-base * 1.5;
159
+ $h3-font-size: $font-size-base * 1.5;
160
+ $h4-font-size: $font-size-base * 1.25;
161
+ $h5-font-size: $font-size-base * 1.125;
162
+ $h6-font-size: $font-size-base * 1.125;
163
+ // scss-docs-end font-variables
164
+
165
+ // scss-docs-start font-sizes
166
+ $font-sizes: (
167
+ 1: $h1-font-size,
168
+ 2: $h2-font-size,
169
+ 3: $h3-font-size,
170
+ 4: $h4-font-size,
171
+ 5: $h5-font-size,
172
+ 6: $h6-font-size,
173
+ 'badge': $badge-font-size
174
+ );
175
+
176
+ @each $size, $value in $font-sizes {
177
+
178
+ $vars: map-merge((
179
+ --fs-#{$size}: #{$value}
180
+ ), $vars);
181
+ }
182
+
183
+ $headings-margin-bottom: 0.5em;
184
+ $headings-font-style: normal;
185
+ $headings-line-height: 1.2;
186
+
187
+
188
+ @if $compatible == 'true' {
189
+ $headings-font-family: $font-heading;
190
+ $headings-font-weight: 700;
191
+ $headings-color: $primary;
192
+ }
193
+ @else {
194
+ $headings-font-family: var(--font-heading);
195
+ $headings-font-weight: var(--heading-weight);
196
+ $headings-color: var(--colour-primary);
197
+ }
198
+
199
+
200
+ $vars: map-merge((
201
+ --heading-weight: 700
202
+ ), $vars);
203
+
204
+ $content-max-width: rem(820);
205
+ $paragraph-margin-bottom: 2rem;
206
+
207
+ // #endregion
208
+
209
+ // #region Buttons
210
+ $btn-border-radius: 1rem;
211
+ $btn-border-radius-sm: 1rem;
212
+ $btn-border-radius-lg: 1rem;
213
+
214
+ $btn-padding-y: 0.5rem;
215
+ $btn-padding-x: 1.5rem;
216
+ $btn-padding-y-sm: $btn-padding-y;
217
+ $btn-padding-x-sm: $btn-padding-x;
218
+ $btn-padding-y-md: $btn-padding-y;
219
+ $btn-padding-x-md: $btn-padding-x;
220
+
221
+ // #endregion
222
+
223
+ // #region Forms
224
+ // label
225
+ $form-label-font-size: $h5-font-size;
226
+ $form-label-font-weight: bold;
227
+ $form-label-color: var(--colour-heading);
228
+ $form-label-margin-bottom: 0.25rem;
229
+ // input field
230
+ $input-font-size: 1rem;
231
+ $input-font-weight: normal;
232
+ $input-line-height: 1.5;
233
+ $input-padding-y: 0.75em;
234
+ $input-padding-x: 1em;
235
+ $input-border-radius: rem(10);
236
+ $input-border-color: var(--colour-border);
237
+
238
+ // sm
239
+ $input-height-sm: null;
240
+ $input-font-size-sm: #{rem(14)};
241
+ $input-border-radius-sm: null; // Inherit default value
242
+ $input-padding-y-sm: null;
243
+ $input-padding-x-sm: null;
244
+
245
+ // lg
246
+ $input-height-lg: null;
247
+ $input-font-size-lg: #{rem(24)};
248
+ $input-border-radius-lg: false; // Inherit default value
249
+ $input-padding-y-lg: null;
250
+ $input-padding-x-lg: null;
251
+
252
+ // Input group
253
+ $input-group-addon-bg: white;
254
+ $input-group-addon-border-color: var(--colour-border);
255
+
256
+
257
+
258
+ // Select
259
+ $form-select-padding-y: $input-padding-y;
260
+ //$form-select-indicator-padding
261
+ $form-select-padding-x: #{$input-padding-x};
262
+ $form-select-border-color: var(--colour-border);
263
+ $form-select-border-radius: $input-border-radius;
264
+
265
+ // Checkbox
266
+ $form-check-input-width: 1.5rem;
267
+ $form-check-min-height: #{rem(28)};
268
+ $form-check-padding-start: 2rem;
269
+ $form-check-margin-bottom: #{rem(16)};
270
+
271
+ $form-check-input-border: 1px solid var(--colour-border);
272
+
273
+ $form-check-input-checked-color: $primary;
274
+ $form-check-input-checked-bg-color: var(--colour-success);
275
+ $form-check-input-checked-border-color: var(--colour-border);
276
+ $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>");
277
+
278
+ $form-check-input-indeterminate-color: $primary;
279
+ $form-check-input-indeterminate-bg-color: var(--colour-success);
280
+ $form-check-input-indeterminate-border-color: var(--colour-success);
281
+ $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>");
282
+
283
+ $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>");
284
+ $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>");
285
+ $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>");
286
+
287
+ $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>");
288
+
289
+
290
+ // #endregion
291
+
292
+ // #region Cards
293
+ $card-border-width: 0;
294
+ $card-border-radius: rem(10);
295
+ $card-spacer-y: 1.5rem;
296
+ $card-spacer-x: 1.25rem;
297
+
298
+
299
+ $card-cap-padding-y: 1.5rem;
300
+ $card-cap-padding-x: 1.25rem;
301
+
302
+
303
+
304
+ $card-cap-bg: transparent;
305
+ // #endregion card-variables
306
+
307
+ // #region Icons
308
+ $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>");
309
+ $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");
310
+ $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>");
311
+
312
+ $vars: map-merge((
313
+ --icon-blank: #{escape-svg($icon-blank)},
314
+ --icon-sort: #{$icon-sort},
315
+ --icon-arrow: #{escape-svg($icon-arrow)},
316
+ ), $vars);
317
+ // #endregion
318
+
319
+ // #region pagination
320
+ // Default
321
+ $pagination-color: var(--colour-primary);
322
+ $pagination-disabled-color: var(--colour-muted);
323
+ $pagination-bg: transparent;
324
+ $pagination-border-width: 1px;
325
+ $pagination-border-color: var(--colour-border);
326
+
327
+ // Hover and focus
328
+ $pagination-hover-color: var(--colour-primary);
329
+ $pagination-hover-bg: var(--colour-muted);
330
+ $pagination-hover-border-color: var(--colour-border);
331
+ $pagination-focus-color: var(--colour-primary);
332
+ $pagination-focus-bg: var(--colour-muted);
333
+
334
+ // Active
335
+ $pagination-active-color: white;
336
+ $pagination-active-bg: var(--colour-primary);
337
+ $pagination-active-border-color: var(--colour-primary);
338
+
339
+ // Disabled
340
+ $pagination-disabled-bg: $pagination-bg;
341
+ $pagination-disabled-border-color: $pagination-border-color;
342
+ // #endregion
343
+
344
+ // #region Accordion
345
+ $accordion-button-padding-y: var(--accordion-y-padding);
346
+ $accordion-button-padding-x: var(--accordion-indent);
347
+ $accordion-button-color: var(--colour-primary);
348
+ $accordion-button-bg: transparent;
349
+
350
+ $accordion-icon-color: $primary;
351
+ $accordion-icon-active-color: $primary;
352
+
353
+ $accordion-button-icon: var(--icon-arrow);
354
+
355
+ $accordion-button-active-color: var(--colour-primary);
356
+ $accordion-button-active-bg: transparent;
357
+
358
+ $accordion-border-color: var(--colour-border);
359
+ $accordion-border-width: 1px;
360
+ $accordion-bg: transparent;
361
+
362
+ $accordion-body-padding-y: 1rem;
363
+ $accordion-body-padding-x: var(--accordion-indent);
364
+
365
+ // #endregion