@iamproperty/components 7.2.2--beta3 → 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 (247) 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/bento-grid.global.css.map +1 -1
  8. package/assets/css/components/calendar.component.css +1 -0
  9. package/assets/css/components/calendar.component.css.map +1 -0
  10. package/assets/css/components/calendar.config.css +1 -0
  11. package/assets/css/components/calendar.config.css.map +1 -0
  12. package/assets/css/components/card.component.css +1 -1
  13. package/assets/css/components/card.component.css.map +1 -1
  14. package/assets/css/components/carousel.component.css +1 -1
  15. package/assets/css/components/carousel.component.css.map +1 -1
  16. package/assets/css/components/charts.module.css.map +1 -1
  17. package/assets/css/components/collapsible-side.css +1 -1
  18. package/assets/css/components/collapsible-side.css.map +1 -1
  19. package/assets/css/components/content.component.css +1 -0
  20. package/assets/css/components/content.component.css.map +1 -0
  21. package/assets/css/components/doughnutchart.component.css +1 -1
  22. package/assets/css/components/doughnutchart.component.css.map +1 -1
  23. package/assets/css/components/fileupload.css.map +1 -1
  24. package/assets/css/components/inline-edit.css +1 -1
  25. package/assets/css/components/inline-edit.css.map +1 -1
  26. package/assets/css/components/marketing.component.css +1 -0
  27. package/assets/css/components/marketing.component.css.map +1 -0
  28. package/assets/css/components/menu.component.css +1 -1
  29. package/assets/css/components/menu.component.css.map +1 -1
  30. package/assets/css/components/menu.css +1 -1
  31. package/assets/css/components/menu.css.map +1 -1
  32. package/assets/css/components/milestone.css +1 -0
  33. package/assets/css/components/milestone.css.map +1 -0
  34. package/assets/css/components/multiselect.css +1 -1
  35. package/assets/css/components/multiselect.css.map +1 -1
  36. package/assets/css/components/nav.component.css +1 -1
  37. package/assets/css/components/nav.component.css.map +1 -1
  38. package/assets/css/components/nav.global.css +1 -1
  39. package/assets/css/components/nav.global.css.map +1 -1
  40. package/assets/css/components/pagination.css.map +1 -1
  41. package/assets/css/components/rank.component.css +1 -1
  42. package/assets/css/components/rank.component.css.map +1 -1
  43. package/assets/css/components/rankings.component.css +1 -1
  44. package/assets/css/components/rankings.component.css.map +1 -1
  45. package/assets/css/components/rankings.global.css +1 -1
  46. package/assets/css/components/rankings.global.css.map +1 -1
  47. package/assets/css/components/slider.css.map +1 -1
  48. package/assets/css/components/split-button.component.css +1 -0
  49. package/assets/css/components/split-button.component.css.map +1 -0
  50. package/assets/css/components/table-basic.global.css.map +1 -1
  51. package/assets/css/components/table.global.css.map +1 -1
  52. package/assets/css/core.min.css +1 -1
  53. package/assets/css/core.min.css.map +1 -1
  54. package/assets/css/mobile-core.min.css +1 -1
  55. package/assets/css/mobile-core.min.css.map +1 -1
  56. package/assets/css/mobile.min.css +1 -1
  57. package/assets/css/mobile.min.css.map +1 -1
  58. package/assets/css/style.min.css +1 -1
  59. package/assets/css/style.min.css.map +1 -1
  60. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  61. package/assets/js/components/actionbar/actionbar.component.js +51 -31
  62. package/assets/js/components/actionbar/actionbar.component.min.js +17 -17
  63. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  64. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  65. package/assets/js/components/advanced-select/advanced-select.component.js +63 -0
  66. package/assets/js/components/advanced-select/advanced-select.component.min.js +23 -0
  67. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -0
  68. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  69. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  70. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  71. package/assets/js/components/calendar/calendar.component.js +1083 -0
  72. package/assets/js/components/calendar/calendar.component.min.js +170 -0
  73. package/assets/js/components/calendar/calendar.component.min.js.map +1 -0
  74. package/assets/js/components/card/card.component.js +20 -8
  75. package/assets/js/components/card/card.component.min.js +10 -10
  76. package/assets/js/components/card/card.component.min.js.map +1 -1
  77. package/assets/js/components/carousel/carousel.component.min.js +2 -2
  78. package/assets/js/components/collapsible-side/collapsible-side.component.js +47 -12
  79. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +6 -5
  80. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  81. package/assets/js/components/content/content.component.js +66 -0
  82. package/assets/js/components/content/content.component.min.js +15 -0
  83. package/assets/js/components/content/content.component.min.js.map +1 -0
  84. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  85. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  86. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  87. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  88. package/assets/js/components/header/header.component.min.js +1 -1
  89. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  90. package/assets/js/components/marketing/marketing.component.js +1 -1
  91. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  92. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  93. package/assets/js/components/menu/menu.component.js +148 -161
  94. package/assets/js/components/menu/menu.component.min.js +4 -69
  95. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  96. package/assets/js/components/milestone/milestone.component.js +38 -0
  97. package/assets/js/components/milestone/milestone.component.min.js +15 -0
  98. package/assets/js/components/milestone/milestone.component.min.js.map +1 -0
  99. package/assets/js/components/milestone-group/milestone-group.component.js +35 -0
  100. package/assets/js/components/milestone-group/milestone-group.component.min.js +13 -0
  101. package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -0
  102. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  103. package/assets/js/components/multiselect/multiselect.component.js +54 -2
  104. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  105. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  106. package/assets/js/components/nav/nav.component.js +19 -0
  107. package/assets/js/components/nav/nav.component.min.js +6 -6
  108. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  109. package/assets/js/components/notification/notification.component.js +17 -11
  110. package/assets/js/components/notification/notification.component.min.js +4 -4
  111. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  112. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  113. package/assets/js/components/rank/rank.component.js +346 -210
  114. package/assets/js/components/rank/rank.component.min.js +346 -211
  115. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  116. package/assets/js/components/rankings/rankings.component.js +17 -8
  117. package/assets/js/components/rankings/rankings.component.min.js +14 -8
  118. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  119. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  120. package/assets/js/components/search/search.component.js +5 -3
  121. package/assets/js/components/search/search.component.min.js +6 -6
  122. package/assets/js/components/search/search.component.min.js.map +1 -1
  123. package/assets/js/components/slider/slider.component.min.js +1 -1
  124. package/assets/js/components/split-button/split-button.component.js +60 -0
  125. package/assets/js/components/split-button/split-button.component.min.js +34 -0
  126. package/assets/js/components/split-button/split-button.component.min.js.map +1 -0
  127. package/assets/js/components/table/table.component.js +12 -0
  128. package/assets/js/components/table/table.component.min.js +3 -3
  129. package/assets/js/components/table/table.component.min.js.map +1 -1
  130. package/assets/js/components/table-ajax/table-ajax.component.js +12 -0
  131. package/assets/js/components/table-ajax/table-ajax.component.min.js +3 -3
  132. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  133. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  134. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  135. package/assets/js/components/table-no-submit/table-no-submit.component.js +12 -0
  136. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +3 -3
  137. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  138. package/assets/js/components/table-submit/table-submit.component.js +12 -0
  139. package/assets/js/components/table-submit/table-submit.component.min.js +3 -3
  140. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  141. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  142. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  143. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  144. package/assets/js/components.js +58 -0
  145. package/assets/js/modules/advanced-select.js +106 -0
  146. package/assets/js/modules/dialogs.js +53 -51
  147. package/assets/js/modules/dynamicEvents.js +7 -0
  148. package/assets/js/modules/milestone-group.js +30 -0
  149. package/assets/js/modules/milestone.js +89 -0
  150. package/assets/js/modules/table.js +11 -1
  151. package/assets/js/modules/videos.js +1 -1
  152. package/assets/js/scripts.bundle.js +3 -3
  153. package/assets/js/scripts.bundle.js.map +1 -1
  154. package/assets/js/scripts.bundle.min.js +2 -2
  155. package/assets/js/scripts.bundle.min.js.map +1 -1
  156. package/assets/js/scripts.js +4 -0
  157. package/assets/sass/_components.scss +11 -0
  158. package/assets/sass/_functions/utility-mixins.scss +41 -0
  159. package/assets/sass/_functions/variables.scss +11 -8
  160. package/assets/sass/components/actionbar.component.scss +3 -4
  161. package/assets/sass/components/actionbar.global.scss +4 -4
  162. package/assets/sass/components/bento-grid.global.scss +0 -1
  163. package/assets/sass/components/calendar.component.scss +1380 -0
  164. package/assets/sass/components/calendar.config.scss +476 -0
  165. package/assets/sass/components/card.component.scss +4 -34
  166. package/assets/sass/components/carousel.component.scss +5 -0
  167. package/assets/sass/components/charts.module.scss +0 -2
  168. package/assets/sass/components/collapsible-side.scss +91 -95
  169. package/assets/sass/components/content.component.scss +18 -0
  170. package/assets/sass/components/inline-edit.scss +2 -0
  171. package/assets/sass/components/{marketing.scss → marketing.component.scss} +2 -6
  172. package/assets/sass/components/menu.component.scss +118 -31
  173. package/assets/sass/components/menu.scss +68 -7
  174. package/assets/sass/components/milestone.scss +207 -0
  175. package/assets/sass/components/multiselect.scss +3 -0
  176. package/assets/sass/components/nav.component.scss +1 -0
  177. package/assets/sass/components/nav.global.scss +30 -0
  178. package/assets/sass/components/rank.component.scss +197 -33
  179. package/assets/sass/components/rankings.component.scss +39 -35
  180. package/assets/sass/components/rankings.global.scss +66 -10
  181. package/assets/sass/components/split-button.component.scss +77 -0
  182. package/assets/sass/components/table-basic.global.scss +2 -4
  183. package/assets/sass/components/table.global.scss +4 -4
  184. package/assets/sass/elements/badge-tag.scss +5 -1
  185. package/assets/sass/elements/buttons--compact.scss +4 -0
  186. package/assets/sass/elements/buttons--global.scss +1 -1
  187. package/assets/sass/elements/details.scss +0 -1
  188. package/assets/sass/elements/dialog.scss +1 -3
  189. package/assets/sass/elements/forms.scss +148 -22
  190. package/assets/sass/elements/links.scss +132 -4
  191. package/assets/sass/elements/lists.scss +61 -0
  192. package/assets/sass/elements/popover.scss +64 -10
  193. package/assets/sass/elements/toggle-button.scss +7 -8
  194. package/assets/sass/elements/type.scss +7 -10
  195. package/assets/sass/foundations/reboot.scss +3 -3
  196. package/assets/sass/templates/form.scss +0 -2
  197. package/assets/ts/components/actionbar/actionbar.component.ts +49 -23
  198. package/assets/ts/components/advanced-select/advanced-select.component.ts +74 -0
  199. package/assets/ts/components/calendar/calendar.component.ts +1460 -0
  200. package/assets/ts/components/card/card.component.ts +22 -14
  201. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +53 -12
  202. package/assets/ts/components/content/content.component.ts +78 -0
  203. package/assets/ts/components/marketing/marketing.component.ts +1 -1
  204. package/assets/ts/components/menu/menu.component.ts +162 -173
  205. package/assets/ts/components/milestone/milestone.component.ts +45 -0
  206. package/assets/ts/components/milestone-group/milestone-group.component.ts +41 -0
  207. package/assets/ts/components/multiselect/multiselect.component.ts +69 -3
  208. package/assets/ts/components/nav/nav.component.ts +25 -0
  209. package/assets/ts/components/notification/notification.component.ts +34 -11
  210. package/assets/ts/components/rank/rank.component.ts +345 -214
  211. package/assets/ts/components/rankings/rankings.component.ts +28 -15
  212. package/assets/ts/components/search/search.component.ts +6 -4
  213. package/assets/ts/components/split-button/split-button.component.ts +69 -0
  214. package/assets/ts/components/table/table.component.ts +14 -0
  215. package/assets/ts/components/table-ajax/table-ajax.component.ts +14 -0
  216. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +14 -0
  217. package/assets/ts/components/table-submit/table-submit.component.ts +14 -0
  218. package/assets/ts/components/video-card/video-card.component.ts +2 -3
  219. package/assets/ts/components.ts +63 -0
  220. package/assets/ts/modules/advanced-select.ts +125 -0
  221. package/assets/ts/modules/dialogs.ts +64 -61
  222. package/assets/ts/modules/dynamicEvents.ts +12 -1
  223. package/assets/ts/modules/milestone-group.ts +42 -0
  224. package/assets/ts/modules/milestone.ts +122 -0
  225. package/assets/ts/modules/table.ts +15 -1
  226. package/assets/ts/modules/videos.ts +19 -37
  227. package/assets/ts/scripts.ts +5 -3
  228. package/dist/components.es.js +41 -1923
  229. package/dist/components.umd.js +127 -171
  230. package/package.json +1 -1
  231. package/src/components/AdvancedSelect/AdvancedSelect.vue +23 -0
  232. package/src/components/Calendar/Calendar.vue +26 -0
  233. package/src/components/Card/Card.vue +1 -1
  234. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +7 -13
  235. package/src/components/Content/Content.vue +23 -0
  236. package/src/components/Milestones/Milestone.vue +27 -0
  237. package/src/components/Milestones/MilestoneGroup.vue +27 -0
  238. package/src/components/Rank/Rank.vue +1 -2
  239. package/src/components/Rankings/Rankings.vue +9 -10
  240. package/src/components/SplitButton/README.md +19 -0
  241. package/src/components/SplitButton/SplitButton.vue +26 -0
  242. package/src/index.js +44 -41
  243. package/assets/css/components/marketing.css +0 -1
  244. package/assets/css/components/marketing.css.map +0 -1
  245. package/assets/css/components/nav.old.css +0 -1
  246. package/assets/css/components/nav.old.css.map +0 -1
  247. package/assets/sass/components/nav.old.scss +0 -891
