@iamproperty/components 7.3.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/README.md +1 -1
  2. package/assets/css/components/actionbar.component.css +1 -1
  3. package/assets/css/components/actionbar.component.css.map +1 -1
  4. package/assets/css/components/actionbar.global.css +1 -1
  5. package/assets/css/components/actionbar.global.css.map +1 -1
  6. package/assets/css/components/address-lookup.component.css +1 -0
  7. package/assets/css/components/address-lookup.component.css.map +1 -0
  8. package/assets/css/components/barchart.component.css +1 -1
  9. package/assets/css/components/barchart.component.css.map +1 -1
  10. package/assets/css/components/calendar.component.css +1 -0
  11. package/assets/css/components/calendar.component.css.map +1 -0
  12. package/assets/css/components/calendar.config.css +1 -0
  13. package/assets/css/components/calendar.config.css.map +1 -0
  14. package/assets/css/components/card.component.css +1 -1
  15. package/assets/css/components/card.component.css.map +1 -1
  16. package/assets/css/components/carousel.component.css +1 -1
  17. package/assets/css/components/carousel.component.css.map +1 -1
  18. package/assets/css/components/charts.css +1 -1
  19. package/assets/css/components/charts.css.map +1 -1
  20. package/assets/css/components/collapsible-side.css +1 -1
  21. package/assets/css/components/collapsible-side.css.map +1 -1
  22. package/assets/css/components/content.component.css +1 -0
  23. package/assets/css/components/content.component.css.map +1 -0
  24. package/assets/css/components/darkmode.component.css +1 -0
  25. package/assets/css/components/darkmode.component.css.map +1 -0
  26. package/assets/css/components/doughnutchart.component.css +1 -1
  27. package/assets/css/components/doughnutchart.component.css.map +1 -1
  28. package/assets/css/components/fileupload.css.map +1 -1
  29. package/assets/css/components/inline-edit.css +1 -1
  30. package/assets/css/components/inline-edit.css.map +1 -1
  31. package/assets/css/components/marketing.component.css +1 -0
  32. package/assets/css/components/marketing.component.css.map +1 -0
  33. package/assets/css/components/menu.component.css.map +1 -1
  34. package/assets/css/components/{menu.css → menu.global.css} +1 -1
  35. package/assets/css/components/menu.global.css.map +1 -0
  36. package/assets/css/components/milestone.css +1 -0
  37. package/assets/css/components/milestone.css.map +1 -0
  38. package/assets/css/components/multi-step.component.css +1 -1
  39. package/assets/css/components/multi-step.component.css.map +1 -1
  40. package/assets/css/components/multiselect.css +1 -1
  41. package/assets/css/components/multiselect.css.map +1 -1
  42. package/assets/css/components/multiselect.preload.css +1 -1
  43. package/assets/css/components/multiselect.preload.css.map +1 -1
  44. package/assets/css/components/nav.component.css +1 -1
  45. package/assets/css/components/nav.component.css.map +1 -1
  46. package/assets/css/components/nav.global.css +1 -1
  47. package/assets/css/components/nav.global.css.map +1 -1
  48. package/assets/css/components/notification.css +1 -1
  49. package/assets/css/components/notification.css.map +1 -1
  50. package/assets/css/components/pagination.css.map +1 -1
  51. package/assets/css/components/property-searchbar.css +1 -1
  52. package/assets/css/components/property-searchbar.css.map +1 -1
  53. package/assets/css/components/rank.component.css +1 -1
  54. package/assets/css/components/rank.component.css.map +1 -1
  55. package/assets/css/components/rankings.component.css +1 -1
  56. package/assets/css/components/rankings.component.css.map +1 -1
  57. package/assets/css/components/rankings.global.css +1 -1
  58. package/assets/css/components/rankings.global.css.map +1 -1
  59. package/assets/css/components/slider.css.map +1 -1
  60. package/assets/css/components/split-button.component.css +1 -0
  61. package/assets/css/components/split-button.component.css.map +1 -0
  62. package/assets/css/components/word-count.component.css +1 -0
  63. package/assets/css/components/word-count.component.css.map +1 -0
  64. package/assets/css/core.min.css +1 -1
  65. package/assets/css/core.min.css.map +1 -1
  66. package/assets/css/mobile-core.min.css +1 -1
  67. package/assets/css/mobile-core.min.css.map +1 -1
  68. package/assets/css/mobile.min.css +1 -1
  69. package/assets/css/mobile.min.css.map +1 -1
  70. package/assets/css/style.min.css +1 -1
  71. package/assets/css/style.min.css.map +1 -1
  72. package/assets/js/components/accordion/accordion.component.js +40 -19
  73. package/assets/js/components/accordion/accordion.component.min.js +15 -15
  74. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  75. package/assets/js/components/actionbar/actionbar.component.js +59 -31
  76. package/assets/js/components/actionbar/actionbar.component.min.js +18 -17
  77. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  78. package/assets/js/components/address-lookup/address-lookup.component.js +6 -8
  79. package/assets/js/components/address-lookup/address-lookup.component.min.js +10 -12
  80. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  81. package/assets/js/components/advanced-select/advanced-select.component.js +63 -0
  82. package/assets/js/components/advanced-select/advanced-select.component.min.js +23 -0
  83. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -0
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  85. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  86. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  87. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  88. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  89. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
  90. package/assets/js/components/calendar/calendar.component.js +1100 -0
  91. package/assets/js/components/calendar/calendar.component.min.js +170 -0
  92. package/assets/js/components/calendar/calendar.component.min.js.map +1 -0
  93. package/assets/js/components/card/card.component.js +14 -8
  94. package/assets/js/components/card/card.component.min.js +16 -10
  95. package/assets/js/components/card/card.component.min.js.map +1 -1
  96. package/assets/js/components/carousel/carousel.component.js +17 -19
  97. package/assets/js/components/carousel/carousel.component.min.js +17 -19
  98. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  99. package/assets/js/components/collapsible-side/collapsible-side.component.js +47 -12
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +6 -5
  101. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  102. package/assets/js/components/content/content.component.js +66 -0
  103. package/assets/js/components/content/content.component.min.js +15 -0
  104. package/assets/js/components/content/content.component.min.js.map +1 -0
  105. package/assets/js/components/darkmode/darkmode.component.js +70 -0
  106. package/assets/js/components/darkmode/darkmode.component.min.js +10 -0
  107. package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -0
  108. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  109. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  110. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  111. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  112. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  113. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  114. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  115. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  116. package/assets/js/components/header/header.component.min.js +1 -1
  117. package/assets/js/components/header/header.component.min.js.map +1 -1
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  119. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  120. package/assets/js/components/marketing/marketing.component.js +1 -1
  121. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  122. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  123. package/assets/js/components/menu/menu.component.js +12 -4
  124. package/assets/js/components/menu/menu.component.min.js +4 -5
  125. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  126. package/assets/js/components/milestone/milestone.component.js +36 -0
  127. package/assets/js/components/milestone/milestone.component.min.js +15 -0
  128. package/assets/js/components/milestone/milestone.component.min.js.map +1 -0
  129. package/assets/js/components/milestone-group/milestone-group.component.js +33 -0
  130. package/assets/js/components/milestone-group/milestone-group.component.min.js +13 -0
  131. package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -0
  132. package/assets/js/components/multi-step/multi-step.component.min.js +3 -3
  133. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -1
  134. package/assets/js/components/multiselect/multiselect.component.js +54 -2
  135. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  136. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  137. package/assets/js/components/nav/nav.component.js +18 -0
  138. package/assets/js/components/nav/nav.component.min.js +6 -6
  139. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  140. package/assets/js/components/notification/notification.component.js +15 -11
  141. package/assets/js/components/notification/notification.component.min.js +4 -4
  142. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  143. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  144. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  145. package/assets/js/components/rank/rank.component.js +346 -210
  146. package/assets/js/components/rank/rank.component.min.js +346 -211
  147. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  148. package/assets/js/components/rankings/rankings.component.js +17 -8
  149. package/assets/js/components/rankings/rankings.component.min.js +14 -8
  150. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  151. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  152. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  153. package/assets/js/components/search/search.component.js +5 -3
  154. package/assets/js/components/search/search.component.min.js +6 -6
  155. package/assets/js/components/search/search.component.min.js.map +1 -1
  156. package/assets/js/components/slider/slider.component.min.js +1 -1
  157. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  158. package/assets/js/components/split-button/split-button.component.js +58 -0
  159. package/assets/js/components/split-button/split-button.component.min.js +31 -0
  160. package/assets/js/components/split-button/split-button.component.min.js.map +1 -0
  161. package/assets/js/components/table/table.component.js +12 -0
  162. package/assets/js/components/table/table.component.min.js +3 -3
  163. package/assets/js/components/table/table.component.min.js.map +1 -1
  164. package/assets/js/components/table-ajax/table-ajax.component.js +12 -0
  165. package/assets/js/components/table-ajax/table-ajax.component.min.js +3 -3
  166. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  167. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  168. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  169. package/assets/js/components/table-no-submit/table-no-submit.component.js +12 -0
  170. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +3 -3
  171. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  172. package/assets/js/components/table-submit/table-submit.component.js +12 -0
  173. package/assets/js/components/table-submit/table-submit.component.min.js +3 -3
  174. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  175. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  176. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  177. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  178. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  179. package/assets/js/components/word-count/word-count.component.js +81 -0
  180. package/assets/js/components/word-count/word-count.component.min.js +12 -0
  181. package/assets/js/components/word-count/word-count.component.min.js.map +1 -0
  182. package/assets/js/components.js +59 -0
  183. package/assets/js/modules/advanced-select.js +106 -0
  184. package/assets/js/modules/dialogs.js +53 -51
  185. package/assets/js/modules/dynamicEvents.js +7 -0
  186. package/assets/js/modules/inputs.js +0 -18
  187. package/assets/js/modules/milestone-group.js +30 -0
  188. package/assets/js/modules/milestone.js +89 -0
  189. package/assets/js/modules/table.js +11 -1
  190. package/assets/js/modules/videos.js +1 -1
  191. package/assets/js/scripts.bundle.js +3 -3
  192. package/assets/js/scripts.bundle.js.map +1 -1
  193. package/assets/js/scripts.bundle.min.js +2 -2
  194. package/assets/js/scripts.bundle.min.js.map +1 -1
  195. package/assets/js/scripts.js +5 -0
  196. package/assets/sass/_components.scss +15 -4
  197. package/assets/sass/_example.scss +1 -1
  198. package/assets/sass/_functions/utility-mixins.scss +40 -0
  199. package/assets/sass/_functions/variables.scss +11 -5
  200. package/assets/sass/components/actionbar.component.scss +23 -1
  201. package/assets/sass/components/actionbar.global.scss +5 -5
  202. package/assets/sass/components/{address-lookup.scss → address-lookup.component.scss} +10 -0
  203. package/assets/sass/components/calendar.component.scss +1272 -0
  204. package/assets/sass/components/calendar.config.scss +423 -0
  205. package/assets/sass/components/card.component.scss +4 -34
  206. package/assets/sass/components/carousel.component.scss +5 -0
  207. package/assets/sass/components/collapsible-side.scss +91 -95
  208. package/assets/sass/components/content.component.scss +18 -0
  209. package/assets/sass/components/darkmode.component.scss +22 -0
  210. package/assets/sass/components/inline-edit.scss +2 -0
  211. package/assets/sass/components/{marketing.scss → marketing.component.scss} +2 -6
  212. package/assets/sass/components/menu.component.scss +3 -8
  213. package/assets/sass/components/milestone.scss +216 -0
  214. package/assets/sass/components/multi-step.component.scss +1 -1
  215. package/assets/sass/components/multiselect.preload.scss +1 -1
  216. package/assets/sass/components/multiselect.scss +2 -0
  217. package/assets/sass/components/nav.component.scss +17 -6
  218. package/assets/sass/components/nav.global.scss +29 -3
  219. package/assets/sass/components/notification.scss +32 -13
  220. package/assets/sass/components/rank.component.scss +197 -24
  221. package/assets/sass/components/rankings.component.scss +38 -28
  222. package/assets/sass/components/rankings.global.scss +64 -2
  223. package/assets/sass/components/split-button.component.scss +79 -0
  224. package/assets/sass/components/table-basic.global.scss +32 -32
  225. package/assets/sass/components/word-count.component.scss +26 -0
  226. package/assets/sass/elements/admin-panel.scss +1 -1
  227. package/assets/sass/elements/badge-tag.scss +5 -1
  228. package/assets/sass/elements/buttons--compact.scss +4 -0
  229. package/assets/sass/elements/details.scss +33 -7
  230. package/assets/sass/elements/forms.scss +135 -28
  231. package/assets/sass/elements/links.scss +132 -4
  232. package/assets/sass/elements/lists.scss +62 -1
  233. package/assets/sass/elements/popover.scss +64 -10
  234. package/assets/sass/elements/toggle-button.scss +8 -8
  235. package/assets/sass/elements/type.scss +7 -10
  236. package/assets/sass/foundations/colours.scss +0 -0
  237. package/assets/sass/foundations/reboot.scss +8 -1
  238. package/assets/sass/foundations/root.scss +41 -51
  239. package/assets/sass/templates/form.scss +0 -2
  240. package/assets/ts/components/accordion/accordion.component.ts +47 -26
  241. package/assets/ts/components/actionbar/actionbar.component.ts +58 -22
  242. package/assets/ts/components/address-lookup/address-lookup.component.ts +6 -8
  243. package/assets/ts/components/advanced-select/advanced-select.component.ts +74 -0
  244. package/assets/ts/components/calendar/calendar.component.ts +1330 -0
  245. package/assets/ts/components/card/card.component.ts +15 -14
  246. package/assets/ts/components/carousel/carousel.component.ts +17 -19
  247. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +53 -12
  248. package/assets/ts/components/content/content.component.ts +78 -0
  249. package/assets/ts/components/darkmode/darkmode.component.ts +85 -0
  250. package/assets/ts/components/marketing/marketing.component.ts +1 -1
  251. package/assets/ts/components/menu/menu.component.ts +18 -10
  252. package/assets/ts/components/milestone/milestone.component.ts +43 -0
  253. package/assets/ts/components/milestone-group/milestone-group.component.ts +39 -0
  254. package/assets/ts/components/multiselect/multiselect.component.ts +60 -3
  255. package/assets/ts/components/nav/nav.component.ts +18 -0
  256. package/assets/ts/components/notification/notification.component.ts +30 -11
  257. package/assets/ts/components/rank/rank.component.ts +345 -209
  258. package/assets/ts/components/rankings/rankings.component.ts +27 -8
  259. package/assets/ts/components/search/search.component.ts +6 -4
  260. package/assets/ts/components/split-button/split-button.component.ts +67 -0
  261. package/assets/ts/components/table/table.component.ts +14 -0
  262. package/assets/ts/components/table-ajax/table-ajax.component.ts +14 -0
  263. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +14 -0
  264. package/assets/ts/components/table-submit/table-submit.component.ts +14 -0
  265. package/assets/ts/components/video-card/video-card.component.ts +2 -3
  266. package/assets/ts/components/word-count/word-count.component.ts +91 -0
  267. package/assets/ts/components.ts +64 -0
  268. package/assets/ts/modules/advanced-select.ts +120 -0
  269. package/assets/ts/modules/data-layer.md +0 -5
  270. package/assets/ts/modules/dialogs.ts +64 -61
  271. package/assets/ts/modules/dynamicEvents.ts +10 -0
  272. package/assets/ts/modules/inputs.ts +0 -25
  273. package/assets/ts/modules/milestone-group.ts +39 -0
  274. package/assets/ts/modules/milestone.ts +119 -0
  275. package/assets/ts/modules/table.ts +15 -1
  276. package/assets/ts/modules/videos.ts +19 -37
  277. package/assets/ts/scripts.ts +6 -3
  278. package/dist/components.es.js +849 -1079
  279. package/dist/components.umd.js +1052 -220
  280. package/package.json +6 -6
  281. package/src/components/Accordion/Accordion.vue +14 -23
  282. package/src/components/Accordion/AccordionItem.vue +27 -43
  283. package/src/components/Actionbar/Actionbar.vue +17 -19
  284. package/src/components/AddressLookup/AddressLookup.vue +17 -18
  285. package/src/components/AdvancedSelect/AdvancedSelect.vue +22 -0
  286. package/src/components/AppliedFilters/AppliedFilters.vue +16 -18
  287. package/src/components/Banner/Banner.vue +18 -21
  288. package/src/components/BarChart/BarChart.vue +17 -18
  289. package/src/components/Calendar/Calendar.vue +20 -0
  290. package/src/components/Card/Card.vue +17 -17
  291. package/src/components/Carousel/Carousel.vue +17 -20
  292. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +7 -13
  293. package/src/components/Content/Content.vue +22 -0
  294. package/src/components/DarkMode/DarkMode.vue +19 -0
  295. package/src/components/DoughnutChart/DoughnutChart.vue +17 -18
  296. package/src/components/FileUpload/FileUpload.vue +22 -28
  297. package/src/components/FilterCard/FilterCard.vue +17 -18
  298. package/src/components/Filterlist/Filterlist.vue +17 -0
  299. package/src/components/Header/Header.vue +28 -29
  300. package/src/components/InlineEdit/InlineEdit.vue +11 -19
  301. package/src/components/Menu/Menu.vue +17 -17
  302. package/src/components/Milestones/Milestone.vue +22 -0
  303. package/src/components/Milestones/MilestoneGroup.vue +24 -0
  304. package/src/components/Multiselect/Multiselect.vue +17 -18
  305. package/src/components/Nav/Nav.vue +17 -19
  306. package/src/components/Notification/Notification.vue +17 -15
  307. package/src/components/Pagination/Pagination.vue +16 -16
  308. package/src/components/Rank/Rank.vue +17 -18
  309. package/src/components/Rankings/Rankings.vue +17 -27
  310. package/src/components/RecordCard/RecordCard.vue +17 -18
  311. package/src/components/Search/Search.vue +17 -17
  312. package/src/components/Slider/Slider.vue +17 -17
  313. package/src/components/SplitButton/README.md +19 -0
  314. package/src/components/SplitButton/SplitButton.vue +23 -0
  315. package/src/components/Tabs/Tabs.vue +17 -17
  316. package/src/components/VideoCard/VideoCard.vue +17 -18
  317. package/src/components/WordCount/WordCount.vue +22 -0
  318. package/src/index.js +2 -0
  319. package/assets/css/components/address-lookup.css +0 -1
  320. package/assets/css/components/address-lookup.css.map +0 -1
  321. package/assets/css/components/marketing.css +0 -1
  322. package/assets/css/components/marketing.css.map +0 -1
  323. package/assets/css/components/menu.css.map +0 -1
  324. package/assets/css/components/nav.old.css +0 -1
  325. package/assets/css/components/nav.old.css.map +0 -1
  326. package/assets/sass/components/nav.old.scss +0 -891
  327. /package/assets/sass/components/{menu.scss → menu.global.scss} +0 -0
