@saasquatch/mint-components 1.5.3 → 1.5.4-2

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 (261) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/cjs/{ShadowViewAddon-a94a1ff9.js → ShadowViewAddon-19f45acf.js} +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/mint-components.cjs.js +1 -1
  5. package/dist/cjs/sqm-big-stat_35.cjs.entry.js +61 -28
  6. package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +15 -8
  7. package/dist/cjs/sqm-stencilbook.cjs.entry.js +223 -93
  8. package/dist/collection/components/sqm-empty/EmptyState.stories.js +1 -0
  9. package/dist/collection/components/sqm-leaderboard/Leaderboard.stories.js +75 -27
  10. package/dist/collection/components/sqm-leaderboard/UseLeaderboard.stories.js +56 -0
  11. package/dist/collection/components/sqm-leaderboard/sqm-leaderboard-view.js +2 -2
  12. package/dist/collection/components/sqm-leaderboard/sqm-leaderboard.js +74 -23
  13. package/dist/collection/components/sqm-leaderboard/useLeaderboard.js +42 -19
  14. package/dist/collection/components/sqm-leaderboard-rank/LeaderboardRank.stories.js +18 -0
  15. package/dist/collection/components/sqm-leaderboard-rank/sqm-leaderboard-rank.js +24 -4
  16. package/dist/collection/components/sqm-leaderboard-rank/useLeaderboardRank.js +15 -8
  17. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +2 -2
  18. package/dist/esm/{ShadowViewAddon-87c6e4d6.js → ShadowViewAddon-2ebdb75f.js} +2 -2
  19. package/dist/esm/loader.js +1 -1
  20. package/dist/esm/mint-components.js +1 -1
  21. package/dist/esm/sqm-big-stat_35.entry.js +62 -29
  22. package/dist/esm/sqm-leaderboard-rank.entry.js +15 -8
  23. package/dist/esm/sqm-stencilbook.entry.js +223 -93
  24. package/dist/esm-es5/ShadowViewAddon-2ebdb75f.js +1 -0
  25. package/dist/esm-es5/loader.js +1 -1
  26. package/dist/esm-es5/mint-components.js +1 -1
  27. package/dist/esm-es5/sqm-big-stat_35.entry.js +1 -1
  28. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  29. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  30. package/dist/mint-components/mint-components.esm.js +1 -1
  31. package/dist/mint-components/mint-components.js +1 -1
  32. package/dist/mint-components/p-11dc0927.entry.js +13 -0
  33. package/dist/mint-components/p-1efb0bff.system.entry.js +1 -0
  34. package/dist/mint-components/p-2debe4c7.system.entry.js +1 -0
  35. package/dist/mint-components/p-3cfe1db7.system.js +1 -0
  36. package/dist/mint-components/p-436da6b8.system.js +1 -1
  37. package/dist/mint-components/{p-c195994f.js → p-6da6a80f.js} +1 -1
  38. package/dist/mint-components/p-92b18971.system.entry.js +1 -0
  39. package/dist/mint-components/p-e0cb936a.entry.js +159 -0
  40. package/dist/mint-components/{p-76702646.entry.js → p-f7312392.entry.js} +2 -2
  41. package/dist/types/components/sqm-leaderboard/Leaderboard.stories.d.ts +2 -1
  42. package/dist/types/components/sqm-leaderboard/UseLeaderboard.stories.d.ts +18 -0
  43. package/dist/types/components/sqm-leaderboard/sqm-leaderboard-view.d.ts +2 -2
  44. package/dist/types/components/sqm-leaderboard/sqm-leaderboard.d.ts +28 -11
  45. package/dist/types/components/sqm-leaderboard/useLeaderboard.d.ts +4 -2
  46. package/dist/types/components/sqm-leaderboard-rank/LeaderboardRank.stories.d.ts +5 -0
  47. package/dist/types/components/sqm-leaderboard-rank/sqm-leaderboard-rank.d.ts +10 -3
  48. package/dist/types/components/sqm-leaderboard-rank/useLeaderboardRank.d.ts +2 -1
  49. package/dist/types/components.d.ts +70 -28
  50. package/grapesjs/grapesjs.js +1 -1
  51. package/package.json +1 -1
  52. package/dist/esm-es5/ShadowViewAddon-87c6e4d6.js +0 -1
  53. package/dist/mint-components/p-02b6ea85.system.js +0 -1
  54. package/dist/mint-components/p-062e1e78.system.entry.js +0 -1
  55. package/dist/mint-components/p-1a10ffc0.entry.js +0 -13
  56. package/dist/mint-components/p-5bbead79.system.entry.js +0 -1
  57. package/dist/mint-components/p-8d9b64a3.system.entry.js +0 -1
  58. package/dist/mint-components/p-dfad44ee.entry.js +0 -150
  59. package/shoelace/assets/icons/123.svg +0 -3
  60. package/shoelace/assets/icons/activity.svg +0 -3
  61. package/shoelace/assets/icons/apple.svg +0 -4
  62. package/shoelace/assets/icons/bandaid-fill.svg +0 -3
  63. package/shoelace/assets/icons/bandaid.svg +0 -4
  64. package/shoelace/assets/icons/bank.svg +0 -3
  65. package/shoelace/assets/icons/bank2.svg +0 -3
  66. package/shoelace/assets/icons/behance.svg +0 -3
  67. package/shoelace/assets/icons/bell-slash-fill.svg +0 -3
  68. package/shoelace/assets/icons/bell-slash.svg +0 -3
  69. package/shoelace/assets/icons/bluetooth.svg +0 -3
  70. package/shoelace/assets/icons/body-text.svg +0 -3
  71. package/shoelace/assets/icons/boombox-fill.svg +0 -4
  72. package/shoelace/assets/icons/boombox.svg +0 -6
  73. package/shoelace/assets/icons/boxes.svg +0 -3
  74. package/shoelace/assets/icons/cash-coin.svg +0 -6
  75. package/shoelace/assets/icons/check-lg.svg +0 -3
  76. package/shoelace/assets/icons/cloud-haze2.svg +0 -3
  77. package/shoelace/assets/icons/coin.svg +0 -5
  78. package/shoelace/assets/icons/currency-bitcoin.svg +0 -3
  79. package/shoelace/assets/icons/currency-dollar.svg +0 -3
  80. package/shoelace/assets/icons/currency-euro.svg +0 -3
  81. package/shoelace/assets/icons/currency-exchange.svg +0 -3
  82. package/shoelace/assets/icons/currency-pound.svg +0 -3
  83. package/shoelace/assets/icons/currency-yen.svg +0 -3
  84. package/shoelace/assets/icons/dash-lg.svg +0 -3
  85. package/shoelace/assets/icons/device-hdd-fill.svg +0 -4
  86. package/shoelace/assets/icons/device-hdd.svg +0 -5
  87. package/shoelace/assets/icons/device-ssd-fill.svg +0 -4
  88. package/shoelace/assets/icons/device-ssd.svg +0 -4
  89. package/shoelace/assets/icons/displayport-fill.svg +0 -3
  90. package/shoelace/assets/icons/displayport.svg +0 -4
  91. package/shoelace/assets/icons/dpad-fill.svg +0 -3
  92. package/shoelace/assets/icons/dpad.svg +0 -4
  93. package/shoelace/assets/icons/dribbble.svg +0 -3
  94. package/shoelace/assets/icons/ear-fill.svg +0 -3
  95. package/shoelace/assets/icons/ear.svg +0 -3
  96. package/shoelace/assets/icons/easel2-fill.svg +0 -4
  97. package/shoelace/assets/icons/easel2.svg +0 -3
  98. package/shoelace/assets/icons/easel3-fill.svg +0 -3
  99. package/shoelace/assets/icons/easel3.svg +0 -3
  100. package/shoelace/assets/icons/envelope-check-fill.svg +0 -4
  101. package/shoelace/assets/icons/envelope-check.svg +0 -4
  102. package/shoelace/assets/icons/envelope-dash-fill.svg +0 -4
  103. package/shoelace/assets/icons/envelope-dash.svg +0 -4
  104. package/shoelace/assets/icons/envelope-exclamation-fill.svg +0 -4
  105. package/shoelace/assets/icons/envelope-exclamation.svg +0 -4
  106. package/shoelace/assets/icons/envelope-plus-fill.svg +0 -4
  107. package/shoelace/assets/icons/envelope-plus.svg +0 -4
  108. package/shoelace/assets/icons/envelope-slash-fill.svg +0 -4
  109. package/shoelace/assets/icons/envelope-slash.svg +0 -4
  110. package/shoelace/assets/icons/envelope-x-fill.svg +0 -4
  111. package/shoelace/assets/icons/envelope-x.svg +0 -4
  112. package/shoelace/assets/icons/ethernet.svg +0 -4
  113. package/shoelace/assets/icons/exclamation-lg.svg +0 -3
  114. package/shoelace/assets/icons/explicit-fill.svg +0 -3
  115. package/shoelace/assets/icons/explicit.svg +0 -4
  116. package/shoelace/assets/icons/fan.svg +0 -4
  117. package/shoelace/assets/icons/file-earmark-pdf-fill.svg +0 -4
  118. package/shoelace/assets/icons/file-earmark-pdf.svg +0 -4
  119. package/shoelace/assets/icons/file-pdf-fill.svg +0 -4
  120. package/shoelace/assets/icons/file-pdf.svg +0 -4
  121. package/shoelace/assets/icons/fingerprint.svg +0 -7
  122. package/shoelace/assets/icons/gender-ambiguous.svg +0 -3
  123. package/shoelace/assets/icons/gender-female.svg +0 -3
  124. package/shoelace/assets/icons/gender-male.svg +0 -3
  125. package/shoelace/assets/icons/gender-trans.svg +0 -3
  126. package/shoelace/assets/icons/git.svg +0 -3
  127. package/shoelace/assets/icons/gpu-card.svg +0 -5
  128. package/shoelace/assets/icons/graph-down-arrow.svg +0 -3
  129. package/shoelace/assets/icons/graph-up-arrow.svg +0 -3
  130. package/shoelace/assets/icons/hdmi-fill.svg +0 -3
  131. package/shoelace/assets/icons/hdmi.svg +0 -4
  132. package/shoelace/assets/icons/headset-vr.svg +0 -4
  133. package/shoelace/assets/icons/hypnotize.svg +0 -4
  134. package/shoelace/assets/icons/infinity.svg +0 -3
  135. package/shoelace/assets/icons/info-lg.svg +0 -3
  136. package/shoelace/assets/icons/line.svg +0 -3
  137. package/shoelace/assets/icons/list-columns-reverse.svg +0 -3
  138. package/shoelace/assets/icons/list-columns.svg +0 -3
  139. package/shoelace/assets/icons/magic.svg +0 -3
  140. package/shoelace/assets/icons/mastodon.svg +0 -3
  141. package/shoelace/assets/icons/medium.svg +0 -3
  142. package/shoelace/assets/icons/memory.svg +0 -3
  143. package/shoelace/assets/icons/messenger.svg +0 -3
  144. package/shoelace/assets/icons/meta.svg +0 -3
  145. package/shoelace/assets/icons/microsoft.svg +0 -3
  146. package/shoelace/assets/icons/modem-fill.svg +0 -3
  147. package/shoelace/assets/icons/modem.svg +0 -4
  148. package/shoelace/assets/icons/mortarboard-fill.svg +0 -4
  149. package/shoelace/assets/icons/mortarboard.svg +0 -4
  150. package/shoelace/assets/icons/motherboard-fill.svg +0 -4
  151. package/shoelace/assets/icons/motherboard.svg +0 -4
  152. package/shoelace/assets/icons/nintendo-switch.svg +0 -4
  153. package/shoelace/assets/icons/optical-audio-fill.svg +0 -4
  154. package/shoelace/assets/icons/optical-audio.svg +0 -5
  155. package/shoelace/assets/icons/paypal.svg +0 -3
  156. package/shoelace/assets/icons/pc-display-horizontal.svg +0 -3
  157. package/shoelace/assets/icons/pc-display.svg +0 -3
  158. package/shoelace/assets/icons/pc-horizontal.svg +0 -3
  159. package/shoelace/assets/icons/pc.svg +0 -3
  160. package/shoelace/assets/icons/pci-card.svg +0 -4
  161. package/shoelace/assets/icons/person-rolodex.svg +0 -4
  162. package/shoelace/assets/icons/person-video.svg +0 -4
  163. package/shoelace/assets/icons/person-video2.svg +0 -4
  164. package/shoelace/assets/icons/person-video3.svg +0 -4
  165. package/shoelace/assets/icons/person-workspace.svg +0 -4
  166. package/shoelace/assets/icons/piggy-bank-fill.svg +0 -3
  167. package/shoelace/assets/icons/piggy-bank.svg +0 -4
  168. package/shoelace/assets/icons/pin-map-fill.svg +0 -4
  169. package/shoelace/assets/icons/pin-map.svg +0 -4
  170. package/shoelace/assets/icons/pinterest.svg +0 -3
  171. package/shoelace/assets/icons/playstation.svg +0 -3
  172. package/shoelace/assets/icons/plus-lg.svg +0 -3
  173. package/shoelace/assets/icons/plus-slash-minus.svg +0 -3
  174. package/shoelace/assets/icons/projector-fill.svg +0 -3
  175. package/shoelace/assets/icons/projector.svg +0 -4
  176. package/shoelace/assets/icons/qr-code-scan.svg +0 -7
  177. package/shoelace/assets/icons/qr-code.svg +0 -7
  178. package/shoelace/assets/icons/question-lg.svg +0 -3
  179. package/shoelace/assets/icons/quora.svg +0 -3
  180. package/shoelace/assets/icons/quote.svg +0 -3
  181. package/shoelace/assets/icons/radioactive.svg +0 -4
  182. package/shoelace/assets/icons/recycle.svg +0 -3
  183. package/shoelace/assets/icons/reddit.svg +0 -4
  184. package/shoelace/assets/icons/robot.svg +0 -4
  185. package/shoelace/assets/icons/router-fill.svg +0 -6
  186. package/shoelace/assets/icons/router.svg +0 -6
  187. package/shoelace/assets/icons/safe-fill.svg +0 -4
  188. package/shoelace/assets/icons/safe.svg +0 -4
  189. package/shoelace/assets/icons/safe2-fill.svg +0 -4
  190. package/shoelace/assets/icons/safe2.svg +0 -4
  191. package/shoelace/assets/icons/sd-card-fill.svg +0 -3
  192. package/shoelace/assets/icons/sd-card.svg +0 -4
  193. package/shoelace/assets/icons/send-check-fill.svg +0 -4
  194. package/shoelace/assets/icons/send-check.svg +0 -4
  195. package/shoelace/assets/icons/send-dash-fill.svg +0 -4
  196. package/shoelace/assets/icons/send-dash.svg +0 -4
  197. package/shoelace/assets/icons/send-exclamation-fill.svg +0 -4
  198. package/shoelace/assets/icons/send-exclamation.svg +0 -4
  199. package/shoelace/assets/icons/send-fill.svg +0 -3
  200. package/shoelace/assets/icons/send-plus-fill.svg +0 -4
  201. package/shoelace/assets/icons/send-plus.svg +0 -4
  202. package/shoelace/assets/icons/send-slash-fill.svg +0 -4
  203. package/shoelace/assets/icons/send-slash.svg +0 -4
  204. package/shoelace/assets/icons/send-x-fill.svg +0 -4
  205. package/shoelace/assets/icons/send-x.svg +0 -4
  206. package/shoelace/assets/icons/send.svg +0 -3
  207. package/shoelace/assets/icons/signal.svg +0 -3
  208. package/shoelace/assets/icons/skype.svg +0 -3
  209. package/shoelace/assets/icons/slash-lg.svg +0 -3
  210. package/shoelace/assets/icons/snapchat.svg +0 -3
  211. package/shoelace/assets/icons/spotify.svg +0 -3
  212. package/shoelace/assets/icons/stack-overflow.svg +0 -4
  213. package/shoelace/assets/icons/steam.svg +0 -4
  214. package/shoelace/assets/icons/strava.svg +0 -3
  215. package/shoelace/assets/icons/terminal-dash.svg +0 -4
  216. package/shoelace/assets/icons/terminal-plus.svg +0 -4
  217. package/shoelace/assets/icons/terminal-split.svg +0 -4
  218. package/shoelace/assets/icons/terminal-x.svg +0 -4
  219. package/shoelace/assets/icons/thunderbolt-fill.svg +0 -3
  220. package/shoelace/assets/icons/thunderbolt.svg +0 -4
  221. package/shoelace/assets/icons/ticket-detailed-fill.svg +0 -3
  222. package/shoelace/assets/icons/ticket-detailed.svg +0 -4
  223. package/shoelace/assets/icons/ticket-fill.svg +0 -3
  224. package/shoelace/assets/icons/ticket-perforated-fill.svg +0 -3
  225. package/shoelace/assets/icons/ticket-perforated.svg +0 -4
  226. package/shoelace/assets/icons/ticket.svg +0 -3
  227. package/shoelace/assets/icons/tiktok.svg +0 -3
  228. package/shoelace/assets/icons/translate.svg +0 -4
  229. package/shoelace/assets/icons/usb-c-fill.svg +0 -3
  230. package/shoelace/assets/icons/usb-c.svg +0 -4
  231. package/shoelace/assets/icons/usb-drive-fill.svg +0 -3
  232. package/shoelace/assets/icons/usb-drive.svg +0 -3
  233. package/shoelace/assets/icons/usb-fill.svg +0 -3
  234. package/shoelace/assets/icons/usb-micro-fill.svg +0 -3
  235. package/shoelace/assets/icons/usb-micro.svg +0 -4
  236. package/shoelace/assets/icons/usb-mini-fill.svg +0 -3
  237. package/shoelace/assets/icons/usb-mini.svg +0 -4
  238. package/shoelace/assets/icons/usb-plug-fill.svg +0 -3
  239. package/shoelace/assets/icons/usb-plug.svg +0 -3
  240. package/shoelace/assets/icons/usb-symbol.svg +0 -3
  241. package/shoelace/assets/icons/usb.svg +0 -4
  242. package/shoelace/assets/icons/vimeo.svg +0 -3
  243. package/shoelace/assets/icons/webcam-fill.svg +0 -4
  244. package/shoelace/assets/icons/webcam.svg +0 -4
  245. package/shoelace/assets/icons/window-dash.svg +0 -5
  246. package/shoelace/assets/icons/window-desktop.svg +0 -4
  247. package/shoelace/assets/icons/window-fullscreen.svg +0 -4
  248. package/shoelace/assets/icons/window-plus.svg +0 -5
  249. package/shoelace/assets/icons/window-split.svg +0 -4
  250. package/shoelace/assets/icons/window-stack.svg +0 -4
  251. package/shoelace/assets/icons/window-x.svg +0 -5
  252. package/shoelace/assets/icons/windows.svg +0 -3
  253. package/shoelace/assets/icons/wordpress.svg +0 -5
  254. package/shoelace/assets/icons/x-lg.svg +0 -4
  255. package/shoelace/assets/icons/xbox.svg +0 -3
  256. package/shoelace/assets/icons/yin-yang.svg +0 -4
  257. package/shoelace/themes/themes/dark.styles.d.ts +0 -2
  258. package/shoelace/themes/themes/dark.styles.js +0 -531
  259. package/shoelace/themes/themes/light.css +0 -439
  260. package/shoelace/themes/themes/light.styles.d.ts +0 -2
  261. package/shoelace/themes/themes/light.styles.js +0 -531
