@iamproperty/components 7.3.0 → 7.4.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 (230) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -0
  8. package/assets/css/components/calendar.component.css.map +1 -0
  9. package/assets/css/components/calendar.config.css +1 -0
  10. package/assets/css/components/calendar.config.css.map +1 -0
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/collapsible-side.css +1 -1
  16. package/assets/css/components/collapsible-side.css.map +1 -1
  17. package/assets/css/components/content.component.css +1 -0
  18. package/assets/css/components/content.component.css.map +1 -0
  19. package/assets/css/components/doughnutchart.component.css +1 -1
  20. package/assets/css/components/doughnutchart.component.css.map +1 -1
  21. package/assets/css/components/fileupload.css.map +1 -1
  22. package/assets/css/components/inline-edit.css +1 -1
  23. package/assets/css/components/inline-edit.css.map +1 -1
  24. package/assets/css/components/marketing.component.css +1 -0
  25. package/assets/css/components/marketing.component.css.map +1 -0
  26. package/assets/css/components/menu.component.css.map +1 -1
  27. package/assets/css/components/milestone.css +1 -0
  28. package/assets/css/components/milestone.css.map +1 -0
  29. package/assets/css/components/multiselect.css +1 -1
  30. package/assets/css/components/multiselect.css.map +1 -1
  31. package/assets/css/components/nav.component.css +1 -1
  32. package/assets/css/components/nav.component.css.map +1 -1
  33. package/assets/css/components/nav.global.css +1 -1
  34. package/assets/css/components/nav.global.css.map +1 -1
  35. package/assets/css/components/pagination.css.map +1 -1
  36. package/assets/css/components/rank.component.css +1 -1
  37. package/assets/css/components/rank.component.css.map +1 -1
  38. package/assets/css/components/rankings.component.css +1 -1
  39. package/assets/css/components/rankings.component.css.map +1 -1
  40. package/assets/css/components/rankings.global.css +1 -1
  41. package/assets/css/components/rankings.global.css.map +1 -1
  42. package/assets/css/components/slider.css.map +1 -1
  43. package/assets/css/components/split-button.component.css +1 -0
  44. package/assets/css/components/split-button.component.css.map +1 -0
  45. package/assets/css/core.min.css +1 -1
  46. package/assets/css/core.min.css.map +1 -1
  47. package/assets/css/mobile-core.min.css +1 -1
  48. package/assets/css/mobile-core.min.css.map +1 -1
  49. package/assets/css/mobile.min.css +1 -1
  50. package/assets/css/mobile.min.css.map +1 -1
  51. package/assets/css/style.min.css +1 -1
  52. package/assets/css/style.min.css.map +1 -1
  53. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  54. package/assets/js/components/actionbar/actionbar.component.js +51 -31
  55. package/assets/js/components/actionbar/actionbar.component.min.js +17 -17
  56. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  57. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  58. package/assets/js/components/advanced-select/advanced-select.component.js +63 -0
  59. package/assets/js/components/advanced-select/advanced-select.component.min.js +23 -0
  60. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -0
  61. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  62. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  63. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  64. package/assets/js/components/calendar/calendar.component.js +1083 -0
  65. package/assets/js/components/calendar/calendar.component.min.js +170 -0
  66. package/assets/js/components/calendar/calendar.component.min.js.map +1 -0
  67. package/assets/js/components/card/card.component.js +20 -8
  68. package/assets/js/components/card/card.component.min.js +10 -10
  69. package/assets/js/components/card/card.component.min.js.map +1 -1
  70. package/assets/js/components/carousel/carousel.component.min.js +2 -2
  71. package/assets/js/components/collapsible-side/collapsible-side.component.js +47 -12
  72. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +6 -5
  73. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  74. package/assets/js/components/content/content.component.js +66 -0
  75. package/assets/js/components/content/content.component.min.js +15 -0
  76. package/assets/js/components/content/content.component.min.js.map +1 -0
  77. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  78. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  79. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  80. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  81. package/assets/js/components/header/header.component.min.js +1 -1
  82. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  83. package/assets/js/components/marketing/marketing.component.js +1 -1
  84. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  85. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  86. package/assets/js/components/menu/menu.component.js +10 -2
  87. package/assets/js/components/menu/menu.component.min.js +2 -2
  88. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  89. package/assets/js/components/milestone/milestone.component.js +38 -0
  90. package/assets/js/components/milestone/milestone.component.min.js +15 -0
  91. package/assets/js/components/milestone/milestone.component.min.js.map +1 -0
  92. package/assets/js/components/milestone-group/milestone-group.component.js +35 -0
  93. package/assets/js/components/milestone-group/milestone-group.component.min.js +13 -0
  94. package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -0
  95. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  96. package/assets/js/components/multiselect/multiselect.component.js +54 -2
  97. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  98. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  99. package/assets/js/components/nav/nav.component.js +19 -0
  100. package/assets/js/components/nav/nav.component.min.js +6 -6
  101. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  102. package/assets/js/components/notification/notification.component.js +17 -11
  103. package/assets/js/components/notification/notification.component.min.js +4 -4
  104. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  105. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  106. package/assets/js/components/rank/rank.component.js +346 -210
  107. package/assets/js/components/rank/rank.component.min.js +346 -211
  108. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  109. package/assets/js/components/rankings/rankings.component.js +17 -8
  110. package/assets/js/components/rankings/rankings.component.min.js +14 -8
  111. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  112. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  113. package/assets/js/components/search/search.component.js +5 -3
  114. package/assets/js/components/search/search.component.min.js +6 -6
  115. package/assets/js/components/search/search.component.min.js.map +1 -1
  116. package/assets/js/components/slider/slider.component.min.js +1 -1
  117. package/assets/js/components/split-button/split-button.component.js +60 -0
  118. package/assets/js/components/split-button/split-button.component.min.js +34 -0
  119. package/assets/js/components/split-button/split-button.component.min.js.map +1 -0
  120. package/assets/js/components/table/table.component.js +12 -0
  121. package/assets/js/components/table/table.component.min.js +3 -3
  122. package/assets/js/components/table/table.component.min.js.map +1 -1
  123. package/assets/js/components/table-ajax/table-ajax.component.js +12 -0
  124. package/assets/js/components/table-ajax/table-ajax.component.min.js +3 -3
  125. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  126. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  127. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  128. package/assets/js/components/table-no-submit/table-no-submit.component.js +12 -0
  129. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +3 -3
  130. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  131. package/assets/js/components/table-submit/table-submit.component.js +12 -0
  132. package/assets/js/components/table-submit/table-submit.component.min.js +3 -3
  133. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  134. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  135. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  136. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  137. package/assets/js/components.js +58 -0
  138. package/assets/js/modules/advanced-select.js +106 -0
  139. package/assets/js/modules/dialogs.js +53 -51
  140. package/assets/js/modules/dynamicEvents.js +7 -0
  141. package/assets/js/modules/milestone-group.js +30 -0
  142. package/assets/js/modules/milestone.js +89 -0
  143. package/assets/js/modules/table.js +11 -1
  144. package/assets/js/modules/videos.js +1 -1
  145. package/assets/js/scripts.bundle.js +3 -3
  146. package/assets/js/scripts.bundle.js.map +1 -1
  147. package/assets/js/scripts.bundle.min.js +2 -2
  148. package/assets/js/scripts.bundle.min.js.map +1 -1
  149. package/assets/js/scripts.js +4 -0
  150. package/assets/sass/_components.scss +11 -0
  151. package/assets/sass/_functions/utility-mixins.scss +41 -0
  152. package/assets/sass/_functions/variables.scss +11 -5
  153. package/assets/sass/components/actionbar.component.scss +1 -1
  154. package/assets/sass/components/actionbar.global.scss +4 -4
  155. package/assets/sass/components/calendar.component.scss +1380 -0
  156. package/assets/sass/components/calendar.config.scss +476 -0
  157. package/assets/sass/components/card.component.scss +4 -34
  158. package/assets/sass/components/carousel.component.scss +5 -0
  159. package/assets/sass/components/collapsible-side.scss +91 -95
  160. package/assets/sass/components/content.component.scss +18 -0
  161. package/assets/sass/components/inline-edit.scss +2 -0
  162. package/assets/sass/components/{marketing.scss → marketing.component.scss} +2 -6
  163. package/assets/sass/components/menu.component.scss +3 -8
  164. package/assets/sass/components/milestone.scss +207 -0
  165. package/assets/sass/components/multiselect.scss +3 -0
  166. package/assets/sass/components/nav.component.scss +1 -0
  167. package/assets/sass/components/nav.global.scss +30 -0
  168. package/assets/sass/components/rank.component.scss +197 -24
  169. package/assets/sass/components/rankings.component.scss +38 -28
  170. package/assets/sass/components/rankings.global.scss +64 -2
  171. package/assets/sass/components/split-button.component.scss +77 -0
  172. package/assets/sass/elements/badge-tag.scss +5 -1
  173. package/assets/sass/elements/buttons--compact.scss +4 -0
  174. package/assets/sass/elements/details.scss +0 -1
  175. package/assets/sass/elements/forms.scss +130 -8
  176. package/assets/sass/elements/links.scss +132 -4
  177. package/assets/sass/elements/lists.scss +61 -0
  178. package/assets/sass/elements/popover.scss +64 -10
  179. package/assets/sass/elements/toggle-button.scss +7 -8
  180. package/assets/sass/elements/type.scss +7 -10
  181. package/assets/sass/templates/form.scss +0 -2
  182. package/assets/ts/components/actionbar/actionbar.component.ts +49 -23
  183. package/assets/ts/components/advanced-select/advanced-select.component.ts +74 -0
  184. package/assets/ts/components/calendar/calendar.component.ts +1460 -0
  185. package/assets/ts/components/card/card.component.ts +22 -14
  186. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +53 -12
  187. package/assets/ts/components/content/content.component.ts +78 -0
  188. package/assets/ts/components/marketing/marketing.component.ts +1 -1
  189. package/assets/ts/components/menu/menu.component.ts +16 -8
  190. package/assets/ts/components/milestone/milestone.component.ts +45 -0
  191. package/assets/ts/components/milestone-group/milestone-group.component.ts +41 -0
  192. package/assets/ts/components/multiselect/multiselect.component.ts +69 -3
  193. package/assets/ts/components/nav/nav.component.ts +25 -0
  194. package/assets/ts/components/notification/notification.component.ts +34 -11
  195. package/assets/ts/components/rank/rank.component.ts +345 -209
  196. package/assets/ts/components/rankings/rankings.component.ts +27 -8
  197. package/assets/ts/components/search/search.component.ts +6 -4
  198. package/assets/ts/components/split-button/split-button.component.ts +69 -0
  199. package/assets/ts/components/table/table.component.ts +14 -0
  200. package/assets/ts/components/table-ajax/table-ajax.component.ts +14 -0
  201. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +14 -0
  202. package/assets/ts/components/table-submit/table-submit.component.ts +14 -0
  203. package/assets/ts/components/video-card/video-card.component.ts +2 -3
  204. package/assets/ts/components.ts +63 -0
  205. package/assets/ts/modules/advanced-select.ts +125 -0
  206. package/assets/ts/modules/dialogs.ts +64 -61
  207. package/assets/ts/modules/dynamicEvents.ts +12 -1
  208. package/assets/ts/modules/milestone-group.ts +42 -0
  209. package/assets/ts/modules/milestone.ts +122 -0
  210. package/assets/ts/modules/table.ts +15 -1
  211. package/assets/ts/modules/videos.ts +19 -37
  212. package/assets/ts/scripts.ts +5 -3
  213. package/dist/components.es.js +41 -1923
  214. package/dist/components.umd.js +126 -105
  215. package/package.json +1 -1
  216. package/src/components/AdvancedSelect/AdvancedSelect.vue +23 -0
  217. package/src/components/Calendar/Calendar.vue +26 -0
  218. package/src/components/Card/Card.vue +1 -1
  219. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +7 -13
  220. package/src/components/Content/Content.vue +23 -0
  221. package/src/components/Milestones/Milestone.vue +27 -0
  222. package/src/components/Milestones/MilestoneGroup.vue +27 -0
  223. package/src/components/SplitButton/README.md +19 -0
  224. package/src/components/SplitButton/SplitButton.vue +26 -0
  225. package/src/index.js +44 -41
  226. package/assets/css/components/marketing.css +0 -1
  227. package/assets/css/components/marketing.css.map +0 -1
  228. package/assets/css/components/nav.old.css +0 -1
  229. package/assets/css/components/nav.old.css.map +0 -1
  230. package/assets/sass/components/nav.old.scss +0 -891