@@ -43,8 +43,16 @@ nav:has(iam-nav) {
43
43
  }
44
44
 
45
45
  nav:has(iam-nav.nav--sticky) {
46
+ position: sticky;
47
+ top: 0;
48
+ left: 0;
49
+ right: 0;
50
+ z-index: 9999;
51
+ transition: transform 1s;
52
+
46
53
  iam-nav {
47
54
  position: fixed;
55
+ outline: 2px solid #eeeeee;
48
56
  }
49
57
  }
50
58
 
@@ -55,10 +63,21 @@ nav:has(iam-nav.nav--sticky) {
55
63
  }
56
64
 
57
65
  nav:has(iam-nav.nav--xs-sticky) {
66
+ position: sticky;
67
+ top: 0;
68
+ left: 0;
69
+ right: 0;
70
+ z-index: 9999;
71
+ transition: transform 1s;
72
+
58
73
  iam-nav {
59
74
  position: fixed;
60
75
  }
61
76
  }
77
+
78
+ body[data-direction='down'].past100 nav:has(.nav--xs-sticky) {
79
+ transform: translate(0, -110%);
80
+ }
62
81
  }
63
82
 
64
83
  @include media-breakpoint-up(sm, $mobileOnly) {
@@ -67,6 +86,11 @@ nav:has(iam-nav.nav--sticky) {
67
86
  overflow: hidden;
68
87
  }
69
88
  }