@@ -36,6 +36,7 @@ export const SlottedIntoComponent = () => {
36
36
  rankType: "rowNumber",
37
37
  leaderboard: [],
38
38
  showUser: true,
39
+ rowNumber: 10,
39
40
  userRank: {
40
41
  firstName: "Kutay",
41
42
  lastInitial: "C",
@@ -9,72 +9,72 @@ export default {
9
9
  };
10
10
  const users = [
11
11
  {
12
- firstName: "Viktor",
13
- lastInitial: "V",
14
- value: 82,
12
+ firstName: "",
13
+ lastInitial: "",
14
+ textValue: "82",
15
15
  rank: 1,
16
16
  rowNumber: 1,
17
17
  },
18
18
  {
19
19
  firstName: "MF",
20
20
  lastInitial: "D",
21
- value: 73,
21
+ textValue: "73",
22
22
  rank: 2,
23
23
  rowNumber: 2,
24
24
  },
25
25
  {
26
26
  firstName: "Freddie",
27
27
  lastInitial: "G",
28
- value: 64,
28
+ textValue: "64",
29
29
  rank: 3,
30
30
  rowNumber: 3,
31
31
  },
32
32
  {
33
33
  firstName: "Benny",
34
34
  lastInitial: "B",
35
- value: 55,
35
+ textValue: "55",
36
36
  rank: 4,
37
37
  rowNumber: 4,
38
38
  },
39
39
  {
40
40
  firstName: "Mos",
41
41
  lastInitial: "D",
42
- value: 46,
42
+ textValue: "46",
43
43
  rank: 5,
44
44
  rowNumber: 5,
45
45
  },
46
46
  {
47
47
  firstName: "Joe",
48
48
  lastInitial: "S",
49
- value: 42,
49
+ textValue: "42",
50
50
  rank: 6,
51
51
  rowNumber: 6,
52
52
  },
53
53
  {
54
54
  firstName: "Zach",
55
55
  lastInitial: "H",
56
- value: 41,
56
+ textValue: "41",
57
57
  rank: 7,
58
58
  rowNumber: 7,
59
59
  },
60
60
  {
61
61
  firstName: "Sarah",
62
62
  lastInitial: "S",
63
- value: 39,
63
+ textValue: "39",
64
64
  rank: 8,
65
65
  rowNumber: 8,
66
66
  },
67
67
  {
68
68
  firstName: "James",
69
69
  lastInitial: "",
70
- value: 33,
70
+ textValue: "33",
71
71
  rank: 9,
72
72
  rowNumber: 9,
73
73
  },
74
74
  {
75
75
  firstName: "",
76
76
  lastInitial: "J",
77
- value: 29,
77
+ textValue: "29",
78
78
  rank: 10,
79
79
  rowNumber: 10,
80
80
  },
@@ -83,7 +83,7 @@ const defaultStyles = {
83
83
  usersheading: "User",
84
84
  statsheading: "Referrals",
85
85
  rankheading: "Rank",
86
- anonymousUser: "Anonymous User"
86
+ anonymousUser: "Anonymous User",
87
87
  };
88
88
  const defaultElements = {
89
89
  empty: (h("sqm-empty", { "empty-state-image": "https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_leaderboard2.png", "empty-state-header": "View your rank in the leaderboard", "empty-state-text": "Be the first to refer a friend and reach the top of the leaderboard" })),
@@ -106,10 +106,11 @@ export const Empty = () => {
106
106
  data: {
107
107
  rankType: "rowNumber",
108
108
  leaderboard: [],
109
+ rowNumber: 10,
109
110
  viewerRank: {
110
111
  firstName: "Kutay",
111
112
  lastInitial: "C",
112
- value: 8,
113
+ textValue: "8",
113
114
  rowNumber: 11,
114
115
  rank: 23,
115
116
  },
@@ -131,6 +132,7 @@ export const Loading = () => {
131
132
  },
132
133
  data: {
133
134
  rankType: "rowNumber",
135
+ rowNumber: 10,
134
136
  leaderboard: [],
135
137
  },
136
138
  elements: {
@@ -150,11 +152,12 @@ export const One = () => {
150
152
  },
151
153
  data: {
152
154
  rankType: "rowNumber",
155
+ rowNumber: 1,
153
156
  leaderboard: [
154
157
  {
155
158
  firstName: "Viktor",
156
159
  lastInitial: "V",
157
- value: 82,
160
+ textValue: "82",
158
161
  rank: 1,
159
162
  rowNumber: 1,
160
163
  },
@@ -162,7 +165,7 @@ export const One = () => {
162
165
  viewerRank: {
163
166
  firstName: "Viktor",
164
167
  lastInitial: "V",
165
- value: 82,
168
+ textValue: "82",
166
169
  rank: 1,
167
170
  rowNumber: 1,
168
171
  },
@@ -184,33 +187,40 @@ export const Five = () => {
184
187
  },
185
188
  data: {
186
189
  rankType: "rowNumber",
190
+ rowNumber: 5,
187
191
  leaderboard: [
188
192
  {
189
193
  firstName: "Viktor",
190
194
  lastInitial: "V",
191
- value: 82,
195
+ textValue: "82",
192
196
  rank: 1,
193
197
  rowNumber: 1,
194
198
  },
195
- { firstName: "MF", lastInitial: "D", value: 73, rank: 2, rowNumber: 2 },
199
+ {
200
+ firstName: "MF",
201
+ lastInitial: "D",
202
+ textValue: "73",
203
+ rank: 2,
204
+ rowNumber: 2,
205
+ },
196
206
  {
197
207
  firstName: "Freddie",
198
208
  lastInitial: "G",
199
- value: 64,
209
+ textValue: "64",
200
210
  rank: 3,
201
211
  rowNumber: 3,
202
212
  },
203
213
  {
204
214
  firstName: "Benny",
205
215
  lastInitial: "B",
206
- value: 55,
216
+ textValue: "55",
207
217
  rank: 4,
208
218
  rowNumber: 4,
209
219
  },
210
220
  {
211
221
  firstName: "Mos",
212
222
  lastInitial: "D",
213
- value: 46,
223
+ textValue: "46",
214
224
  rank: 5,
215
225
  rowNumber: 5,
216
226
  },
@@ -218,7 +228,7 @@ export const Five = () => {
218
228
  viewerRank: {
219
229
  firstName: "Viktor",
220
230
  lastInitial: "V",
221
- value: 82,
231
+ textValue: "82",
222
232
  rank: 1,
223
233
  rowNumber: 1,
224
234
  },
@@ -229,12 +239,13 @@ export const Five = () => {
229
239
  };
230
240
  return h(LeaderboardView, Object.assign({}, props));
231
241
  };
232
- export const Ten = () => {
242
+ export const ReferralLeaderboard = () => {
233
243
  const props = {
234
244
  states: {
235
245
  loading: false,
236
246
  hasLeaders: true,
237
247
  styles: {
248
+ ...defaultStyles,
238
249
  rankheading: "Rank",
239
250
  usersheading: "User",
240
251
  statsheading: "Referrals",
@@ -244,10 +255,42 @@ export const Ten = () => {
244
255
  data: {
245
256
  rankType: "rowNumber",
246
257
  leaderboard: users,
258
+ rowNumber: 10,
259
+ viewerRank: {
260
+ firstName: "Viktor",
261
+ lastInitial: "V",
262
+ textValue: "82",
263
+ rank: 1,
264
+ rowNumber: 1,
265
+ },
266
+ },
267
+ elements: {
268
+ ...defaultElements,
269
+ },
270
+ };
271
+ return h(LeaderboardView, Object.assign({}, props));
272
+ };
273
+ export const PointsLeaderboard = () => {
274
+ const props = {
275
+ states: {
276
+ loading: false,
277
+ hasLeaders: true,
278
+ styles: {
279
+ ...defaultStyles,
280
+ rankheading: "Rank",
281
+ usersheading: "User",
282
+ statsheading: "Points",
283
+ showRank: false,
284
+ },
285
+ },
286
+ data: {
287
+ rankType: "rowNumber",
288
+ leaderboard: users,
289
+ rowNumber: 10,
247
290
  viewerRank: {
248
291
  firstName: "Viktor",
249
292
  lastInitial: "V",
250
- value: 82,
293
+ textValue: "82",
251
294
  rank: 1,
252
295
  rowNumber: 1,
253
296
  },
@@ -271,10 +314,11 @@ export const TenWithRank = () => {
271
314
  data: {
272
315
  rankType: "rowNumber",
273
316
  leaderboard: users,
317
+ rowNumber: 10,
274
318
  viewerRank: {
275
319
  firstName: "Viktor",
276
320
  lastInitial: "V",
277
- value: 82,
321
+ textValue: "82",
278
322
  rank: 1,
279
323
  rowNumber: 1,
280
324
  },
@@ -298,10 +342,11 @@ export const ViewerOutside = () => {
298
342
  data: {
299
343
  rankType: "rowNumber",
300
344
  leaderboard: users,
345
+ rowNumber: 10,
301
346
  viewerRank: {
302
347
  firstName: "Kutay",
303
348
  lastInitial: "C",
304
- value: 8,
349
+ textValue: "8",
305
350
  rowNumber: 11,
306
351
  rank: 23,
307
352
  },
@@ -325,6 +370,7 @@ export const ViewerAnonymous = () => {
325
370
  data: {
326
371
  rankType: "rowNumber",
327
372
  leaderboard: users,
373
+ rowNumber: 10,
328
374
  viewerRank: null,
329
375
  },
330
376
  elements: {
@@ -338,6 +384,7 @@ export const HideViewer = () => {
338
384
  states: {
339
385
  loading: false,
340
386
  hasLeaders: true,
387
+ rowNumber: 10,
341
388
  styles: {
342
389
  ...defaultStyles,
343
390
  showRank: true,
@@ -347,10 +394,11 @@ export const HideViewer = () => {
347
394
  data: {
348
395
  rankType: "rowNumber",
349
396
  leaderboard: users,
397
+ rowNumber: 10,
350
398
  viewerRank: {
351
399
  firstName: "Viktor",
352
400
  lastInitial: "V",
353
- value: 82,
401
+ textValue: "82",
354
402
  rowNumber: 1,
355
403
  rank: 1,
356
404
  },
@@ -104,6 +104,62 @@ export const TopStartedReferrers = createHookStory(() => {
104
104
  }),
105
105
  ];
106
106
  });
107
+ export const topPointEarners = createHookStory(() => {
108
+ setupGraphQL();
109
+ return [
110
+ View({
111
+ leaderboardType: "topPointEarners",
112
+ statsheading: "Points",
113
+ usersheading: "Top Earners",
114
+ }),
115
+ View({
116
+ leaderboardType: "topPointEarners",
117
+ rankType: "rank",
118
+ statsheading: "Points",
119
+ usersheading: "Top Earners",
120
+ }),
121
+ View({
122
+ leaderboardType: "topPointEarners",
123
+ rankType: "denseRank",
124
+ statsheading: "Points",
125
+ usersheading: "Top Earners",
126
+ }),
127
+ ];
128
+ });
129
+ export const globalLeaderboards = createHookStory(() => {
130
+ setupGraphQL();
131
+ return [
132
+ View({
133
+ leaderboardType: "topPointEarners",
134
+ rankType: "rank",
135
+ statsheading: "Points",
136
+ usersheading: "Top Earners",
137
+ programId: "",
138
+ }),
139
+ View({
140
+ leaderboardType: "topStartedReferrers",
141
+ rankType: "rank",
142
+ statsheading: "Referrals",
143
+ programId: "",
144
+ }),
145
+ View({
146
+ leaderboardType: "topConvertedReferrers",
147
+ rankType: "rank",
148
+ statsheading: "Referrals",
149
+ programId: "",
150
+ }),
151
+ ];
152
+ });
153
+ export const FiveResults = createHookStory(() => {
154
+ setupGraphQL();
155
+ return [
156
+ View({
157
+ leaderboardType: "topStartedReferrers",
158
+ maxRows: 5,
159
+ statsheading: "Referrals",
160
+ }),
161
+ ];
162
+ });
107
163
  export const EmptyLeaderboard = createHookStory(() => {
108
164
  setupOtherGraphQL();
109
165
  return [
@@ -84,7 +84,7 @@ export function LeaderboardView(props) {
84
84
  : user.firstName || user.lastInitial
85
85
  ? user.firstName || user.lastInitial
86
86
  : styles.anonymousUser),
87
- h("td", { class: "Score" }, user.value)));
87
+ h("td", { class: "Score" }, user.textValue)));
88
88
  }),
89
89
  !userSeenFlag && !styles.hideViewer && (h("tr", null,
90
90
  h("td", { colSpan: 100, class: "ellipses" },
@@ -97,5 +97,5 @@ export function LeaderboardView(props) {
97
97
  : ((_g = data.viewerRank) === null || _g === void 0 ? void 0 : _g.firstName) || ((_h = data.viewerRank) === null || _h === void 0 ? void 0 : _h.lastInitial)
98
98
  ? ((_j = data.viewerRank) === null || _j === void 0 ? void 0 : _j.firstName) || ((_k = data.viewerRank) === null || _k === void 0 ? void 0 : _k.lastInitial)
99
99
  : styles.anonymousUser),
100
- h("td", { class: "Score" }, ((_l = data.viewerRank) === null || _l === void 0 ? void 0 : _l.value) || "0"))))));
100
+ h("td", { class: "Score" }, ((_l = data.viewerRank) === null || _l === void 0 ? void 0 : _l.textValue) || "0"))))));
101
101
  }
@@ -11,15 +11,23 @@ import { useLeaderboard } from "./useLeaderboard";
11
11
  export class Leaderboard {
12
12
  constructor() {
13
13
  /**
14
- * Hide the current user's leaderboard information when they are not in the top 10
14
+ * Hide the viewer's leaderboard row if not in the top 10.
15
15
  *
16
- * @uiName Hide viewing user
16
+ * @uiName Hide Viewing User
17
17
  */
18
18
  this.hideViewer = false;
19
19
  /**
20
- * @uiName Title displayed for users without names
20
+ * Text displayed for users without names in the leaderboard
21
+ *
22
+ * @uiName Anonymous User Name
21
23
  */
22
24
  this.anonymousUser = "Anonymous User";
25
+ /**
26
+ * Control the maximum amount of rows displayed on the leaderboard.
27
+ *
28
+ * @uiName Maximum Rows Number
29
+ */
30
+ this.maxRows = 10;
23
31
  this.ignored = true;
24
32
  withHooks(this);
25
33
  withShadowView(this);
@@ -34,6 +42,8 @@ export class Leaderboard {
34
42
  rankheading: this.rankheading,
35
43
  rankType: this.rankType,
36
44
  leaderboardType: this.leaderboardType,
45
+ maxRows: this.maxRows,
46
+ programId: this.programId,
37
47
  anonymousUser: this.anonymousUser,
38
48
  interval: this.interval,
39
49
  hideViewer: this.hideViewer,
@@ -48,6 +58,26 @@ export class Leaderboard {
48
58
  static get is() { return "sqm-leaderboard"; }
49
59
  static get encapsulation() { return "shadow"; }
50
60
  static get properties() { return {
61
+ "programId": {
62
+ "type": "string",
63
+ "mutable": false,
64
+ "complexType": {
65
+ "original": "string",
66
+ "resolved": "string",
67
+ "references": {}
68
+ },
69
+ "required": false,
70
+ "optional": true,
71
+ "docs": {
72
+ "tags": [{
73
+ "text": "Program",
74
+ "name": "uiName"
75
+ }],
76
+ "text": "Filters leaderboard to show only data from this program. Defaults to the program context where this leaderboard is.\r\nIf no program ID is set or provided by context, then a global leaderboard is shown."
77
+ },
78
+ "attribute": "program-id",
79
+ "reflect": false
80
+ },
51
81
  "usersheading": {
52
82
  "type": "string",
53
83
  "mutable": false,
@@ -100,7 +130,7 @@ export class Leaderboard {
100
130
  "optional": true,
101
131
  "docs": {
102
132
  "tags": [{
103
- "text": "Rank Heading",
133
+ "text": "Rank Column Heading",
104
134
  "name": "uiName"
105
135
  }],
106
136
  "text": ""
@@ -120,7 +150,7 @@ export class Leaderboard {
120
150
  "optional": false,
121
151
  "docs": {
122
152
  "tags": [{
123
- "text": "Show leaderboard rank",
153
+ "text": "Show Rank Column",
124
154
  "name": "uiName"
125
155
  }],
126
156
  "text": ""
@@ -140,10 +170,10 @@ export class Leaderboard {
140
170
  "optional": false,
141
171
  "docs": {
142
172
  "tags": [{
143
- "text": "Hide viewing user",
173
+ "text": "Hide Viewing User",
144
174
  "name": "uiName"
145
175
  }],
146
- "text": "Hide the current user's leaderboard information when they are not in the top 10"
176
+ "text": "Hide the viewer's leaderboard row if not in the top 10."
147
177
  },
148
178
  "attribute": "hide-viewer",
149
179
  "reflect": false,
@@ -161,7 +191,7 @@ export class Leaderboard {
161
191
  "optional": false,
162
192
  "docs": {
163
193
  "tags": [{
164
- "text": "Rank type",
194
+ "text": "Rank Type",
165
195
  "name": "uiName"
166
196
  }, {
167
197
  "text": "string",
@@ -182,24 +212,24 @@ export class Leaderboard {
182
212
  "type": "string",
183
213
  "mutable": false,
184
214
  "complexType": {
185
- "original": "\"topStartedReferrers\" | \"topConvertedReferrers\"",
186
- "resolved": "\"topConvertedReferrers\" | \"topStartedReferrers\"",
215
+ "original": "| \"topStartedReferrers\"\r\n | \"topConvertedReferrers\"\r\n | \"topPointEarners\"",
216
+ "resolved": "\"topConvertedReferrers\" | \"topPointEarners\" | \"topStartedReferrers\"",
187
217
  "references": {}
188
218
  },
189
219
  "required": false,
190
220
  "optional": false,
191
221
  "docs": {
192
222
  "tags": [{
193
- "text": "Leaderboard type",
223
+ "text": "Leaderboard Type",
194
224
  "name": "uiName"
195
225
  }, {
196
226
  "text": "string",
197
227
  "name": "uiType"
198
228
  }, {
199
- "text": "[\"topStartedReferrers\", \"topConvertedReferrers\"]",
229
+ "text": "[\"topStartedReferrers\", \"topConvertedReferrers\", \"topPointEarners\"]",
200
230
  "name": "uiEnum"
201
231
  }, {
202
- "text": "[\"Top Started Referrers\", \"Top Converted Referrers\"]",
232
+ "text": "[\"Top Started Referrers\", \"Top Converted Referrers\", \"Top Point Earners\"]",
203
233
  "name": "uiEnumNames"
204
234
  }],
205
235
  "text": ""
@@ -219,10 +249,10 @@ export class Leaderboard {
219
249
  "optional": false,
220
250
  "docs": {
221
251
  "tags": [{
222
- "text": "Title displayed for users without names",
252
+ "text": "Anonymous User Name",
223
253
  "name": "uiName"
224
254
  }],
225
- "text": ""
255
+ "text": "Text displayed for users without names in the leaderboard"
226
256
  },
227
257
  "attribute": "anonymous-user",
228
258
  "reflect": false,
@@ -240,7 +270,7 @@ export class Leaderboard {
240
270
  "optional": false,
241
271
  "docs": {
242
272
  "tags": [{
243
- "text": "Leaderboard time interval",
273
+ "text": "Leaderboard Time Interval",
244
274
  "name": "uiName"
245
275
  }, {
246
276
  "text": "DateRange",
@@ -249,17 +279,38 @@ export class Leaderboard {
249
279
  "text": "{\"allowPastDates\":true, \"months\": 1}",
250
280
  "name": "uiOptions"
251
281
  }],
252
- "text": ""
282
+ "text": "Only count leaderboard activity within a given interval"
253
283
  },
254
284
  "attribute": "interval",
255
285
  "reflect": false
256
286
  },
287
+ "maxRows": {
288
+ "type": "number",
289
+ "mutable": false,
290
+ "complexType": {
291
+ "original": "number",
292
+ "resolved": "number",
293
+ "references": {}
294
+ },
295
+ "required": false,
296
+ "optional": false,
297
+ "docs": {
298
+ "tags": [{
299
+ "text": "Maximum Rows Number",
300
+ "name": "uiName"
301
+ }],
302
+ "text": "Control the maximum amount of rows displayed on the leaderboard."
303
+ },
304
+ "attribute": "max-rows",
305
+ "reflect": false,
306
+ "defaultValue": "10"
307
+ },
257
308
  "demoData": {
258
309
  "type": "unknown",
259
310
  "mutable": false,
260
311
  "complexType": {
261
312
  "original": "DemoData<LeaderboardViewProps>",
262
- "resolved": "{ states?: { loading: boolean; hasLeaders: boolean; styles: { usersheading: string; statsheading: string; rankheading?: string; showRank?: boolean; hideViewer?: boolean; anonymousUser?: string; }; }; data?: { rankType: string; leaderboard: { value: number; rank: number; firstName: string; lastInitial: string; rowNumber: number; }[]; viewerRank?: { value: number; rank: number; firstName: string; lastInitial: string; rowNumber: number; }; }; elements?: { empty: VNode; loadingstate: VNode; }; }",
313
+ "resolved": "{ states?: { loading: boolean; hasLeaders: boolean; styles: { usersheading: string; statsheading: string; rankheading?: string; showRank?: boolean; hideViewer?: boolean; anonymousUser?: string; }; }; data?: { rankType: string; leaderboard: { textValue: string; rank: number; firstName: string; lastInitial: string; rowNumber: number; }[]; viewerRank?: { textValue: string; rank: number; firstName: string; lastInitial: string; rowNumber: number; }; }; elements?: { empty: VNode; loadingstate: VNode; }; }",
263
314
  "references": {
264
315
  "DemoData": {
265
316
  "location": "import",
@@ -307,33 +358,33 @@ function useLeaderboardDemo(props) {
307
358
  {
308
359
  firstName: "Viktor",
309
360
  lastInitial: "V",
310
- value: 82,
361
+ textValue: "82",
311
362
  rank: 1,
312
363
  rowNumber: 1,
313
364
  },
314
365
  {
315
366
  firstName: "MF",
316
367
  lastInitial: "D",
317
- value: 73,
368
+ textValue: "73",
318
369
  rank: 2,
319
370
  rowNumber: 2,
320
371
  },
321
372
  {
322
373
  firstName: "Freddie",
323
374
  lastInitial: "G",
324
- value: 64,
375
+ textValue: "64",
325
376
  rank: 3,
326
377
  rowNumber: 3,
327
378
  },
328
379
  {
329
380
  firstName: "Benny",
330
381
  lastInitial: "B",
331
- value: 55,
382
+ textValue: "55",
332
383
  rank: 4,
333
384
  rowNumber: 4,
334
385
  },
335
386
  {
336
- value: 46,
387
+ textValue: "46",
337
388
  rank: 5,
338
389
  rowNumber: 5,
339
390
  },