@@ -247,7 +247,7 @@ $optionalText: 'true' !default;
247
247
  input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']),
248
248
  textarea,
249
249
  output,
250
- select:not(.select--minimal)
250
+ select:not(.select--minimal, .btn)
251
251
  ) {
252
252
  display: block;
253
253
  width: 100%;
@@ -256,7 +256,7 @@ $optionalText: 'true' !default;
256
256
  padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-inline, #{rem(16)});
257
257
  font-size: var(--input-fs, #{rem(16)});
258
258
  line-height: var(--input-lh, #{rem(20)});
259
- color: var(--colour-body);
259
+ color: var(--colour-heading);
260
260
  background-color: var(--colour-canvas-2);
261
261
  background-clip: padding-box;
262
262
  border: 2px solid var(--colour-primary);
@@ -280,9 +280,12 @@ $optionalText: 'true' !default;
280
280
  &:is(:focus, .focus):not(:disabled) {
281
281
  border-color: var(--colour-info);
282
282
  outline: 0;
283
- box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
284
283
  }
285
284
 
285
+ &:is(:focus, .focus):not(:disabled):not(:invalid) {
286
+
287
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
288
+ }
286
289
  // Add some height to date inputs on iOS
287
290
  // https://github.com/twbs/bootstrap/issues/23307
288
291
  // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
@@ -570,12 +573,12 @@ $optionalText: 'true' !default;
570
573
 
571
574
  .suffix
572
575
  ~ :is(
573
- input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([type='date']),
576
+ input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([type='date']):not([type='time']),
574
577
  textarea,
575
578
  output
576
579
  ),
577
580
  :is(
578
- input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([type='date']),
581
+ input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([type='date']):not([type='time']),
579
582
  textarea,
580
583
  output
581
584
  ):has(~ .suffix) {
@@ -618,7 +621,7 @@ $optionalText: 'true' !default;
618
621
  border-color: var(--colour-danger) !important;
619
622
  }
620
623
 
621
- .was-validated select:is(:invalid, .is-invalid, [aria-invalid], :-internal-autofill-selected) {
624
+ .was-validated select:not(.btn):is(:invalid, .is-invalid, [aria-invalid], :-internal-autofill-selected) {
622
625
  $form-select-indicator-new: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/></svg>") !default;
623
626
 
624
627
  background:
@@ -1013,7 +1016,7 @@ $optionalText: 'true' !default;
1013
1016
 
1014
1017
  // #region Select
1015
1018
 
1016
- select {
1019
+ select:not(.btn) {
1017
1020
  $form-select-indicator-new: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/></svg>") !default;
1018
1021
 
1019
1022
  background:
@@ -1313,7 +1316,7 @@ $optionalText: 'true' !default;
1313
1316
  color: transparent;
1314
1317
  cursor: pointer;
1315
1318
  height: auto;
1316
- left: 8em;
1319
+ left: 4em;
1317
1320
  position: absolute;
1318
1321
  right: 0;
1319
1322
  top: 0;
@@ -1322,3 +1325,122 @@ $optionalText: 'true' !default;
1322
1325
  }
1323
1326
  // #endregion
1324
1327
  }
1328
+
1329
+ // #region datalist
1330
+ :is(iam-advanced-select, iam-search) {
1331
+ position: relative;
1332
+ display: block;
1333
+
1334
+ label {
1335
+ position: relative;
1336
+ }
1337
+
1338
+ input {
1339
+ padding-right: 3rem;
1340
+ }
1341
+
1342
+ .empty {
1343
+
1344
+ position: absolute;
1345
+ bottom: 0.5rem;
1346
+ right: 3.5rem;
1347
+ margin: 0;
1348
+ aspect-ratio: 1 / 1;
1349
+
1350
+ width: 2rem;
1351
+ height: 2rem;
1352
+
1353
+ text-align: center;
1354
+ line-height: 1;
1355
+
1356
+ &:not(:hover,:focus){
1357
+ border-color: transparent;
1358
+ background-color: transparent;
1359
+ }
1360
+
1361
+ i {
1362
+ font-size: 1.5rem;
1363
+ }
1364
+ }
1365
+
1366
+ label:after,
1367
+ .hint-text {
1368
+ position: absolute;
1369
+ top: 100%;
1370
+ }
1371
+ }
1372
+
1373
+ .was-validated :is(iam-advanced-select, iam-search) label:has(:is(input:not([type=radio]):not([type=checkbox]), select)){
1374
+ margin-bottom: 2.5rem;
1375
+
1376
+ input {
1377
+ background: none!important;
1378
+ }
1379
+
1380
+ &:has(:invalid, .is-invalid) .hint-text {
1381
+ display: none;
1382
+ }
1383
+ }
1384
+
1385
+ :is(iam-advanced-select, iam-search) datalist {
1386
+ &:empty {
1387
+ display: none !important;
1388
+ }
1389
+
1390
+ z-index: 99;
1391
+ top: 100%;
1392
+ position: absolute;
1393
+ background-color: white;
1394
+ border-top: none;
1395
+ padding: 0.5rem;
1396
+ max-height: 10rem;
1397
+ overflow-y: auto;
1398
+ width: 100%;
1399
+ max-width: var(--input-max-width, 50rem);
1400
+ border: none !important;
1401
+ border-radius: 0.5rem;
1402
+ box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.1);
1403
+
1404
+ option {
1405
+ background-color: white;
1406
+ padding: 0.5rem;
1407
+ color: blue !important;
1408
+ cursor: pointer;
1409
+ background: unset !important;
1410
+ border: unset !important;
1411
+ color: var(--colour-primary) !important;
1412
+ font-weight: inherit !important;
1413
+ font-family: inherit !important;
1414
+ font-size: 1rem !important;
1415
+ line-height: rem(19) !important;
1416
+ margin: var(--menu-item-margin, 0 0 0.25rem 0) !important;
1417
+ padding-block: var(--menu-item-padding, 0.5rem) !important;
1418
+ width: var(--menu-item-width, 100%) !important;
1419
+ max-width: var(--menu-item-width, 100%) !important;
1420
+ text-align: var(--menu-item-text-align, left) !important;
1421
+
1422
+ &:is(:hover, :focus) {
1423
+ background: var(--colour-light) !important;
1424
+ border-radius: 0.25rem !important;
1425
+ }
1426
+
1427
+ &:active {
1428
+ background: rgba(224, 224, 224, 1) !important;
1429
+ border-radius: 0.25rem !important;
1430
+ }
1431
+
1432
+ }
1433
+ }
1434
+
1435
+ iam-advanced-select datalist {
1436
+
1437
+ option {
1438
+ &.active {
1439
+ border-left: 4px solid var(--colour-info) !important;
1440
+ border-radius: 0.25rem !important;
1441
+ background: hsl(from var(--colour-info) h s l / 10%) !important;
1442
+ }
1443
+ }
1444
+ }
1445
+
1446
+ // #endregion
@@ -58,7 +58,7 @@ $darkMode: 'true' !default;
58
58
  position: relative;
59
59
  font-weight: bold;
60
60
 
61
- &:not(.text-decoration-none) {
61
+ &:not(.text-decoration-none) {
62
62
  &:after {
63
63
  position: absolute;
64
64
  content: '';
@@ -160,8 +160,7 @@ $darkMode: 'true' !default;
160
160
  // #endregion
161
161
  }
162
162
 
163
- :is(.youtube-link[data-youtube], .vimeo-link[data-vimeo]){
164
-
163
+ :is(.youtube-link[data-youtube], .vimeo-link[data-vimeo]) {
165
164
  position: relative;
166
165
 
167
166
  &:before {
@@ -206,4 +205,133 @@ $darkMode: 'true' !default;
206
205
  &:is(:active) {
207
206
  --video-btn-colour: color-mix(in oklab, var(--colour-success), #000000 20%) !important;
208
207
  }
209
- }
208
+ }
209
+
210
+ // #region Sidebar link styling including parent group styling
211
+ iam-collapsible-side {
212
+ > * {
213
+ padding-left: rem(24);
214
+
215
+ @include media-breakpoint-up(sm) {
216
+ padding-left: rem(40);
217
+ }
218
+
219
+ @include media-breakpoint-up(md) {
220
+ padding-left: var(--container-padding-x-md);
221
+ }
222
+ }
223
+
224
+ hr {
225
+ border-bottom: 2px solid var(--colour-border) !important;
226
+ margin-right: rem(-40) !important;
227
+ }
228
+ }
229
+
230
+ .vertical-tabs [class*='link'],
231
+ iam-collapsible-side [class*='link'] {
232
+ display: block !important;
233
+ line-height: rem(20) !important;
234
+ padding: rem(16) rem(24) rem(16) rem(24) !important;
235
+ margin: 0 !important;
236
+ flex-shrink: 0;
237
+ font-size: 1rem !important;
238
+ font-weight: normal !important;
239
+ text-decoration: none !important;
240
+ border-bottom: 2px solid var(--colour-border) !important;
241
+ border-right: 2px solid var(--colour-border) !important;
242
+ margin-right: rem(-40) !important;
243
+ z-index: 2;
244
+
245
+ &::after {
246
+ display: none !important;
247
+ }
248
+
249
+ i {
250
+ // icon
251
+ margin-right: rem(8) !important;
252
+ }
253
+
254
+ @include media-breakpoint-up(sm) {
255
+ padding-left: rem(24) !important;
256
+ }
257
+
258
+ @include media-breakpoint-up(md) {
259
+ padding-left: var(--container-padding-x-md) !important;
260
+ }
261
+ }
262
+
263
+ .vertical-tabs a,
264
+ iam-collapsible-side a {
265
+ &:hover,
266
+ &:focus,
267
+ &[aria-expanded] {
268
+ background-color: var(--colour-activeLink) !important;
269
+ }
270
+ }
271
+
272
+ .vertical-tabs [class*='active'],
273
+ iam-collapsible-side [class*='active'] {
274
+ background-color: var(--colour-activeLink) !important;
275
+ border-right-color: var(--colour-activeLinkBorder) !important;
276
+ border-right-width: 3px !important;
277
+ }
278
+
279
+ // Parent links
280
+ .vertical-tabs,
281
+ iam-collapsible-side {
282
+ .parent {
283
+ margin: 0 !important;
284
+ padding: 0 !important;
285
+ list-style: none;
286
+
287
+ li:first-of-type {
288
+ cursor: pointer;
289
+
290
+ a {
291
+ padding-right: rem(40) !important;
292
+
293
+ &::before {
294
+ position: absolute;
295
+ display: block;
296
+ content: '\f055';
297
+ font-family: 'Font Awesome 6 Pro';
298
+ right: 20px;
299
+ font-weight: 300;
300
+ }
301
+ }
302
+ }
303
+
304
+ li:not(:first-of-type) {
305
+ display: none;
306
+
307
+ a {
308
+ background-color: var(--colour-light) !important;
309
+ padding-left: rem(90) !important;
310
+ }
311
+ }
312
+
313
+ &.reveal {
314
+ li:first-of-type {
315
+ a::before {
316
+ content: '\f056';
317
+ font-weight: bold;
318
+ }
319
+ }
320
+
321
+ li:not(:first-of-type) {
322
+ display: block;
323
+ }
324
+ }
325
+ }
326
+
327
+ @include media-breakpoint-up(sm) {
328
+ .parent {
329
+ li:not(:first-of-type) {
330
+ a {
331
+ padding-left: rem(90) !important;
332
+ }
333
+ }
334
+ }
335
+ }
336
+ }
337
+ // #endregion
@@ -231,6 +231,7 @@ $darkMode: 'true' !default;
231
231
  color: var(--colour-heading);
232
232
  position: relative;
233
233
  margin-bottom: rem(6);
234
+ text-align: center;
234
235
 
235
236
  li {
236
237
  position: relative;
@@ -325,5 +326,65 @@ $darkMode: 'true' !default;
325
326
  }
326
327
  }
327
328
  }
329
+
330
+ .list--steps-vertical {
331
+ @extend .list--steps;
332
+
333
+ flex-direction: column;
334
+ align-items: flex-start;
335
+ padding: 0 0 0 rem(32);
336
+ gap: rem(40);
337
+ text-align: left;
338
+
339
+ li {
340
+ padding-top: 0;
341
+ padding-left: rem(32);
342
+ width: 100%;
343
+ text-indent: 0;
344
+ overflow: visible;
345
+ margin-bottom: rem(18);
346
+ margin-top: rem(8);
347
+ display: flex;
348
+ align-items: center;
349
+ min-height: rem(24);
350
+
351
+ &:before {
352
+ top: 50%;
353
+ left: 0;
354
+ margin-left: 0;
355
+ margin-top: rem(-12);
356
+ flex-shrink: 0;
357
+ }
358
+
359
+ &:not(:last-child):after {
360
+ left: rem(11);
361
+ top: rem(36);
362
+ width: 2px;
363
+ height: calc(100% + rem(16));
364
+ }
365
+ }
366
+
367
+ @include container-up(sm) {
368
+ padding-left: rem(40);
369
+
370
+ li {
371
+ padding-left: rem(36);
372
+
373
+ &:not(:last-child):after {
374
+ left: rem(12);
375
+ top: rem(36);
376
+ width: 2px;
377
+ height: calc(100% + rem(16));
378
+ }
379
+ }
380
+ }
381
+
382
+ @include container-up(md) {
383
+ li {
384
+ max-width: none;
385
+ margin-bottom: rem(20);
386
+ }
387
+ }
388
+ }
328
389
  // #endregion
329
390
  }
@@ -60,6 +60,32 @@ $darkMode: 'true' !default;
60
60
  }
61
61
  }
62
62
 
63
+ > [popover] {
64
+ display: var(--menu-display, none);
65
+ position: fixed;
66
+ top: anchor(bottom) !important;
67
+
68
+ left: anchor(left) !important;
69
+
70
+ position-try-fallbacks: flip-block, flip-inline !important;
71
+
72
+ //right: auto;
73
+ margin: 0 0 0 #{rem(4)};
74
+ padding: rem(16);
75
+
76
+ &::backdrop {
77
+ display: none;
78
+ }
79
+ }
80
+
81
+ > [popover]:popover-open {
82
+ display: block !important;
83
+ }
84
+
85
+ &:has([popover]:popover-open) > button {
86
+ background-color: var(--colour);
87
+ }
88
+
63
89
  > :is(dialog[open], dialog:popover-open) {
64
90
  left: 0;
65
91
  margin-top: -1rem;
@@ -79,22 +105,27 @@ $darkMode: 'true' !default;
79
105
 
80
106
  &.dialog--list {
81
107
  width: fit-content !important;
82
-
83
- min-width: rem(140) !important;
84
- max-width: rem(280) !important;
85
- padding: rem(16);
108
+ min-width: rem(160) !important;
109
+ max-width: rem(240) !important;
110
+ padding: var(--menu-padding, 0.5rem);
86
111
  margin: 0;
112
+ background: var(--menu-bg, canvas);
113
+ border: var(--menu-border, 2px solid grey);
114
+ overflow: auto;
115
+ border: none !important;
116
+ border-radius: 0.5rem;
117
+ box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.1);
87
118
 
88
119
  @include media-breakpoint-up(sm, $mobileOnly) {
89
120
  width: max-content !important;
90
121
  }
91
122
 
92
123
  hr {
93
- height: 2px;
94
- background: var(--colour-border);
95
- margin-left: -#{rem(16)};
96
- margin-right: -#{rem(16)};
97
- margin-block: 0.25rem;
124
+ height: 1px !important;
125
+ background-color: var(--menu-hr-border-color, var(--border-color, grey)) !important;
126
+ width: 100%;
127
+ margin: var(--menu-item-margin, 0 0 0.25rem 0) !important;
128
+ padding: 0 !important;
98
129
  }
99
130
 
100
131
  .radio--tick {
@@ -123,10 +154,33 @@ $darkMode: 'true' !default;
123
154
  }
124
155
 
125
156
  .btn-action {
157
+ background: unset;
158
+ border: unset;
159
+ color: var(--colour-primary);
160
+ font-weight: inherit;
161
+ font-family: inherit;
162
+ font-size: 1rem;
163
+ line-height: rem(19);
164
+ display: block;
165
+ margin: var(--menu-item-margin, 0 0 0.25rem 0);
166
+ padding-block: var(--menu-item-padding, 0.5rem);
167
+ width: var(--menu-item-width, 100%);
168
+ max-width: var(--menu-item-width, 100%);
169
+ text-align: var(--menu-item-text-align, left);
170
+
126
171
  &:not(:hover, :focus, :active) {
127
172
  border-color: transparent;
128
173
  }
129
- margin: 0;
174
+
175
+ &:is(:hover, :focus) {
176
+ background: var(--colour-light) !important;
177
+ border-radius: 0.25rem !important;
178
+ }
179
+
180
+ &:is(:active) {
181
+ background: rgba(224, 224, 224, 1) !important;
182
+ border-radius: 0.25rem !important;
183
+ }
130
184
  }
131
185
  }
132
186
 
@@ -5,10 +5,9 @@ $mobileOnly: 'false' !default;
5
5
  $darkMode: 'true' !default;
6
6
 
7
7
  @include layer('elements', $layers) {
8
-
9
- // #region toggle
8
+ // #region toggle
10
9
  .toggle {
11
- --outline-width: 0.25rem!important;
10
+ --outline-width: 0.25rem !important;
12
11
  padding-left: 3.25rem !important;
13
12
  }
14
13
 
@@ -21,14 +20,14 @@ $darkMode: 'true' !default;
21
20
  left: 0.25rem !important;
22
21
  }
23
22
 
24
- label.toggle:has(:is(input[type='checkbox'],input[type="radio"]):not([disabled]):checked):before {
23
+ label.toggle:has(:is(input[type='checkbox'], input[type='radio']):not([disabled]):checked):before {
25
24
  background: var(--colour-primary-theme) !important;
26
25
  }
27
26
 
28
27
  .toggle:after {
29
28
  position: absolute !important;
30
29
  content: '' !important;
31
- display: block!important;
30
+ display: block !important;
32
31
  top: 0.5rem !important;
33
32
  height: 1em !important;
34
33
  width: 1em !important;
@@ -40,7 +39,7 @@ $darkMode: 'true' !default;
40
39
  border-radius: 0.5em;
41
40
  }
42
41
 
43
- label.toggle:has(:is(input[type='checkbox'],input[type='radio']):not([disabled]):not([disabled]):checked):after {
42
+ label.toggle:has(:is(input[type='checkbox'], input[type='radio']):not([disabled]):not([disabled]):checked):after {
44
43
  background: var(--colour-primary-theme) !important;
45
44
  background-color: white !important;
46
45
  -webkit-transform: translateX(1rem) !important;
@@ -50,6 +49,6 @@ $darkMode: 'true' !default;
50
49
  // #endregion
51
50
 
52
51
  label.toggle:has(+ label.toggle) {
53
- margin-bottom: 0!important;
52
+ margin-bottom: 0 !important;
54
53
  }
55
- }
54
+ }
@@ -17,15 +17,14 @@ $darkMode: 'true' !default;
17
17
  // #region headings
18
18
 
19
19
  %heading {
20
-
21
20
  margin-top: 0; // 1
22
21
  margin-bottom: 0;
23
22
  font-family: $headings-font-family;
24
23
  font-style: $headings-font-style;
25
24
  font-weight: bold;
26
25
 
27
- line-height: round(calc(1em * var(--type-scale)),0.25rem);
28
- padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
26
+ line-height: round(calc(1em * var(--type-scale)), 0.25rem);
27
+ padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
29
28
  color: $headings-color;
30
29
  clear: both;
31
30
  display: block;
@@ -40,12 +39,10 @@ $darkMode: 'true' !default;
40
39
  }
41
40
 
42
41
  :is(.h1, h1) {
43
-
44
42
  font-size: map.get($heading-sizes, 'h1_fs');
45
43
  font-weight: 900;
46
44
  }
47
45
 
48
-
49
46
  :is(h2, .h2) {
50
47
  font-size: map.get($heading-sizes, 'h2_fs');
51
48
  font-weight: 900;
@@ -55,16 +52,16 @@ $darkMode: 'true' !default;
55
52
  font-size: map.get($heading-sizes, 'h3_fs');
56
53
  max-width: var(--content-max-width);
57
54
 
58
- line-height: round(calc(1em * var(--type-scale)),0.25rem);
59
- padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
55
+ line-height: round(calc(1em * var(--type-scale)), 0.25rem);
56
+ padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
60
57
  }
61
58
 
62
59
  :is(.h4, h4, .h5, h5, .h6, h6) {
63
60
  font-size: map.get($heading-sizes, 'h4_fs');
64
61
  max-width: var(--content-max-width);
65
-
66
- line-height: round(calc(1em * var(--type-scale)),0.25rem);
67
- padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
62
+
63
+ line-height: round(calc(1em * var(--type-scale)), 0.25rem);
64
+ padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
68
65
  }
69
66
  // #endregion
70
67
 
@@ -35,8 +35,6 @@ $darkMode: 'true' !default;
35
35
  line-height: map.get($heading-sizes, 'h3_lh');
36
36
  padding-bottom: map.get($heading-sizes, 'h3_pb');
37
37
  max-width: var(--content-max-width);
38
-
39
-
40
38
  }
41
39
 
42
40
  @include light-mode($darkMode) {