@@ -0,0 +1,207 @@
1
+ iam-milestone {
2
+ --milestone-divider-colour: var(--colour-muted);
3
+ --milestone-panel-border: var(--wider-colour-1-active);
4
+ --milestone-default-background: #FFFFFF;
5
+ --milestone-future-background: #F5F5F5;
6
+ }
7
+
8
+ iam-milestone-group {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ max-width: 43rem;
12
+ gap: 2.75rem;
13
+
14
+ &.reverse-items {
15
+ flex-direction: column-reverse;
16
+
17
+ .milestone + .milestone {
18
+ &:before {
19
+ top: auto;
20
+ bottom: 0;
21
+ transform: translate(-1px, 2.2rem);
22
+ }
23
+ }
24
+ }
25
+
26
+ &[data-show-all-toggle] {
27
+ .milestone.current ~ .milestone {
28
+ display: none;
29
+ }
30
+
31
+ &.show-all {
32
+ .milestone.current ~ .milestone {
33
+ display: block;
34
+ }
35
+
36
+ .show-all-toggle {
37
+ &:before {
38
+ content: "\f070"
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ .show-all-toggle {
45
+ margin: 0 auto;
46
+ display: flex;
47
+ gap: 0.5rem;
48
+ align-items: center;
49
+ padding-right: 1.7rem;
50
+ position: relative;
51
+
52
+ &:before {
53
+ content: "\f06e";
54
+ font-family: 'Font Awesome 6 Pro';
55
+ position: absolute;
56
+ left: auto;
57
+ right: 0;
58
+ top: 0;
59
+ margin-right: 0;
60
+ }
61
+ }
62
+
63
+ iam-milestone {
64
+
65
+ + .milestone {
66
+ position: relative;
67
+
68
+ &:before {
69
+ content: "";
70
+ height: 1.5rem;
71
+ width: 2px;
72
+ background: var(--milestone-divider-colour);
73
+ display: block;
74
+ position: absolute;
75
+ top: 0;
76
+ left: 50%;
77
+ transform: translate(-1px, -2.2rem);
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ iam-milestone::part(status) {
84
+ text-transform: uppercase;
85
+ text-align: center;
86
+ display: block;
87
+ margin-bottom: 0.5rem;
88
+ }
89
+
90
+ iam-milestone {
91
+ border: 2px solid var(--milestone-panel-border);
92
+ border-radius: 8px;
93
+ display: block;
94
+ width: 100%;
95
+ max-width: 43rem;
96
+ background: var(--milestone-default-background);
97
+ padding-top: 1rem;
98
+
99
+ &.current ~ .milestone {
100
+ background: var(--milestone-future-background);
101
+ }
102
+
103
+ h2 {
104
+ text-align: center;
105
+ }
106
+
107
+ ul {
108
+ padding-left: 0;
109
+ display: flex;
110
+ flex-wrap: wrap;
111
+ gap: 0.5rem;
112
+
113
+ li {
114
+ width: 100%;
115
+ }
116
+ }
117
+
118
+ p {
119
+ padding: 0 1rem 2rem;
120
+
121
+ + ul {
122
+ margin-top: 2rem;
123
+ }
124
+ }
125
+
126
+ .task-details {
127
+ padding: 1rem 1.5rem;
128
+
129
+ p {
130
+ padding: 0;
131
+
132
+ + ul {
133
+ margin-top: 2rem;
134
+ }
135
+ }
136
+ }
137
+
138
+ summary,
139
+ li {
140
+ gap: 1rem;
141
+
142
+ &:before {
143
+ content:'';
144
+ display: block;
145
+ width: 1rem;
146
+ height: 1rem;
147
+ border: 2px solid var(--colour-primary);
148
+ border-radius: 50%;
149
+ font-family: "Font Awesome 6 Pro";
150
+ color: #fff;
151
+ font-size: 0.7rem;
152
+ }
153
+
154
+ &.complete {
155
+ &:before {
156
+ content: "\f00c";
157
+ border-color: var(--colour-success);
158
+ background: var(--colour-success);
159
+ text-align: center;
160
+ }
161
+ }
162
+ }
163
+
164
+ summary {
165
+ border-top: 1px solid #D6D6D6;
166
+ padding: 1rem 1.5rem;
167
+ margin-bottom: 0;
168
+ display: grid;
169
+ grid-template-columns: auto 1fr auto;
170
+ font-weight: 600;
171
+
172
+ &:before {
173
+ width: 1.25rem;
174
+ height: 1.25rem;
175
+ font-size: 0.9rem;
176
+ line-height: 1.2;
177
+ }
178
+
179
+ &:after {
180
+ content: "\f078"
181
+ }
182
+
183
+ + p {
184
+ padding-bottom: 0;
185
+ }
186
+ }
187
+
188
+ details {
189
+ padding-bottom: 0;
190
+
191
+ &[open] {
192
+ summary:after {
193
+ content: "\f077"
194
+ }
195
+ }
196
+ }
197
+
198
+ li {
199
+ display: grid;
200
+ grid-template-columns: auto 1fr auto;
201
+ align-items: center;
202
+
203
+ .action-date {
204
+ font-size: 0.75rem;
205
+ }
206
+ }
207
+ }
@@ -1,5 +1,8 @@
1
1
  @use '../_func' as *;
2
2
 
3
+
4
+ @include visually-hidden();
5
+
3
6
  .outer {
4
7
  position: relative;
5
8
  max-width: var(--input-max-width, 50rem);
@@ -6,6 +6,7 @@
6
6
 
7
7
  @include margins();
8
8
  @include sizes();
9
+ @include display();
9
10
 
10
11
  $layers: 'true' !default;
11
12
  $mobileOnly: 'false' !default;
@@ -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,23 @@ nav:has(iam-nav.nav--sticky) {
55
63
  }
56
64
 
57
65
  nav:has(iam-nav.nav--xs-sticky) {
66
+
67
+ position: sticky;
68
+ top: 0;
69
+ left: 0;
70
+ right: 0;
71
+ z-index: 9999;
72
+ transition: transform 1s;
73
+
58
74
  iam-nav {
59
75
  position: fixed;
60
76
  }
61
77
  }
78
+
79
+ body[data-direction="down"].past100 nav:has(.nav--xs-sticky){
80
+
81
+ transform: translate(0,-110%);
82
+ }
62
83
  }
63
84
 
64
85
  @include media-breakpoint-up(sm, $mobileOnly) {
@@ -67,6 +88,13 @@ nav:has(iam-nav.nav--sticky) {
67
88
  overflow: hidden;
68
89
  }
69
90
  }
91
+
92
+
93
+ body[data-direction="down"].past100 nav:has(.nav--sticky){
94
+
95
+ transform: translate(0,-110%);
96
+ }
97
+
70
98
  // #endregion
71
99
 
72
100
  // #region General styles
@@ -121,6 +149,8 @@ iam-nav {
121
149
  &:active {
122
150
  text-decoration-color: #a2d393 !important;
123
151
  }
152
+
153
+ &.active,
124
154
  &.selected,
125
155
  &[aria-current='page'] {
126
156
  text-decoration-color: var(--colour-info) !important;
@@ -10,46 +10,43 @@
10
10
  box-sizing: border-box;
11
11
  }
12
12
 
13
-
14
13
  :host {
15
-
16
14
  display: block;
17
- text-align: center;
15
+ width: 100%;
16
+ max-width: rem(100);
18
17
  margin-bottom: 2rem;
18
+ z-index: 1;
19
+ }
20
+
21
+ .wrapper {
22
+ display: flex;
23
+ text-align: center;
19
24
  width: 100%;
20
- max-width: 10rem;
25
+ max-width: rem(100);
26
+ position: relative;
21
27
  }
22
28
 
23
29
  .rank {
24
-
25
30
  position: relative;
26
31
  display: flex;
27
32
 
28
- aspect-ratio: 1/1;
29
33
  width: 100%;
34
+ aspect-ratio: 1/1;
35
+ max-width: rem(100);
36
+ max-height: rem(100);
30
37
  height: auto;
31
38
  max-width: 10rem;
32
39
  text-align: center;
33
40
  flex-direction: column;
34
41
  justify-content: center;
35
42
  align-items: center;
36
- border: 1rem solid var(--colour-info);
43
+ border: 0.5rem solid var(--colour-info);
37
44
  border-radius: 50%;
38
45
 
39
46
  .position {
40
47
  margin: 0;
41
48
  padding: 0;
42
- line-height: 1!important;
43
- }
44
-
45
- .position:after {
46
- content: var(--rank-sub-text, "Your rank");
47
- display: block;
48
- font-size: rem(map.get($heading-sizes, 'lead_fs'));
49
- line-height: 1;
50
- font-weight: 700;
51
- margin: 0;
52
- padding: 0;
49
+ line-height: 1 !important;
53
50
  }
54
51
 
55
52
  svg {
@@ -61,14 +58,83 @@
61
58
  }
62
59
  }
63
60
 
61
+ .base {
62
+ display: none;
63
+ }
64
+
65
+ .title {
66
+ display: none;
67
+ }
68
+ :host([data-title]) .title {
69
+ display: flex;
64
70
 
65
- :host([data-position="1st"]),
66
- :host([data-position="2nd"]),
67
- :host([data-position="3rd"]) {
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
+
126
+ :host([data-position='1st']),
127
+ :host([data-position='2nd']),
128
+ :host([data-position='3rd']) {
129
+ position: relative;
130
+ max-width: rem(70);
68
131
 
69
132
  .rank {
70
133
  border-width: 0;
71
134
  overflow: hidden;
135
+ aspect-ratio: 14/25;
136
+ max-width: rem(70);
137
+ margin-inline: auto;
72
138
  }
73
139
 
74
140
  .position {
@@ -76,36 +142,134 @@
76
142
  }
77
143
  }
78
144
 
79
- :host([data-position="1st"]) {
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;
80
152
 
81
- .rank {
153
+ font-family: var(--font-heading);
154
+
155
+ &:before {
156
+ color: color-mix(in srgb, #f6b818, transparent 90%);
157
+ }
82
158
 
83
- background: #FFEE56;
159
+ &:after {
160
+ background: linear-gradient(0deg, rgba(246, 184, 24, 1) 0%, rgba(255, 255, 255, 1) 100%);
161
+ }
84
162
  }
85
-
163
+ }
164
+
165
+ :host([data-position='2nd']) {
166
+ .rank svg:nth-child(2) {
167
+ display: block;
168
+ }
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']) {
86
183
  .rank svg:nth-child(1) {
87
184
  display: block;
88
185
  }
186
+
187
+ .title {
188
+ &:before {
189
+ content: '3';
190
+ }
191
+ }
89
192
  }
90
193
 
91
- :host([data-position="2nd"]) {
194
+ :host([data-position='1st'].rank--trophy) {
195
+ max-width: rem(100);
92
196
 
93
197
  .rank {
94
- background: #EDEDED;
198
+ aspect-ratio: 1/1;
199
+ max-width: rem(100);
200
+ margin-bottom: 0;
95
201
  }
96
202
 
97
- .rank svg:nth-child(2) {
203
+ .rank svg:nth-child(4) {
98
204
  display: block;
99
205
  }
100
206
  }
101
207
 
102
- :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
+ }
103
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
+ }
104
246
  .rank {
105
- background: #FFE798;
247
+ aspect-ratio: 1/1;
248
+ max-width: 80%;
249
+ margin-bottom: 1rem;
106
250
  }
107
251
 
108
- .rank svg:nth-child(3) {
109
- 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
+ }
110
261
  }
111
- }
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
+ }
274
+ }
275
+ }
@@ -1,12 +1,14 @@
1
1
  @use 'sass:map';
2
2
  @use '../_func.scss' as *;
3
3
 
4
-
5
-
6
4
  @use '../elements/type.scss' as *;
7
5
 
8
6
  @include max-height();
9
7
 
8
+ :host {
9
+ overflow: visible;
10
+ }
11
+
10
12
  *,
11
13
  *::before,
12
14
  *::after {
@@ -14,53 +16,55 @@
14
16
  }
15
17
 
16
18
  .podium {
17
-
18
19
  display: flex;
19
20
  flex-direction: row;
20
21
  flex-wrap: nowrap;
21
- align-items: flex-start;
22
+
22
23
  max-width: 30rem;
23
24
  margin: auto;
25
+ gap: 1rem;
24
26
 
25
27
  > div {
26
- flex-basis: 33.33%;
27
- flex-grow: 0;
28
- flex-shrink: 0;
28
+ flex-basis: 30%;
29
+ flex-grow: 1;
30
+ flex-shrink: 1;
29
31
  order: 1;
30
-
31
- iam-rank {
32
-
33
- margin: 0;
34
- width: 100%;
35
- }
36
-
37
- > span {
38
- display: block;
39
- font-size: rem(14);
40
- line-height: 1;
41
- font-weight: 700;
42
- margin: 0;
43
- padding-block: 0.5rem;
44
- text-align: center;
45
- max-width: 100%;
46
- //margin-inline: -1rem;
47
- overflow: hidden;
48
- }
32
+ position: relative;
33
+ display: flex;
34
+ align-items: flex-end;
35
+ justify-content: center;
49
36
  }
50
37
 
51
-
52
38
  > div:nth-child(1) {
53
39
  order: 2;
54
- padding: 0;
55
- }
56
-
57
- > div:nth-child(2) {
58
-
59
- padding: 1rem 1rem 0 0;
60
40
  }
61
41
 
62
42
  > div:nth-child(3) {
63
43
  order: 3;
64
- padding: 1rem 0 0 1rem;
65
44
  }
66
- }
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
+ }