89
+
90
+ body[data-direction='down'].past100 nav:has(.nav--sticky) {
91
+ transform: translate(0, -110%);
92
+ }
93
+
70
94
  // #endregion
71
95
 
72
96
  // #region General styles
@@ -121,6 +145,8 @@ iam-nav {
121
145
  &:active {
122
146
  text-decoration-color: #a2d393 !important;
123
147
  }
148
+
149
+ &.active,
124
150
  &.selected,
125
151
  &[aria-current='page'] {
126
152
  text-decoration-color: var(--colour-info) !important;
@@ -180,7 +206,7 @@ iam-nav details {
180
206
  summary {
181
207
  background-color: var(--colour-white);
182
208
 
183
- @include dark-mode($darkMode) {
209
+ @container style(--theme: dark) {
184
210
  background-color: var(--colour-canvas-2);
185
211
  }
186
212
  display: block;
@@ -401,11 +427,11 @@ iam-nav details {
401
427
  ) !important;
402
428
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
403
429
 
404
- @include light-mode($darkMode) {
430
+ @container style(--theme: light) {
405
431
  background: var(--colour-white);
406
432
  @include reset-colours();
407
433
  }
408
- @include dark-mode($darkMode) {
434
+ @container style(--theme: dark) {
409
435
  @include invert-colours();
410
436
  }
411
437
  }
@@ -13,9 +13,12 @@ $darkMode: 'true' !default;
13
13
  border: rem(2) solid var(--colour, var(--colour-info));
14
14
  outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
15
15
 
16
- @include light-mode($darkMode) {
16
+ @container style(--body-theme: light) {
17
17
  background: #e9f9fd;
18
18
  }
19
+ @container style(--body-theme: dark) {
20
+ background: var(--colour-canvas-2);
21
+ }
19
22
 
20
23
  &::slotted(strong) {
21
24
  color: green;
@@ -31,20 +34,36 @@ $darkMode: 'true' !default;
31
34
  border: rem(2) solid transparent;
32
35
  }
33
36
 
34
- :host(.colour-warning),
35
- .iam-notification.colour-warning {
36
- background: #fff6e6;
37
- }
38
37
 
39
- :host(.colour-danger),
40
- .iam-notification.colour-danger {
41
- background: #fcebec;
42
- }
38
+ :host(.colour-warning),
39
+ .iam-notification.colour-warning {
40
+ @container style(--body-theme: light) {
41
+ background: #fff6e6;
42
+ }
43
+ @container style(--body-theme: dark) {
44
+ background: var(--colour-canvas-2);
45
+ }
46
+ }
43
47
 
44
- :host(.colour-success),
45
- .iam-notification.colour-success {
46
- background: #f8fdf6;
47
- }
48
+ :host(.colour-danger),
49
+ .iam-notification.colour-danger {
50
+ @container style(--body-theme: light) {
51
+ background: #fcebec;
52
+ }
53
+ @container style(--body-theme: dark) {
54
+ background: var(--colour-canvas-2);
55
+ }
56
+ }
57
+
58
+ :host(.colour-success),
59
+ .iam-notification.colour-success {
60
+ @container style(--body-theme: light) {
61
+ background: #f8fdf6;
62
+ }
63
+ @container style(--body-theme: dark) {
64
+ background: var(--colour-canvas-2);
65
+ }
66
+ }
48
67
 
49
68
  :host(.bg-white),
50
69
  .iam-notification.bg-white {
@@ -12,25 +12,35 @@
12
12
 
13
13
  :host {
14
14
  display: block;
15
- text-align: center;
15
+ width: 100%;
16
+ max-width: rem(100);
16
17
  margin-bottom: 2rem;
18
+ z-index: 1;
19
+ }
20
+
21
+ .wrapper {
22
+ display: flex;
23
+ text-align: center;
17
24
  width: 100%;
18
- max-width: 10rem;
25
+ max-width: rem(100);
26
+ position: relative;
19
27
  }
20
28
 
21
29
  .rank {
22
30
  position: relative;
23
31
  display: flex;
24
32
 
25
- aspect-ratio: 1/1;
26
33
  width: 100%;
34
+ aspect-ratio: 1/1;
35
+ max-width: rem(100);
36
+ max-height: rem(100);
27
37
  height: auto;
28
38
  max-width: 10rem;
29
39
  text-align: center;
30
40
  flex-direction: column;
31
41
  justify-content: center;
32
42
  align-items: center;
33
- border: 1rem solid var(--colour-info);
43
+ border: 0.5rem solid var(--colour-info);
34
44
  border-radius: 50%;
35
45
 
36
46
  .position {
@@ -39,16 +49,6 @@
39
49
  line-height: 1 !important;
40
50
  }
41
51
 
42
- .position:after {
43
- content: var(--rank-sub-text, 'Your rank');
44
- display: block;
45
- font-size: rem(map.get($heading-sizes, 'lead_fs'));
46
- line-height: 1;
47
- font-weight: 700;
48
- margin: 0;
49
- padding: 0;
50
- }
51
-
52
52
  svg {
53
53
  position: absolute;
54
54
  inset: 0;
@@ -58,12 +58,83 @@
58
58
  }
59
59
  }
60
60
 
61
+ .base {
62
+ display: none;
63
+ }
64
+
65
+ .title {
66
+ display: none;
67
+ }
68
+ :host([data-title]) .title {
69
+ display: flex;
70
+
71
+ text-align: center;
72
+ align-items: center;
73
+ flex-direction: column;
74
+ justify-content: center;
75
+ padding-top: rem(12);
76
+ padding-inline: rem(5);
77
+ padding-bottom: rem(12);
78
+ height: rem(84);
79
+ position: relative;
80
+ border-radius: 0 0 4px 4px;
81
+ //overflow: hidden;
82
+
83
+ &:before {
84
+ content: '1';
85
+ position: absolute;
86
+ font-size: rem(72);
87
+ font-weight: bold;
88
+ display: block;
89
+ top: 50%;
90
+ left: 50%;
91
+ transform: translate(-50%, -50%);
92
+ z-index: -1;
93
+ color: color-mix(in srgb, #fdcb6e, transparent 90%);
94
+ }
95
+
96
+ &:after {
97
+ content: '';
98
+ position: absolute;
99
+ height: rem(132);
100
+ width: 100%;
101
+ display: block;
102
+ bottom: 0;
103
+ left: 0;
104
+
105
+ opacity: 0.2;
106
+
107
+ z-index: -2;
108
+ background: #fdcb6e;
109
+ background: linear-gradient(0deg, rgba(253, 203, 110, 1) 0%, rgba(255, 255, 255, 1) 100%);
110
+ border-radius: 0 0 4px 4px;
111
+ }
112
+
113
+ span {
114
+ display: -webkit-box;
115
+ -webkit-box-orient: vertical;
116
+ -webkit-line-clamp: 3;
117
+ overflow: hidden;
118
+ text-align: center;
119
+ text-overflow: ellipsis;
120
+ position: relative;
121
+ z-index: 5;
122
+ word-break: break-word;
123
+ }
124
+ }
125
+
61
126
  :host([data-position='1st']),
62
127
  :host([data-position='2nd']),
63
128
  :host([data-position='3rd']) {
129
+ position: relative;
130
+ max-width: rem(70);
131
+
64
132
  .rank {
65
133
  border-width: 0;
66
134
  overflow: hidden;
135
+ aspect-ratio: 14/25;
136
+ max-width: rem(70);
137
+ margin-inline: auto;
67
138
  }
68
139
 
69
140
  .position {
@@ -71,32 +142,134 @@
71
142
  }
72
143
  }
73
144
 
74
- :host([data-position='1st']) {
75
- .rank {
76
- background: #ffee56;
145
+ :host([data-position='1st']:not(.rank--trophy)) {
146
+ .rank svg:nth-child(3) {
147
+ display: block;
148
+ }
149
+
150
+ .title {
151
+ font-weight: bold;
152
+
153
+ font-family: var(--font-heading);
154
+
155
+ &:before {
156
+ color: color-mix(in srgb, #f6b818, transparent 90%);
157
+ }
158
+
159
+ &:after {
160
+ background: linear-gradient(0deg, rgba(246, 184, 24, 1) 0%, rgba(255, 255, 255, 1) 100%);
161
+ }
162
+ }
163
+ }
164
+
165
+ :host([data-position='2nd']) {
166
+ .rank svg:nth-child(2) {
167
+ display: block;
77
168
  }
78
169
 
170
+ .title {
171
+ &:before {
172
+ content: '2';
173
+ color: color-mix(in srgb, #a9a9a9, transparent 90%);
174
+ }
175
+
176
+ &:after {
177
+ background: linear-gradient(0deg, rgba(169, 169, 169, 1) 0%, rgba(255, 255, 255, 1) 100%);
178
+ }
179
+ }
180
+ }
181
+
182
+ :host([data-position='3rd']) {
79
183
  .rank svg:nth-child(1) {
80
184
  display: block;
81
185
  }
186
+
187
+ .title {
188
+ &:before {
189
+ content: '3';
190
+ }
191
+ }
82
192
  }
83
193
 
84
- :host([data-position='2nd']) {
194
+ :host([data-position='1st'].rank--trophy) {
195
+ max-width: rem(100);
196
+
85
197
  .rank {
86
- background: #ededed;
198
+ aspect-ratio: 1/1;
199
+ max-width: rem(100);
200
+ margin-bottom: 0;
87
201
  }
88
202
 
89
- .rank svg:nth-child(2) {
203
+ .rank svg:nth-child(4) {
90
204
  display: block;
91
205
  }
92
206
  }
93
207
 
94
- :host([data-position='3rd']) {
208
+ :host([data-position='1st']:not(.rank--medal)),
209
+ :host([data-position='2nd']:not(.rank--medal)),
210
+ :host([data-position='3rd']:not(.rank--medal)) {
211
+ aspect-ratio: 8/10;
212
+ max-width: rem(125);
213
+
214
+ .wrapper {
215
+ width: 100%;
216
+ height: 100%;
217
+ max-width: rem(125);
218
+ max-height: rem(150);
219
+ align-items: center;
220
+
221
+ .rank {
222
+ max-width: 56%;
223
+ margin-bottom: 1rem;
224
+ }
225
+
226
+ .base {
227
+ display: block;
228
+ position: absolute;
229
+ inset: 0;
230
+
231
+ svg:nth-child(2) {
232
+ display: none;
233
+ }
234
+ }
235
+ }
236
+ }
237
+
238
+ :host([data-position='1st']:not(.rank--medal).rank--trophy) {
239
+ aspect-ratio: 8/10;
240
+ max-width: rem(150);
241
+ .wrapper {
242
+ max-width: rem(150);
243
+ max-height: rem(180);
244
+ margin-top: -2rem;
245
+ }
95
246
  .rank {
96
- background: #ffe798;
247
+ aspect-ratio: 1/1;
248
+ max-width: 80%;
249
+ margin-bottom: 1rem;
97
250
  }
98
251
 
99
- .rank svg:nth-child(3) {
100
- display: block;
252
+ .wrapper {
253
+ .base {
254
+ svg:nth-child(1) {
255
+ display: none;
256
+ }
257
+ svg:nth-child(2) {
258
+ display: block;
259
+ }
260
+ }
261
+ }
262
+
263
+ .title {
264
+ font-weight: bold;
265
+
266
+ &:before {
267
+ content: 1;
268
+ color: color-mix(in srgb, #f6b818, transparent 90%);
269
+ }
270
+
271
+ &:after {
272
+ background: linear-gradient(0deg, rgba(246, 184, 24, 1) 0%, rgba(255, 255, 255, 1) 100%);
273
+ }
101
274
  }
102
275
  }
@@ -5,6 +5,10 @@
5
5
 
6
6
  @include max-height();
7
7
 
8
+ :host {
9
+ overflow: visible;
10
+ }
11
+
8
12
  *,
9
13
  *::before,
10
14
  *::after {
@@ -15,46 +19,52 @@
15
19
  display: flex;
16
20
  flex-direction: row;
17
21
  flex-wrap: nowrap;
18
- align-items: flex-start;
22
+
19
23
  max-width: 30rem;
20
24
  margin: auto;
25
+ gap: 1rem;
21
26
 
22
27
  > div {
23
- flex-basis: 33.33%;
24
- flex-grow: 0;
25
- flex-shrink: 0;
28
+ flex-basis: 30%;
29
+ flex-grow: 1;
30
+ flex-shrink: 1;
26
31
  order: 1;
27
-
28
- iam-rank {
29
- margin: 0;
30
- width: 100%;
31
- }
32
-
33
- > span {
34
- display: block;
35
- font-size: rem(14);
36
- line-height: 1;
37
- font-weight: 700;
38
- margin: 0;
39
- padding-block: 0.5rem;
40
- text-align: center;
41
- max-width: 100%;
42
- //margin-inline: -1rem;
43
- overflow: hidden;
44
- }
32
+ position: relative;
33
+ display: flex;
34
+ align-items: flex-end;
35
+ justify-content: center;
45
36
  }
46
37
 
47
38
  > div:nth-child(1) {
48
39
  order: 2;
49
- padding: 0;
50
- }
51
-
52
- > div:nth-child(2) {
53
- padding: 1rem 1rem 0 0;
54
40
  }
55
41
 
56
42
  > div:nth-child(3) {
57
43
  order: 3;
58
- padding: 1rem 0 0 1rem;
59
44
  }
60
45
  }
46
+
47
+ .mh-md {
48
+ display: contents;
49
+
50
+ &:before {
51
+ display: none;
52
+ }
53
+ }
54
+
55
+ :host(.leaderboard-scroll) .mh-md {
56
+ display: block;
57
+ max-height: calc(var(--leaderboard-height, 25rem) - var(--mh-modifier, 0rem));
58
+
59
+ &:before {
60
+ display: block;
61
+ }
62
+ }
63
+
64
+ :host(.hide-podium) .podium {
65
+ display: none;
66
+ }
67
+
68
+ :host(.hide-leaderboard) .mh-md {
69
+ display: none !important;
70
+ }
@@ -13,9 +13,11 @@
13
13
  iam-rankings {
14
14
  table {
15
15
  display: block;
16
- width: 100%;
16
+ width: calc(100% - 2rem);
17
17
  font-weight: normal;
18
18
  counter-reset: countItem;
19
+ overflow: visible;
20
+ margin-inline: 1rem;
19
21
  }
20
22
  thead {
21
23
  display: none;
@@ -28,6 +30,11 @@ iam-rankings {
28
30
  font-weight: normal;
29
31
  }
30
32
 
33
+ td {
34
+ font-size: rem(28);
35
+ color: var(--colour-heading);
36
+ }
37
+
31
38
  tr.current {
32
39
  background-color: var(--colour-light);
33
40
  }
@@ -39,6 +46,7 @@ iam-rankings {
39
46
  display: flex;
40
47
  width: 100%;
41
48
  position: relative;
49
+ z-index: 1;
42
50
 
43
51
  &:before {
44
52
  counter-increment: countItem; /* Increment the value of section counter by 1 */
@@ -68,11 +76,65 @@ iam-rankings {
68
76
  width: 100%;
69
77
  height: 1rem;
70
78
  }
79
+
80
+ progress::-webkit-progress-bar {
81
+ background-color: transparent;
82
+ border-radius: 0;
83
+ }
84
+ progress::-webkit-progress-value {
85
+ background-color: var(--colour, var(--colour-info));
86
+ border-radius: 0;
87
+ }
88
+ }
89
+
90
+ tr:has(iam-rank) {
91
+ &:before {
92
+ opacity: 0;
93
+ }
94
+ iam-rank {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 0;
98
+ width: 2rem;
99
+ }
100
+ }
101
+
102
+ tr:has(+ tr.highlighted) {
103
+ border: none !important;
104
+ }
105
+
106
+ tr.highlighted {
107
+ background: var(--colour-info);
108
+ margin-block: 1rem;
109
+
110
+ &:after {
111
+ content: '';
112
+ position: absolute;
113
+ inset: 0;
114
+ display: block;
115
+ background: var(--colour-info);
116
+ z-index: -1;
117
+ margin: -0.75rem;
118
+ border-radius: 0.5rem;
119
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
120
+ }
121
+ }
122
+
123
+ tr:nth-child(1) progress {
124
+ --colour: var(--wider-colour-7);
71
125
  }
72
126
 
73
127
  @each $index, $value in $chart-colors {
74
- tr:nth-child(#{$index}) progress {
128
+ tr:nth-child(#{$index + 1}) progress {
75
129
  --colour: var(--chart-colour-#{$index}, #{$value});
76
130
  }
77
131
  }
78
132
  }
133
+
134
+ iam-rankings.hide-progress progress {
135
+ display: none;
136
+ }
137
+
138
+ iam-rankings.hide-value tbody td {
139
+ display: none;
140
+ }
@@ -0,0 +1,79 @@
1
+ @use '../_func.scss' as *;
2
+ @use '../elements/buttons';
3
+
4
+ @use '../components/menu.global.scss';
5
+
6
+ // Main button
7
+ ::slotted(button:not([slot])) {
8
+ float: left;
9
+ margin-right: 0 !important;
10
+ border-top-right-radius: 0 !important;
11
+ border-bottom-right-radius: 0 !important;
12
+ border-right: none !important;
13
+ padding-right: 1rem !important;
14
+ }
15
+
16
+ // Secondary buttons
17
+ ::slotted(button[slot]) {
18
+ background: none !important;
19
+ display: block !important;
20
+ float: none !important;
21
+ border: none !important;
22
+ }
23
+
24
+ // Drop down button
25
+ .split-button {
26
+ position: relative;
27
+
28
+ .dropdown {
29
+ position: relative;
30
+ display: inline-block;
31
+
32
+ button {
33
+ border-top-left-radius: 0;
34
+ border-bottom-left-radius: 0;
35
+ border-left: 1px solid rgba(0, 0, 0, 0.2);
36
+ padding-right: 0;
37
+ padding-left: 0.75rem;
38
+ margin-bottom: 0;
39
+
40
+ .fa-light {
41
+ &::before {
42
+ content: '\f107';
43
+ }
44
+ }
45
+
46
+ &:hover,
47
+ &:active,
48
+ &:focus {
49
+ border-top-left-radius: 0;
50
+ border-bottom-left-radius: 0;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ // Secondary button
57
+ .btn-secondary:not([disabled]) {
58
+ &:hover,
59
+ &:active,
60
+ &:focus {
61
+ i {
62
+ color: white !important;
63
+ }
64
+ }
65
+ }
66
+
67
+ @media (prefers-color-scheme: dark) {
68
+ .btn-secondary.btn-split {
69
+ border-left-color: white !important;
70
+
71
+ &:hover,
72
+ &:active,
73
+ &:focus {
74
+ i {
75
+ color: black !important;
76
+ }
77
+ }
78
+ }
79
+ }