@saasquatch/mint-components 1.5.0-113 → 1.5.0-114

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 (277) hide show
  1. package/dist/cjs/{GenericTableView-f947b749.js → GenericTableView-a69fddb5.js} +4 -2
  2. package/dist/cjs/{ShadowViewAddon-79dd6c07.js → ShadowViewAddon-b0dc2cbf.js} +14 -19
  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_30.cjs.entry.js +20 -8
  6. package/dist/cjs/sqm-referral-table_11.cjs.entry.js +1 -2
  7. package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +9 -12
  8. package/dist/cjs/sqm-stencilbook.cjs.entry.js +42 -50
  9. package/dist/collection/components/sqm-big-stat/UseBigStat.stories.js +1 -1
  10. package/dist/collection/components/sqm-big-stat/useBigStat.js +1 -1
  11. package/dist/collection/components/sqm-leaderboard/UseLeaderboard.stories.js +2 -2
  12. package/dist/collection/components/sqm-leaderboard/sqm-leaderboard-view.js +0 -5
  13. package/dist/collection/components/sqm-referral-table/ReferralTable.stories.js +1 -1
  14. package/dist/collection/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.js +0 -1
  15. package/dist/collection/components/sqm-rewards-table/RewardsTableCell.stories.js +10 -10
  16. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.js +8 -24
  17. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.js +1 -26
  18. package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +1 -1
  19. package/dist/collection/components/sqm-scroll/Scroll.stories.js +14 -23
  20. package/dist/collection/components/sqm-scroll/sqm-scroll.js +101 -147
  21. package/dist/collection/components/sqm-share-button/ShareButton.stories.js +8 -8
  22. package/dist/collection/components/sqm-share-button/sqm-share-button-view.js +13 -13
  23. package/dist/collection/components/sqm-share-button/sqm-share-button.js +21 -21
  24. package/dist/collection/components/sqm-task-card/sqm-task-card.js +3 -1
  25. package/dist/collection/tables/GenericTableView.js +4 -2
  26. package/dist/esm/{GenericTableView-6b7b537b.js → GenericTableView-042ed0ca.js} +4 -2
  27. package/dist/esm/{ShadowViewAddon-9c382e30.js → ShadowViewAddon-1c28d584.js} +14 -19
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/esm/mint-components.js +1 -1
  30. package/dist/esm/sqm-big-stat_30.entry.js +20 -8
  31. package/dist/esm/sqm-referral-table_11.entry.js +1 -2
  32. package/dist/esm/sqm-rewards-table_9.entry.js +9 -12
  33. package/dist/esm/sqm-stencilbook.entry.js +42 -50
  34. package/dist/esm-es5/GenericTableView-042ed0ca.js +1 -0
  35. package/dist/esm-es5/ShadowViewAddon-1c28d584.js +1 -0
  36. package/dist/esm-es5/loader.js +1 -1
  37. package/dist/esm-es5/mint-components.js +1 -1
  38. package/dist/esm-es5/sqm-big-stat_30.entry.js +1 -1
  39. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  40. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  41. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  42. package/dist/mint-components/mint-components.esm.js +1 -1
  43. package/dist/mint-components/p-46c31936.entry.js +1 -0
  44. package/dist/mint-components/p-55f3d841.system.js +1 -1
  45. package/dist/mint-components/{p-e16186c0.system.entry.js → p-660e371f.system.entry.js} +1 -1
  46. package/dist/mint-components/{p-1cd23e56.system.entry.js → p-6918a207.system.entry.js} +1 -1
  47. package/dist/mint-components/{p-bb497e73.entry.js → p-920a2900.entry.js} +2 -2
  48. package/dist/mint-components/p-9a2b9ff8.system.entry.js +1 -0
  49. package/dist/mint-components/p-a11e1cb1.system.js +1 -0
  50. package/dist/mint-components/p-b74de10f.js +1 -0
  51. package/dist/mint-components/p-b7f5d9e7.entry.js +9 -0
  52. package/dist/mint-components/p-bf49f17f.system.js +1 -0
  53. package/dist/mint-components/{p-eb61462d.entry.js → p-d79e1aa4.entry.js} +8 -8
  54. package/dist/mint-components/{p-2c5d7a20.js → p-f017e3da.js} +3 -3
  55. package/dist/mint-components/{p-e2731437.system.entry.js → p-fa68591b.system.entry.js} +1 -1
  56. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.d.ts +0 -1
  57. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.d.ts +0 -4
  58. package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +1 -1
  59. package/dist/types/components/sqm-scroll/Scroll.stories.d.ts +1 -0
  60. package/dist/types/components/sqm-scroll/sqm-scroll.d.ts +56 -8
  61. package/dist/types/components/sqm-share-button/sqm-share-button-view.d.ts +6 -6
  62. package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +9 -9
  63. package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +2 -0
  64. package/dist/types/components.d.ts +116 -42
  65. package/grapesjs/grapesjs.js +1 -1
  66. package/package.json +1 -1
  67. package/shoelace/assets/icons/123.svg +3 -0
  68. package/shoelace/assets/icons/activity.svg +3 -0
  69. package/shoelace/assets/icons/apple.svg +4 -0
  70. package/shoelace/assets/icons/bandaid-fill.svg +3 -0
  71. package/shoelace/assets/icons/bandaid.svg +4 -0
  72. package/shoelace/assets/icons/bank.svg +3 -0
  73. package/shoelace/assets/icons/bank2.svg +3 -0
  74. package/shoelace/assets/icons/behance.svg +3 -0
  75. package/shoelace/assets/icons/bell-slash-fill.svg +3 -0
  76. package/shoelace/assets/icons/bell-slash.svg +3 -0
  77. package/shoelace/assets/icons/bluetooth.svg +3 -0
  78. package/shoelace/assets/icons/body-text.svg +3 -0
  79. package/shoelace/assets/icons/boombox-fill.svg +4 -0
  80. package/shoelace/assets/icons/boombox.svg +6 -0
  81. package/shoelace/assets/icons/boxes.svg +3 -0
  82. package/shoelace/assets/icons/cash-coin.svg +6 -0
  83. package/shoelace/assets/icons/check-lg.svg +3 -0
  84. package/shoelace/assets/icons/cloud-haze2.svg +3 -0
  85. package/shoelace/assets/icons/coin.svg +5 -0
  86. package/shoelace/assets/icons/currency-bitcoin.svg +3 -0
  87. package/shoelace/assets/icons/currency-dollar.svg +3 -0
  88. package/shoelace/assets/icons/currency-euro.svg +3 -0
  89. package/shoelace/assets/icons/currency-exchange.svg +3 -0
  90. package/shoelace/assets/icons/currency-pound.svg +3 -0
  91. package/shoelace/assets/icons/currency-yen.svg +3 -0
  92. package/shoelace/assets/icons/dash-lg.svg +3 -0
  93. package/shoelace/assets/icons/device-hdd-fill.svg +4 -0
  94. package/shoelace/assets/icons/device-hdd.svg +5 -0
  95. package/shoelace/assets/icons/device-ssd-fill.svg +4 -0
  96. package/shoelace/assets/icons/device-ssd.svg +4 -0
  97. package/shoelace/assets/icons/displayport-fill.svg +3 -0
  98. package/shoelace/assets/icons/displayport.svg +4 -0
  99. package/shoelace/assets/icons/dpad-fill.svg +3 -0
  100. package/shoelace/assets/icons/dpad.svg +4 -0
  101. package/shoelace/assets/icons/dribbble.svg +3 -0
  102. package/shoelace/assets/icons/ear-fill.svg +3 -0
  103. package/shoelace/assets/icons/ear.svg +3 -0
  104. package/shoelace/assets/icons/easel2-fill.svg +4 -0
  105. package/shoelace/assets/icons/easel2.svg +3 -0
  106. package/shoelace/assets/icons/easel3-fill.svg +3 -0
  107. package/shoelace/assets/icons/easel3.svg +3 -0
  108. package/shoelace/assets/icons/envelope-check-fill.svg +4 -0
  109. package/shoelace/assets/icons/envelope-check.svg +4 -0
  110. package/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
  111. package/shoelace/assets/icons/envelope-dash.svg +4 -0
  112. package/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
  113. package/shoelace/assets/icons/envelope-exclamation.svg +4 -0
  114. package/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
  115. package/shoelace/assets/icons/envelope-plus.svg +4 -0
  116. package/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
  117. package/shoelace/assets/icons/envelope-slash.svg +4 -0
  118. package/shoelace/assets/icons/envelope-x-fill.svg +4 -0
  119. package/shoelace/assets/icons/envelope-x.svg +4 -0
  120. package/shoelace/assets/icons/ethernet.svg +4 -0
  121. package/shoelace/assets/icons/exclamation-lg.svg +3 -0
  122. package/shoelace/assets/icons/explicit-fill.svg +3 -0
  123. package/shoelace/assets/icons/explicit.svg +4 -0
  124. package/shoelace/assets/icons/fan.svg +4 -0
  125. package/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
  126. package/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
  127. package/shoelace/assets/icons/file-pdf-fill.svg +4 -0
  128. package/shoelace/assets/icons/file-pdf.svg +4 -0
  129. package/shoelace/assets/icons/fingerprint.svg +7 -0
  130. package/shoelace/assets/icons/gender-ambiguous.svg +3 -0
  131. package/shoelace/assets/icons/gender-female.svg +3 -0
  132. package/shoelace/assets/icons/gender-male.svg +3 -0
  133. package/shoelace/assets/icons/gender-trans.svg +3 -0
  134. package/shoelace/assets/icons/git.svg +3 -0
  135. package/shoelace/assets/icons/gpu-card.svg +5 -0
  136. package/shoelace/assets/icons/graph-down-arrow.svg +3 -0
  137. package/shoelace/assets/icons/graph-up-arrow.svg +3 -0
  138. package/shoelace/assets/icons/hdmi-fill.svg +3 -0
  139. package/shoelace/assets/icons/hdmi.svg +4 -0
  140. package/shoelace/assets/icons/headset-vr.svg +4 -0
  141. package/shoelace/assets/icons/hypnotize.svg +4 -0
  142. package/shoelace/assets/icons/infinity.svg +3 -0
  143. package/shoelace/assets/icons/info-lg.svg +3 -0
  144. package/shoelace/assets/icons/line.svg +3 -0
  145. package/shoelace/assets/icons/list-columns-reverse.svg +3 -0
  146. package/shoelace/assets/icons/list-columns.svg +3 -0
  147. package/shoelace/assets/icons/magic.svg +3 -0
  148. package/shoelace/assets/icons/mastodon.svg +3 -0
  149. package/shoelace/assets/icons/medium.svg +3 -0
  150. package/shoelace/assets/icons/memory.svg +3 -0
  151. package/shoelace/assets/icons/messenger.svg +3 -0
  152. package/shoelace/assets/icons/meta.svg +3 -0
  153. package/shoelace/assets/icons/microsoft.svg +3 -0
  154. package/shoelace/assets/icons/modem-fill.svg +3 -0
  155. package/shoelace/assets/icons/modem.svg +4 -0
  156. package/shoelace/assets/icons/mortarboard-fill.svg +4 -0
  157. package/shoelace/assets/icons/mortarboard.svg +4 -0
  158. package/shoelace/assets/icons/motherboard-fill.svg +4 -0
  159. package/shoelace/assets/icons/motherboard.svg +4 -0
  160. package/shoelace/assets/icons/nintendo-switch.svg +4 -0
  161. package/shoelace/assets/icons/optical-audio-fill.svg +4 -0
  162. package/shoelace/assets/icons/optical-audio.svg +5 -0
  163. package/shoelace/assets/icons/paypal.svg +3 -0
  164. package/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
  165. package/shoelace/assets/icons/pc-display.svg +3 -0
  166. package/shoelace/assets/icons/pc-horizontal.svg +3 -0
  167. package/shoelace/assets/icons/pc.svg +3 -0
  168. package/shoelace/assets/icons/pci-card.svg +4 -0
  169. package/shoelace/assets/icons/person-rolodex.svg +4 -0
  170. package/shoelace/assets/icons/person-video.svg +4 -0
  171. package/shoelace/assets/icons/person-video2.svg +4 -0
  172. package/shoelace/assets/icons/person-video3.svg +4 -0
  173. package/shoelace/assets/icons/person-workspace.svg +4 -0
  174. package/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
  175. package/shoelace/assets/icons/piggy-bank.svg +4 -0
  176. package/shoelace/assets/icons/pin-map-fill.svg +4 -0
  177. package/shoelace/assets/icons/pin-map.svg +4 -0
  178. package/shoelace/assets/icons/pinterest.svg +3 -0
  179. package/shoelace/assets/icons/playstation.svg +3 -0
  180. package/shoelace/assets/icons/plus-lg.svg +3 -0
  181. package/shoelace/assets/icons/plus-slash-minus.svg +3 -0
  182. package/shoelace/assets/icons/projector-fill.svg +3 -0
  183. package/shoelace/assets/icons/projector.svg +4 -0
  184. package/shoelace/assets/icons/qr-code-scan.svg +7 -0
  185. package/shoelace/assets/icons/qr-code.svg +7 -0
  186. package/shoelace/assets/icons/question-lg.svg +3 -0
  187. package/shoelace/assets/icons/quora.svg +3 -0
  188. package/shoelace/assets/icons/quote.svg +3 -0
  189. package/shoelace/assets/icons/radioactive.svg +4 -0
  190. package/shoelace/assets/icons/recycle.svg +3 -0
  191. package/shoelace/assets/icons/reddit.svg +4 -0
  192. package/shoelace/assets/icons/robot.svg +4 -0
  193. package/shoelace/assets/icons/router-fill.svg +6 -0
  194. package/shoelace/assets/icons/router.svg +6 -0
  195. package/shoelace/assets/icons/safe-fill.svg +4 -0
  196. package/shoelace/assets/icons/safe.svg +4 -0
  197. package/shoelace/assets/icons/safe2-fill.svg +4 -0
  198. package/shoelace/assets/icons/safe2.svg +4 -0
  199. package/shoelace/assets/icons/sd-card-fill.svg +3 -0
  200. package/shoelace/assets/icons/sd-card.svg +4 -0
  201. package/shoelace/assets/icons/send-check-fill.svg +4 -0
  202. package/shoelace/assets/icons/send-check.svg +4 -0
  203. package/shoelace/assets/icons/send-dash-fill.svg +4 -0
  204. package/shoelace/assets/icons/send-dash.svg +4 -0
  205. package/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
  206. package/shoelace/assets/icons/send-exclamation.svg +4 -0
  207. package/shoelace/assets/icons/send-fill.svg +3 -0
  208. package/shoelace/assets/icons/send-plus-fill.svg +4 -0
  209. package/shoelace/assets/icons/send-plus.svg +4 -0
  210. package/shoelace/assets/icons/send-slash-fill.svg +4 -0
  211. package/shoelace/assets/icons/send-slash.svg +4 -0
  212. package/shoelace/assets/icons/send-x-fill.svg +4 -0
  213. package/shoelace/assets/icons/send-x.svg +4 -0
  214. package/shoelace/assets/icons/send.svg +3 -0
  215. package/shoelace/assets/icons/signal.svg +3 -0
  216. package/shoelace/assets/icons/skype.svg +3 -0
  217. package/shoelace/assets/icons/slash-lg.svg +3 -0
  218. package/shoelace/assets/icons/snapchat.svg +3 -0
  219. package/shoelace/assets/icons/spotify.svg +3 -0
  220. package/shoelace/assets/icons/stack-overflow.svg +4 -0
  221. package/shoelace/assets/icons/steam.svg +4 -0
  222. package/shoelace/assets/icons/strava.svg +3 -0
  223. package/shoelace/assets/icons/terminal-dash.svg +4 -0
  224. package/shoelace/assets/icons/terminal-plus.svg +4 -0
  225. package/shoelace/assets/icons/terminal-split.svg +4 -0
  226. package/shoelace/assets/icons/terminal-x.svg +4 -0
  227. package/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
  228. package/shoelace/assets/icons/thunderbolt.svg +4 -0
  229. package/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
  230. package/shoelace/assets/icons/ticket-detailed.svg +4 -0
  231. package/shoelace/assets/icons/ticket-fill.svg +3 -0
  232. package/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
  233. package/shoelace/assets/icons/ticket-perforated.svg +4 -0
  234. package/shoelace/assets/icons/ticket.svg +3 -0
  235. package/shoelace/assets/icons/tiktok.svg +3 -0
  236. package/shoelace/assets/icons/translate.svg +4 -0
  237. package/shoelace/assets/icons/usb-c-fill.svg +3 -0
  238. package/shoelace/assets/icons/usb-c.svg +4 -0
  239. package/shoelace/assets/icons/usb-drive-fill.svg +3 -0
  240. package/shoelace/assets/icons/usb-drive.svg +3 -0
  241. package/shoelace/assets/icons/usb-fill.svg +3 -0
  242. package/shoelace/assets/icons/usb-micro-fill.svg +3 -0
  243. package/shoelace/assets/icons/usb-micro.svg +4 -0
  244. package/shoelace/assets/icons/usb-mini-fill.svg +3 -0
  245. package/shoelace/assets/icons/usb-mini.svg +4 -0
  246. package/shoelace/assets/icons/usb-plug-fill.svg +3 -0
  247. package/shoelace/assets/icons/usb-plug.svg +3 -0
  248. package/shoelace/assets/icons/usb-symbol.svg +3 -0
  249. package/shoelace/assets/icons/usb.svg +4 -0
  250. package/shoelace/assets/icons/vimeo.svg +3 -0
  251. package/shoelace/assets/icons/webcam-fill.svg +4 -0
  252. package/shoelace/assets/icons/webcam.svg +4 -0
  253. package/shoelace/assets/icons/window-dash.svg +5 -0
  254. package/shoelace/assets/icons/window-desktop.svg +4 -0
  255. package/shoelace/assets/icons/window-fullscreen.svg +4 -0
  256. package/shoelace/assets/icons/window-plus.svg +5 -0
  257. package/shoelace/assets/icons/window-split.svg +4 -0
  258. package/shoelace/assets/icons/window-stack.svg +4 -0
  259. package/shoelace/assets/icons/window-x.svg +5 -0
  260. package/shoelace/assets/icons/windows.svg +3 -0
  261. package/shoelace/assets/icons/wordpress.svg +5 -0
  262. package/shoelace/assets/icons/x-lg.svg +4 -0
  263. package/shoelace/assets/icons/xbox.svg +3 -0
  264. package/shoelace/assets/icons/yin-yang.svg +4 -0
  265. package/shoelace/themes/themes/dark.styles.d.ts +2 -0
  266. package/shoelace/themes/themes/dark.styles.js +531 -0
  267. package/shoelace/themes/themes/light.css +439 -0
  268. package/shoelace/themes/themes/light.styles.d.ts +2 -0
  269. package/shoelace/themes/themes/light.styles.js +531 -0
  270. package/dist/esm-es5/GenericTableView-6b7b537b.js +0 -1
  271. package/dist/esm-es5/ShadowViewAddon-9c382e30.js +0 -1
  272. package/dist/mint-components/p-1b71a09e.system.entry.js +0 -1
  273. package/dist/mint-components/p-3f88f8eb.system.js +0 -1
  274. package/dist/mint-components/p-45581e0b.entry.js +0 -9
  275. package/dist/mint-components/p-48161ba8.js +0 -1
  276. package/dist/mint-components/p-546ee840.entry.js +0 -1
  277. package/dist/mint-components/p-ac303785.system.js +0 -1
@@ -14,7 +14,7 @@ import './luxon-f44215d9.js';
14
14
  import { g as getProps, a as getMissingProps } from './utils-1d345130.js';
15
15
  import './sqm-text-span-view-7e61c95c.js';
16
16
  import './sqm-portal-container-view-dea0cdcc.js';
17
- import { c as useDemoBigStat, G as useBigStat, B as BigStatView, D as autoColorScaleCss, C as CardFeedView, E as EditProfileView, H as withShadowView, L as LeaderboardView, d as PortalChangePasswordView, P as PortalFrameView, e as PortalLoginView, f as PortalRegisterView, R as ReferralIframeView, I as demoRewardExchange, h as RewardExchangeView, J as pathToRegexp, b as useShareButton, S as ShareButtonView, a as ShareLinkView, u as useShareLink, T as TaskCardView } from './ShadowViewAddon-9c382e30.js';
17
+ import { c as useDemoBigStat, G as useBigStat, B as BigStatView, D as autoColorScaleCss, C as CardFeedView, E as EditProfileView, H as withShadowView, L as LeaderboardView, d as PortalChangePasswordView, P as PortalFrameView, e as PortalLoginView, f as PortalRegisterView, R as ReferralIframeView, I as demoRewardExchange, h as RewardExchangeView, J as pathToRegexp, b as useShareButton, S as ShareButtonView, a as ShareLinkView, u as useShareLink, T as TaskCardView } from './ShadowViewAddon-1c28d584.js';
18
18
  import './sqm-portal-section-view-88a80af9.js';
19
19
 
20
20
  const BigStat = class {
@@ -6704,7 +6704,17 @@ const Scroll = class {
6704
6704
  constructor(hostRef) {
6705
6705
  registerInstance(this, hostRef);
6706
6706
  this.ignored = true;
6707
+ /**
6708
+ * @uiName Button Type
6709
+ * @uiType string
6710
+ * @uiEnum ["default", "primary", "success", "neutral", "warning", "danger", "text"]
6711
+ */
6707
6712
  this.buttonType = "default";
6713
+ /**
6714
+ * @uiName Scroll Animation Style
6715
+ * @uiType string
6716
+ * @uiEnum ["smooth", "auto"]
6717
+ */
6708
6718
  this.scrollAnimation = "smooth";
6709
6719
  h(this);
6710
6720
  }
@@ -6735,9 +6745,9 @@ const Scroll = class {
6735
6745
  const styleString = sheet.toString();
6736
6746
  const vanillaStyle = `
6737
6747
  :host{
6738
- display: block;
6748
+ display: contents;
6739
6749
  }
6740
- ${this.mobileFriendly &&
6750
+ ${this.mobile &&
6741
6751
  `
6742
6752
  @media only screen and (max-width: 499px) {
6743
6753
  :host {
@@ -6749,9 +6759,9 @@ const Scroll = class {
6749
6759
  let classStack = "";
6750
6760
  if (this.outline)
6751
6761
  classStack += "outline ";
6752
- if (this.mobileFriendly)
6762
+ if (this.mobile)
6753
6763
  classStack += "mobile ";
6754
- return (h$1("div", { class: sheet.classes.Button }, h$1("style", { type: "text/css" }, vanillaStyle, styleString), h$1("sl-button", { type: this.outline ? "primary" : this.buttonType, onClick: callbacks.scroll, size: this.size, pill: this.pill, href: this.href, circle: this.circle, name: this.name, target: this.target, download: this.download, disabled: this.disabled, caret: this.caret, loading: this.loading, class: classStack }, this.iconSlot && this.iconName && (h$1("sl-icon", { slot: this.iconSlot, name: this.iconName })), this.buttonText, h$1("slot", null))));
6764
+ return (h$1("div", { class: sheet.classes.Button }, h$1("style", { type: "text/css" }, vanillaStyle, styleString), h$1("sl-button", { type: this.outline ? "primary" : this.buttonType, onClick: callbacks.scroll, size: this.size, pill: this.pill, circle: this.circle, class: classStack }, (this.iconSlot || this.iconName) && (h$1("sl-icon", { slot: this.iconSlot || "prefix", name: this.iconName })), this.buttonText, h$1("slot", null))));
6755
6765
  }
6756
6766
  };
6757
6767
 
@@ -6772,15 +6782,15 @@ const ShareButton = class {
6772
6782
  * @uiEnum ["prefix", "suffix" ]
6773
6783
  * @uiEnumNames ["Prefix", "Suffix"]
6774
6784
  */
6775
- this.iconslot = "prefix";
6785
+ this.iconSlot = "prefix";
6776
6786
  /**
6777
6787
  * @uiName Hide the icon
6778
6788
  */
6779
- this.hideicon = false;
6789
+ this.hideIcon = false;
6780
6790
  /**
6781
6791
  * @uiName Hide the text
6782
6792
  */
6783
- this.hidetext = false;
6793
+ this.hideText = false;
6784
6794
  h(this);
6785
6795
  }
6786
6796
  disconnectedCallback() { }
@@ -7036,6 +7046,8 @@ const TaskCard = class {
7036
7046
  */
7037
7047
  this.showProgressBar = false;
7038
7048
  /**
7049
+ * Sets the goal for progress to be completed. If repeatable is checked, repeatable goals will be increments of this.
7050
+ *
7039
7051
  * @uiName Goal Completion Number
7040
7052
  */
7041
7053
  this.goal = 1;
@@ -7,7 +7,7 @@ import './extends-c31f1eff.js';
7
7
  import { c as cjs } from './cjs-bdfb4486.js';
8
8
  import './mixins-10353a39.js';
9
9
  import { c as createStyleSheet } from './JSS-96eeab98.js';
10
- import { G as GenericTableView } from './GenericTableView-6b7b537b.js';
10
+ import { G as GenericTableView } from './GenericTableView-042ed0ca.js';
11
11
  import { a as useRequestRerender, u as useRerenderListener } from './re-render-544e9c59.js';
12
12
  import { u as useChildElements } from './useChildElements-db935587.js';
13
13
  import { l as luxon } from './luxon-f44215d9.js';
@@ -483,7 +483,6 @@ const ReferralTableRewardsCell = class {
483
483
  }, {
484
484
  status: state,
485
485
  });
486
- const rid = Math.random().toString(36).slice(2);
487
486
  return (h$1("sl-details", { class: sheet.classes.Details, disabled: this.hideDetails }, h$1("style", { type: "text/css" }, styleString), h$1("div", { slot: "summary", class: sheet.classes.DetailsContainer }, h$1(TextSpanView, { type: "p" }, h$1("span", { class: sheet.classes.BoldText }, reward.prettyValue)), h$1("div", { class: sheet.classes.BadgeContainer }, state === "PENDING" && reward.dateScheduledFor ? (h$1("sl-badge", { class: slBadgeType === "primary"
488
487
  ? sheet.classes.RedeemBadge
489
488
  : sheet.classes.StatusBadge, type: slBadgeType, pill: true }, intl.formatMessage({
@@ -7,7 +7,7 @@ import './extends-c31f1eff.js';
7
7
  import { c as cjs } from './cjs-bdfb4486.js';
8
8
  import './mixins-10353a39.js';
9
9
  import { c as createStyleSheet } from './JSS-96eeab98.js';
10
- import { G as GenericTableView } from './GenericTableView-6b7b537b.js';
10
+ import { G as GenericTableView } from './GenericTableView-042ed0ca.js';
11
11
  import { u as useRerenderListener, a as useRequestRerender } from './re-render-544e9c59.js';
12
12
  import { u as useChildElements } from './useChildElements-db935587.js';
13
13
  import { l as luxon } from './luxon-f44215d9.js';
@@ -574,13 +574,12 @@ const RewardTableRewardsCell = class {
574
574
  const singleReward = reward.prettyValueNumber === "1" ||
575
575
  (reward.dateRedeemed && reward.prettyAvailableNumber === "0");
576
576
  if (reward.type === "FUELTANK") {
577
- return (h("div", { class: sheet.classes.Fueltank }, reward.prettyValue, h("div", { class: "code", onClick: () => navigator.clipboard.writeText(reward.fuelTankCode) }, h("sl-tooltip", { trigger: "click", placement: "top", distance: 5, skidding: 11, content: this.copyText, "onSl-show": (e) => setTimeout(() => e.path[0].hide(), 1000) }, h("span", { class: "text" }, reward.fuelTankCode), h("span", { class: "icon" }, h("sl-icon", { name: "files" }))))));
577
+ return (h("div", { class: sheet.classes.Fueltank }, reward.prettyValue, reward.fuelTankCode && (h("div", { class: "code", onClick: () => navigator.clipboard.writeText(reward.fuelTankCode) }, h("sl-tooltip", { trigger: "click", placement: "top", distance: 5, skidding: 11, content: this.copyText, "onSl-show": (e) => setTimeout(() => e.path[0].hide(), 1000) }, h("span", { class: "text" }, reward.fuelTankCode), h("span", { class: "icon" }, h("sl-icon", { name: "files" })))))));
578
578
  }
579
579
  if (reward.type === "CREDIT" && !singleReward) {
580
- const progress = Math.round(((parseFloat(reward.prettyValueNumber) -
581
- parseFloat(reward.prettyRedeemedNumber)) /
582
- parseFloat(reward.prettyValueNumber)) *
583
- 100);
580
+ const remainingValue = parseFloat(reward.prettyValueNumber) -
581
+ parseFloat(reward.prettyRedeemedNumber);
582
+ const progress = Math.round((remainingValue / parseFloat(reward.prettyValueNumber)) * 100);
584
583
  const progressBarSubtext = reward.statuses.includes("EXPIRED") ||
585
584
  reward.statuses.includes("CANCELLED") ? (h("div", null, intl.formatMessage({
586
585
  id: "redeemedText",
@@ -591,7 +590,9 @@ const RewardTableRewardsCell = class {
591
590
  id: "availableText",
592
591
  defaultMessage: this.availableText,
593
592
  }, {
594
- availableAmount: reward.prettyAvailableValue,
593
+ availableAmount: reward.statuses.includes("PENDING")
594
+ ? reward.prettyAssignedCredit
595
+ : reward.prettyAvailableValue,
595
596
  })));
596
597
  const style = {
597
598
  Progress: {
@@ -650,10 +651,6 @@ const RewardsTableColumn = class {
650
651
  * @uiName Remaining Amount Text
651
652
  */
652
653
  this.availableText = "{availableAmount} remaining";
653
- /**
654
- * @uiName Fuel Tank Text
655
- */
656
- this.fueltankText = "Your code:";
657
654
  /**
658
655
  * @uiName Copied Fuel Tank Text
659
656
  */
@@ -662,7 +659,7 @@ const RewardsTableColumn = class {
662
659
  }
663
660
  disconnectedCallback() { }
664
661
  async renderCell(data, locale) {
665
- return (h("sqm-rewards-table-reward-cell", { reward: data === null || data === void 0 ? void 0 : data[0], redeemedText: this.redeemedText, availableText: this.availableText, fueltankText: this.fueltankText, locale: locale }));
662
+ return (h("sqm-rewards-table-reward-cell", { reward: data === null || data === void 0 ? void 0 : data[0], redeemedText: this.redeemedText, availableText: this.availableText, copyText: this.copyText, locale: locale }));
666
663
  }
667
664
  async renderLabel() {
668
665
  return this.columnTitle;
@@ -7,7 +7,7 @@ import './extends-c31f1eff.js';
7
7
  import './cjs-bdfb4486.js';
8
8
  import './mixins-10353a39.js';
9
9
  import { c as createStyleSheet } from './JSS-96eeab98.js';
10
- import { G as GenericTableView } from './GenericTableView-6b7b537b.js';
10
+ import { G as GenericTableView } from './GenericTableView-042ed0ca.js';
11
11
  import { l as luxon } from './luxon-f44215d9.js';
12
12
  import './utils-1d345130.js';
13
13
  import './sqm-text-span-view-7e61c95c.js';
@@ -25,7 +25,7 @@ import { P as PortalProfileView } from './sqm-portal-profile-view-c34e781b.js';
25
25
  import { P as PortalResetPasswordView } from './sqm-portal-reset-password-view-73e14282.js';
26
26
  import { P as PortalVerifyEmailView } from './sqm-portal-verify-email-view-cbf1cfdc.js';
27
27
  import { S as StatContainerView } from './sqm-stat-container-view-226b6496.js';
28
- import { S as ShareButtonView, L as LeaderboardView, a as ShareLinkView, B as BigStatView, P as PortalFrameView, E as EditProfileView, u as useShareLink, b as useShareButton, c as useDemoBigStat, d as PortalChangePasswordView, e as PortalLoginView, f as PortalRegisterView, T as TaskCardView, g as ProgressBarView, R as ReferralIframeView, h as RewardExchangeView, r as rewardExchangeCustomErrorMsg, i as rewardExchangeLongText, j as rewardExchangeSelected, k as chooseAmountFixed, l as chooseAmountFixedNoDescription, m as chooseAmountVariable, n as chooseAmountVariableNoDescription, o as chooseAmountVariableDisabled, p as chooseAmountVariableUnavailable, q as confirmFixed, s as confirmVariable, t as redemptionError, v as queryError, w as success, x as successVariable, y as loading, z as empty$1, A as rewardExchange, C as CardFeedView, D as autoColorScaleCss, F as ShadowViewAddon } from './ShadowViewAddon-9c382e30.js';
28
+ import { S as ShareButtonView, L as LeaderboardView, a as ShareLinkView, B as BigStatView, P as PortalFrameView, E as EditProfileView, u as useShareLink, b as useShareButton, c as useDemoBigStat, d as PortalChangePasswordView, e as PortalLoginView, f as PortalRegisterView, T as TaskCardView, g as ProgressBarView, R as ReferralIframeView, h as RewardExchangeView, r as rewardExchangeCustomErrorMsg, i as rewardExchangeLongText, j as rewardExchangeSelected, k as chooseAmountFixed, l as chooseAmountFixedNoDescription, m as chooseAmountVariable, n as chooseAmountVariableNoDescription, o as chooseAmountVariableDisabled, p as chooseAmountVariableUnavailable, q as confirmFixed, s as confirmVariable, t as redemptionError, v as queryError, w as success, x as successVariable, y as loading, z as empty$1, A as rewardExchange, C as CardFeedView, D as autoColorScaleCss, F as ShadowViewAddon } from './ShadowViewAddon-1c28d584.js';
29
29
  import { P as PortalSectionView } from './sqm-portal-section-view-88a80af9.js';
30
30
 
31
31
  /**
@@ -1453,11 +1453,11 @@ const ShareButton_stories = {
1453
1453
  },
1454
1454
  };
1455
1455
  const WithIconPrefix = () => {
1456
- const props = { medium: "whatsapp", iconslot: "prefix" };
1456
+ const props = { medium: "whatsapp", iconSlot: "prefix" };
1457
1457
  return h(ShareButtonView, Object.assign({}, props), "Share");
1458
1458
  };
1459
1459
  const WithIconSuffix = () => {
1460
- const props = { medium: "whatsapp", iconslot: "suffix" };
1460
+ const props = { medium: "whatsapp", iconSlot: "suffix" };
1461
1461
  return h(ShareButtonView, Object.assign({}, props), "Share");
1462
1462
  };
1463
1463
  const WithIconOverride = () => {
@@ -1475,15 +1475,15 @@ const TextStyle = () => {
1475
1475
  return h(ShareButtonView, Object.assign({}, props), "Share");
1476
1476
  };
1477
1477
  const WithoutIcon = () => {
1478
- const props = { medium: "facebook", hideicon: true };
1478
+ const props = { medium: "facebook", hideIcon: true };
1479
1479
  return h(ShareButtonView, Object.assign({}, props), "Share");
1480
1480
  };
1481
1481
  const WithoutText = () => {
1482
- const props = { medium: "facebook", hidetext: true };
1482
+ const props = { medium: "facebook", hideText: true };
1483
1483
  return h(ShareButtonView, Object.assign({}, props), "Share");
1484
1484
  };
1485
1485
  const TextStyleWithoutIcon = () => {
1486
- const props = { medium: "facebook", type: "text", hideicon: true };
1486
+ const props = { medium: "facebook", type: "text", hideIcon: true };
1487
1487
  return h(ShareButtonView, Object.assign({}, props), "Share");
1488
1488
  };
1489
1489
  const WithCustomColors = () => {
@@ -1492,7 +1492,7 @@ const WithCustomColors = () => {
1492
1492
  type: "text",
1493
1493
  backgroundcolor: "red",
1494
1494
  textcolor: "yellow",
1495
- iconslot: "prefix",
1495
+ iconSlot: "prefix",
1496
1496
  };
1497
1497
  return h(ShareButtonView, Object.assign({}, props), "Facebook");
1498
1498
  };
@@ -1500,8 +1500,8 @@ const WithCustomBorderRadius = () => {
1500
1500
  const props = {
1501
1501
  medium: "facebook",
1502
1502
  type: "text",
1503
- borderradius: 8,
1504
- iconslot: "prefix",
1503
+ borderRadius: 8,
1504
+ iconSlot: "prefix",
1505
1505
  };
1506
1506
  return h(ShareButtonView, Object.assign({}, props), "Facebook");
1507
1507
  };
@@ -1756,7 +1756,7 @@ const BigStat = /*#__PURE__*/Object.freeze({
1756
1756
  InvalidStatValue: InvalidStatValue
1757
1757
  });
1758
1758
 
1759
- const scenario$4 = "@owner:noah\r\n@author:noah\r\nFeature: Leaderboard\r\n\r\n\tThe leaderboard displays the top referrers along with their scores\r\n\r\n\t@motivating\r\n\tScenario Outline: The leaderboard can be for referrals started or converted\r\n\t\tGiven a leaderboard is configured with \"leaderboard-type\" <value>\r\n\t\tAnd a user with started referrals\r\n\t\tAnd a user with converted referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen then only <referralType> referrals are counted in the leaderboard\r\n\t\tExamples:\r\n\t\t\t| value | referralType |\r\n\t\t\t| topStartedReferrers | started |\r\n\t\t\t| topConvertedReferrers | converted |\r\n\t\t\t| | started |\r\n\r\n\t@motivating\r\n\tScenario: If there are any users with referrals the leaderboard is shown\r\n\t\tGiven there is aleast one user\r\n\t\tThen the leaderboard displays up to 10 top referrers\r\n\t\tAnd leaderboard is ordered by the referrers score in descending ordered\r\n\t\tAnd in the case of a tie the rows are ordered alphabetically\r\n\r\n\t@motivating\r\n\tScenario: The leaderboard can filter referrals within an time interval\r\n\t\tGiven a leaderboard is configured with \"interval\" \"2021-11-02T07:00:00.000Z/2021-11-07T07:00:00.000Z\"\r\n\t\tAnd a user with referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen only referrals from within \"2021-11-02T07:00:00.000Z/2021-11-07T07:00:00.000Z\" are counted in the leaderboard\r\n\r\n\t@motivating\r\n\tScenario Outline: Rank Type can be configured\r\n\t\tGiven a leaderboard is configured with \"rank-type\" <value>\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen their leaderboard rank is their <rank>\r\n\t\tExamples:\r\n\t\t\t| value | rank |\r\n\t\t\t| rowNumber | row number |\r\n\t\t\t| denseRank | dense rank |\r\n\t\t\t| rank | rank |\r\n\t\t\t| | row number |\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: An empty state is displayed if no users\r\n\t\tGiven a user\r\n\t\tBut no users have made any referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen an empty state is dislayed\r\n\t\tAnd they see an image of a leaderboard\r\n\t\tAnd below they see \"View your rank in the leaderboard\"\r\n\t\tAnd below they see \"Be the first to refer a friend and reach the top of the leaderboard\"\r\n\t\tAnd the text is center aligned\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: A custom empty state can be provided\r\n\t\tGiven a user\r\n\t\tBut no users have made any referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen the contents of the \"empty\" slot are displayed\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: Leaderboard headings can be customized\r\n\t\tGiven a leaderboard\r\n\t\tAnd it has the following props\r\n\t\t\t| prop | value |\r\n\t\t\t| rankheading | Place |\r\n\t\t\t| usersheading | Customer |\r\n\t\t\t| statsheading | Referral Count |\r\n\t\t\t| show-rank | true |\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the following columns with headings\r\n\t\t\t| column | heading |\r\n\t\t\t| rank | Place |\r\n\t\t\t| user | Customer |\r\n\t\t\t| stat | Referral Count |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: Rank can be hidden or shown\r\n\t\tGiven a leaderboard\r\n\t\tAnd it has prop \"show-rank\" with <propValue>\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they <maySee> the rank column\r\n\t\tExamples:\r\n\t\t\t| propValue | maySee |\r\n\t\t\t| true | see |\r\n\t\t\t| false | don't see |\r\n\t\t\t| | don't see |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario: Users in the top 10 referrers see their leaderboard row highlighted\r\n\t\tGiven a user\r\n\t\tAnd they are in the top 10 referrers\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the row with their name highlighted with brand colour\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: Users not in the top 10 referrers can see their progress at the bottom of the leaderboard\r\n\t\tGiven a user\r\n\t\tAnd they <mayHmayHaveReferralave>\r\n\t\tAnd they are not in the top 10 referrers\r\n\t\tAnd the leaderboard has prop \"show-user\" with <value>\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they <maySee> \"...\" under the top 10 referrers\r\n\t\tAnd under \"...\" they <maySee> a row highlighted with brand colour\r\n\t\tAnd they <maySee> their name\r\n\t\tAnd they <maySee> their referral count\r\n\t\tAnd they <maySeeRank>\r\n\t\tExamples:\r\n\t\t\t| mayHaveReferral | value | maySee | maySeeRank |\r\n\t\t\t| have referrals | true | see | see their rank |\r\n\t\t\t| don't have referrals | true | see | don't see their rank |\r\n\t\t\t| | false | don't see | don't see their rank |\r\n\t\t\t| have referrals | | see | see their rank |\r\n\r\n\t@minutiae\r\n\tScenario: Users without names are displayed as an \"Anonymous User\"\r\n\t\tGiven a user\r\n\t\tAnd they do not have a first name\r\n\t\tAnd they do not have a last initial\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the user displayed as \"Anonymous User\"";
1759
+ const scenario$4 = "@owner:noah\r\n@author:noah\r\nFeature: Leaderboard\r\n\r\n\tThe leaderboard displays the top referrers along with their scores\r\n\r\n\t@motivating\r\n\tScenario Outline: The leaderboard can be for referrals started or converted\r\n\t\tGiven a leaderboard is configured with \"leaderboard-type\" <value>\r\n\t\tAnd a user with started referrals\r\n\t\tAnd a user with converted referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen then only <referralType> referrals are counted in the leaderboard\r\n\t\tExamples:\r\n\t\t\t| value | referralType |\r\n\t\t\t| topStartedReferrers | started |\r\n\t\t\t| topConvertedReferrers | converted |\r\n\t\t\t| | started |\r\n\r\n\t@motivating\r\n\tScenario: If there are any users with referrals the leaderboard is shown\r\n\t\tGiven there is aleast one user\r\n\t\tThen the leaderboard displays up to 10 top referrers\r\n\t\tAnd leaderboard is ordered by the referrers score in descending ordered\r\n\r\n\t@motivating\r\n\tScenario: The leaderboard can filter referrals within an time interval\r\n\t\tGiven a leaderboard is configured with \"interval\" \"2021-11-02T07:00:00.000Z/2021-11-07T07:00:00.000Z\"\r\n\t\tAnd a user with referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen only referrals from within \"2021-11-02T07:00:00.000Z/2021-11-07T07:00:00.000Z\" are counted in the leaderboard\r\n\r\n\t@motivating\r\n\tScenario Outline: Rank Type can be configured\r\n\t\tGiven a leaderboard is configured with \"rank-type\" <value>\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen their leaderboard rank is their <rank>\r\n\t\tExamples:\r\n\t\t\t| value | rank |\r\n\t\t\t| rowNumber | row number |\r\n\t\t\t| denseRank | dense rank |\r\n\t\t\t| rank | rank |\r\n\t\t\t| | row number |\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: An empty state is displayed if no users\r\n\t\tGiven a user\r\n\t\tBut no users have made any referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen an empty state is dislayed\r\n\t\tAnd they see an image of a leaderboard\r\n\t\tAnd below they see \"View your rank in the leaderboard\"\r\n\t\tAnd below they see \"Be the first to refer a friend and reach the top of the leaderboard\"\r\n\t\tAnd the text is center aligned\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: A custom empty state can be provided\r\n\t\tGiven a user\r\n\t\tBut no users have made any referrals\r\n\t\tWhen they view the leaderboard\r\n\t\tThen the contents of the \"empty\" slot are displayed\r\n\r\n\t@minutiae\r\n\t@ui\r\n\tScenario: Leaderboard headings can be customized\r\n\t\tGiven a leaderboard\r\n\t\tAnd it has the following props\r\n\t\t\t| prop | value |\r\n\t\t\t| rankheading | Place |\r\n\t\t\t| usersheading | Customer |\r\n\t\t\t| statsheading | Referral Count |\r\n\t\t\t| show-rank | true |\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the following columns with headings\r\n\t\t\t| column | heading |\r\n\t\t\t| rank | Place |\r\n\t\t\t| user | Customer |\r\n\t\t\t| stat | Referral Count |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: Rank can be hidden or shown\r\n\t\tGiven a leaderboard\r\n\t\tAnd it has prop \"show-rank\" with <propValue>\r\n\t\tAnd a user\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they <maySee> the rank column\r\n\t\tExamples:\r\n\t\t\t| propValue | maySee |\r\n\t\t\t| true | see |\r\n\t\t\t| false | don't see |\r\n\t\t\t| | don't see |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario: Users in the top 10 referrers see their leaderboard row highlighted\r\n\t\tGiven a user\r\n\t\tAnd they are in the top 10 referrers\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the row with their name highlighted with brand colour\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: Users not in the top 10 referrers can see their progress at the bottom of the leaderboard\r\n\t\tGiven a user\r\n\t\tAnd they <mayHmayHaveReferralave>\r\n\t\tAnd they are not in the top 10 referrers\r\n\t\tAnd the leaderboard has prop \"show-user\" with <value>\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they <maySee> \"...\" under the top 10 referrers\r\n\t\tAnd under \"...\" they <maySee> a row highlighted with brand colour\r\n\t\tAnd they <maySee> their name\r\n\t\tAnd they <maySee> their referral count\r\n\t\tAnd they <maySeeRank>\r\n\t\tExamples:\r\n\t\t\t| mayHaveReferral | value | maySee | maySeeRank |\r\n\t\t\t| have referrals | true | see | see their rank |\r\n\t\t\t| don't have referrals | true | see | don't see their rank |\r\n\t\t\t| | false | don't see | don't see their rank |\r\n\t\t\t| have referrals | | see | see their rank |\r\n\r\n\t@minutiae\r\n\tScenario: Users without names are displayed as an \"Anonymous User\"\r\n\t\tGiven a user\r\n\t\tAnd they do not have a first name\r\n\t\tAnd they do not have a last initial\r\n\t\tWhen they view the leaderboard\r\n\t\tThen they see the user displayed as \"Anonymous User\"";
1760
1760
 
1761
1761
  const Leaderboard_stories = {
1762
1762
  title: "Components/Leaderboard",
@@ -2661,7 +2661,7 @@ function setupGraphQL$3() {
2661
2661
  }, []);
2662
2662
  }
2663
2663
  const View = (statType, format) => {
2664
- console.log(`View("${statType}") - CALLED`);
2664
+ // console.log(`View("${statType}") - CALLED`);
2665
2665
  setupGraphQL$3();
2666
2666
  return (h("div", null,
2667
2667
  h("b", null, "Stat format:"),
@@ -2869,7 +2869,7 @@ const View$1 = (overrideProps) => {
2869
2869
  ...overrideProps,
2870
2870
  };
2871
2871
  const { leaderboardType, rankType } = props;
2872
- console.log(`View("${leaderboardType}") - CALLED`, { ...props });
2872
+ // console.log(`View("${leaderboardType}") - CALLED`, { ...props });
2873
2873
  return (h("div", { style: { marginBottom: "20px" } },
2874
2874
  h("sqm-divided-layout", { direction: "row" },
2875
2875
  h("div", { style: { padding: "10px" } },
@@ -2951,7 +2951,7 @@ const DemoHookEmpty = createHookStory(() => {
2951
2951
  anonymousUser: "Anonymous User",
2952
2952
  showRank: true,
2953
2953
  },
2954
- }
2954
+ },
2955
2955
  } },
2956
2956
  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" })));
2957
2957
  });
@@ -5519,7 +5519,7 @@ const FullRewardsTable = () => {
5519
5519
  prevLabel: "Prev",
5520
5520
  moreLabel: "View More",
5521
5521
  },
5522
- hiddenColumns: "",
5522
+ hiddenColumns: "1",
5523
5523
  mdBreakpoint: 899,
5524
5524
  smBreakpoint: 599,
5525
5525
  },
@@ -5801,7 +5801,7 @@ function cartesian(...args) {
5801
5801
 
5802
5802
  const scenarioTaskCard = "@author:derek\r\n@owner:kutay\r\nFeature: Task Card\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario: A header, body title and a CTA button are always displayed\r\n\t\tGiven the Task Card is configured with the following props\r\n\t\t\t| prop | value |\r\n\t\t\t| rewardAmount | \"40\" |\r\n\t\t\t| rewardUnit | \"Points\" |\r\n\t\t\t| cardTitle | Complete a survey |\r\n\t\t\t| buttonText | Take Survey |\r\n\t\tWhen a user views the Task Card\r\n\t\tThen they see \"40 Points\" as the heading\r\n\t\tAnd the \"40\" is bolded\r\n\t\tAnd they see \"Complete a survey\" bolded in the body\r\n\t\tAnd a details icon in the top right hand corner\r\n\t\tAnd a button with text \"Take Survey\" in the bottom right hand corner\r\n\t\tWhen they click the button\r\n\t\tThen they are redirected to \"example.com\" in a new window\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: A Task Card description can be included but is not required\r\n\t\tGiven a Task Card\r\n\t\tAnd it has <descriptionPropValue>\r\n\t\tWhen a user views the Task card\r\n\t\tThen they <maySee> a chevron icon in the top right\r\n\t\tWhen they attempt to click the chevron\r\n\t\tThen they <maySee> the card description\r\n\t\tExamples:\r\n\t\t\t| descriptionPropValue | maySee |\r\n\t\t\t| This is my task card description | see |\r\n\t\t\t| | don't see |\r\n\r\n\t@motivating\r\n\tScenario Outline: CTA links can open in a new tab or the same tab\r\n\t\tGiven a Task Card\r\n\t\tAnd it has <openNewTabPropValue>\r\n\t\tWhen a user views the Task card\r\n\t\tAnd they click on the CTA\r\n\t\tThen they are redirected to the CTA link in <tab>\r\n\t\tExamples:\r\n\t\t\t| openNewTabPropValue | tab |\r\n\t\t\t| true | a new tab |\r\n\t\t\t| false | the same tab |\r\n\t\t\t| N/A | the same tab |\r\n\r\n\t@minutae\r\n\t@ui\r\n\tScenario: A loading state is displayed while the Task Card is loading\r\n\t\tGiven a Task Card component\r\n\t\tWhen a user views the Task Card\r\n\t\tThen a loading state is displayed\r\n\t\tWhen the Task Card has loaded\r\n\t\tThen the loading state disapears\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The Progress Bar can be shown or hidden but is hidden by default\r\n\t\tGiven a Task Card\r\n\t\tAnd it has <showProgressBarPropValue>\r\n\t\tWhen a user views the Task Card\r\n\t\tThen the progress bar <mayBe> displayed\r\n\t\tExamples:\r\n\t\t\t| showProgressBarPropValue | mayBe |\r\n\t\t\t| true | is |\r\n\t\t\t| false | isn't |\r\n\t\t\t| N/A | isn't |\r\n\r\n\t@motivating\r\n\tScenario: Clicking the CTA Button can trigger an event to be sent and refresh the widget\r\n\t\tGiven a Task card\r\n\t\tAnd it is configured to send an \"test\" event\r\n\t\tWhen a user views the Task card\r\n\t\tAnd clicks on the CTA\r\n\t\tThen a \"test\" event is sent to SSQT on the users behalf\r\n\t\tAnd the contents of the widget the card is dislayed within are refreshed\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: Tasks can be repeatable or one-time only but are one-time only by default\r\n\t\tGiven a Task Card\r\n\t\tAnd it has <repeatablePropValue>\r\n\t\tAnd a user who has already completed the task\r\n\t\tWhen they view the Task Card\r\n\t\tThen they see a brand colour checkmark icon beside the card heading\r\n\t\tAnd the card <mayBe> brand colour\r\n\t\tAnd the CTA button <mayBe> disabled\r\n\t\tAnd the CTA button <mayBe> grey\r\n\t\tExamples:\r\n\t\t\t| repeatablePropValue | mayBe |\r\n\t\t\t| true | isn't |\r\n\t\t\t| false | is |\r\n\t\t\t| N/A | is |\r\n\r\n\t@motivating\r\n\tScenario Outline: Display duration hides or shows a task\r\n\t\tGiven a Task Card\r\n\t\tAnd it has a \"display-duration\" interval\r\n\t\tWhen a user views the Card on <day>\r\n\t\tThen card <mayBeHidden>\r\n\t\tExamples:\r\n\t\t\t| day | mayBeHidden |\r\n\t\t\t| a day before the interval | is hidden |\r\n\t\t\t| a day during the interval | is not hidden |\r\n\t\t\t| a day after the interval | is hidden |\r\n\r\n\t@motivating\r\n\tScenario: Task Expiries can be configured and disable the CTA after the expiry\r\n\t\tGiven a Task Card\r\n\t\tAnd it has an \"reward-duration\" interval\r\n\t\tWhen a user views the card on <day>\r\n\t\tThen the card <mayBeDisabled>\r\n\t\tAnd it <mayHaveAlert>\r\n\t\tAnd it <mayHaveExpiryText> on the bottom left hand side of the card\r\n\t\tExamples:\r\n\t\t\t| day | mayBeDisabled | mayHaveAlert | mayHaveExpiryText |\r\n\t\t\t| a day before the expiry interval | is disabled | has alert stating the month, date, year and time the task starts | doesn't have expiry text |\r\n\t\t\t| a day during the expiry interval | isn't disabled | doesn't have an alert | has the month, date, year and time the task expires |\r\n\t\t\t| a day after the expiry interval | is disabled | has alert stating the month, date, year and time the task expired | doesn't have expiry text |\r\n\r\n\t@motivating\r\n\tScenario Outline: Task Card dates support localization\r\n\t\tGiven a Task Card\r\n\t\tAnd it's configured with a expiry duration interval\r\n\t\tWhen a user with <locale> views the task card <atTime>\r\n\t\tThen they <seeDate> translated for <locale>\r\n\t\tExamples:\r\n\t\t\t| atTime | locale | seeDate |\r\n\t\t\t| before the interval | en | Task Start Date |\r\n\t\t\t| during the interval | en | Task End Date |\r\n\t\t\t| after the interval | en | Task Ended Date |\r\n\t\t\t| before the interval | fr | Task Start Date |\r\n\t\t\t| during the interval | fr | Task End Date |\r\n\t\t\t| after the interval | fr | Task Ended Date |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: A task completion count is displayed for repeatable tasks\r\n\t\tGiven a Task Card\r\n\t\tAnd it is configured for a repeatable task\r\n\t\tAnd has it has <goalValue>\r\n\t\tAnd a user with <userGoalProgress>\r\n\t\tWhen the user views the task card\r\n\t\tThen they see a repeat icon\r\n\t\tAnd the <text> in the bottom left hand corner\r\n\t\tAnd the <text> is brand colour\r\n\t\tExamples:\r\n\t\t\t| goalValue | userGoalProgress | text |\r\n\t\t\t| 2 | 0 | Completed 0 times |\r\n\t\t\t| 2 | 1 | Completed 0 times |\r\n\t\t\t| 2 | 2 | Completed 1 times |\r\n\t\t\t| 2 | 4 | Completed 2 times |\r\n\r\n\t@motivating\r\n\tScenario Outline: The source of a user's progress can be a custom field or a program goal\r\n\t\tGiven a Task Card\r\n\t\tAnd it is configured <progressSourcePath>\r\n\t\tWhen a user views the Task card\r\n\t\tThen the value at <progressSourcePath> is used to benchmark their progress against the \"Goal Completion Count\"\r\n\t\tExamples:\r\n\t\t\t| progressSourcePath |\r\n\t\t\t| /customFields/activityCount |\r\n\t\t\t| /customFields/purchaseTotal |\r\n\t\t\t| /programGoals/count%2FComment-on-Article |\r\n\t\t\t| /programGoals/count/Referral-Started%2Freferrals |\r\n\r\n\t@motivating\r\n\tScenario Outline: The users completion of a goal is calculated by the Goal Completion Number\r\n\t\tGiven a Task Card\r\n\t\tAnd it is configured for <goalValue>\r\n\t\tAnd a user who has <progressValue>\r\n\t\tWhen they view the Task Card\r\n\t\tThen they are shown to have <progressValue> towards <goalValue>\r\n\t\tWhen their progress grows larger than <goalValue>\r\n\t\tThen the task is marked as completed\r\n\t\tExamples:\r\n\t\t\t| goalValue | progressValue |\r\n\t\t\t| 1 | 0 |\r\n\t\t\t| 10 | 9 |\r\n\t\t\t| 5 | 2 |\r\n\r\n\t@motivating\r\n\tScenario: The Goal Completion Number defaults to 1\r\n\t\tGiven a Task Card without a configured \"goal\" value\r\n\t\tAnd a user who has <progressValue>\r\n\t\tWhen they view the Task Card\r\n\t\tThen it <mayBe> marked as completed\r\n\t\tExamples:\r\n\t\t\t| progressValue | mayBe |\r\n\t\t\t| 0 | isn't |\r\n\t\t\t| 1 | is |\r\n\t\t\t| 2 | is |";
5803
5803
 
5804
- const scenarioProgressBar = "@author:kutay\r\n@owner:kutay\r\nFeature: Task Card Progress Bar\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The progress bar displays a continuous bar with the goal represented by a present\r\n\t\tGiven a Task Card component\r\n\t\tAnd the users progress is <progress>\r\n\t\tAnd the task goal is \"500\"\r\n\t\tAnd the task is not repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> shows <progress> with <unit> on the right\r\n\t\tAnd the circle on the progress bar is brand colour\r\n\t\tAnd the line behind the circle is brand colour\r\n\t\tAnd the line infront of the circle is grey\r\n\t\tAnd the gift icon has <color>\r\n\t\tAnd the gift icon shows \"500\" with <unit> below\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | unit | color |\r\n\t\t\t| 0 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 100 | ―――●―――――――――――――――🎁 | $ | no |\r\n\t\t\t| 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 650 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 1200 | ―――――――――――――――――――🎁 | $ | yes |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The progress bar can be displayed with steps instead of a continuous line\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"5\"\r\n\t\tAnd steps are enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> has incrementing steps up to \"5\" in increments of 1\r\n\t\tAnd the steps behind the users progress are brand colour\r\n\t\tAnd the steps infront of the users progress are grey\r\n\t\tAnd the gift icon has <color>\r\n\t\tAnd the gift icon shows \"5\" below\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | color |\r\n\t\t\t| 0 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 1 | ―――●―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 5 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\t\t\t| 7 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\t\t\t| 12 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The continuous progress bar will continue to progress for repeatable rewards\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"500\"\r\n\t\tAnd it is repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> shows <progress> with <unit> to the right\r\n\t\tAnd the first <icon1> is <color1> with <text1> displayed below\r\n\t\tAnd the second <icon2> is <color2> with <text2> displayed below\r\n\t\tAnd the third <icon3> is <color3> with <text3> displayed below\r\n\t\tAnd the circle on the progress bar is brand colour\r\n\t\tAnd the line behind the circle is brand colour\r\n\t\tAnd the line infront of the circle is grey\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | unit | icon1 | color1 | text1 | icon2 | color2 | text 2 | icon3 | color3 | text 3 |\r\n\t\t\t| 250 | ――――●――――🎁―――――――🎁 | $ | NA | NA | NA | gift | greyscale | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 500 | ―――――――――🎁―――――――🎁 | $ | NA | NA | NA | gift | colorful | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 750 | ―――――――――🎁―――●―――🎁 | $ | NA | NA | NA | gift | colorful | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 1000 | 🎁―――――――🎁―――――――🎁 | $ | gift | colorful | 500 | gift | colorful | 1000 | gift | greyscale | 1500 |\r\n\t\t\t| 1250 | 🎁―――――――🎁―――●―――🎁 | $ | gift | colorful | 500 | gift | colorful | 1000 | gift | greyscale | 1500 |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The stepped progress bar will continue to progress for repeatable rewards\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"5\"\r\n\t\tAnd steps are enabled\r\n\t\tAnd it is repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> has incrementing steps up to \"5\" in increments of 1\r\n\t\tAnd the first <icon1> is <color1>\r\n\t\tAnd the second <icon2> is <color2>\r\n\t\tAnd the third <icon3> is <color3>\r\n\t\tAnd the steps behind the users progress are brand colour\r\n\t\tAnd the steps infront of the users progress are grey\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | icon1 | color1 | icon2 | color2 | icon3 | color3 |\r\n\t\t\t| 0 | ―――○―○―○―○―🎁―○―○―○―○―🎁 | NA | NA | gift | greyscale | gift | greyscale |\r\n\t\t\t| 1 | ―――●―○―○―○―🎁―○―○―○―○―🎁 | NA | NA | gift | greyscale | gift | greyscale |\r\n\t\t\t| 5 | ―――●―●―●―●―🎁―○―○―○―○―🎁 | NA | NA | gift | colorful | gift | greyscale |\r\n\t\t\t| 7 | ―――●―●―●―●―🎁―●―●―○―○―🎁 | NA | NA | gift | colorful | gift | greyscale |\r\n\t\t\t| 12 | 🎁―●―●―●―●―🎁―●―●―○―○―🎁 | gift | colorful | gift | colorful | gift | greyscale |";
5804
+ const scenarioProgressBar = "@author:kutay\r\n@owner:kutay\r\nFeature: The progress bar can be shown as a continuous line with progress and end goal. \r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The progress bar displays a continuous bar with the goal represented by a present\r\n\t\tGiven a Task Card component\r\n\t\tAnd the users progress is <progress>\r\n\t\tAnd the task goal is \"500\"\r\n\t\tAnd the task is not repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> shows <progress> with <unit> on the right\r\n\t\tAnd the circle on the progress bar is brand colour\r\n\t\tAnd the line behind the circle is brand colour\r\n\t\tAnd the line infront of the circle is grey\r\n\t\tAnd the gift icon has <color>\r\n\t\tAnd the gift icon shows \"500\" with <unit> below\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | unit | color |\r\n\t\t\t| 0 | ●――――――――――――――――――🎁 | $ | no |\r\n\t\t\t| 100 | ―――●―――――――――――――――🎁 | $ | no |\r\n\t\t\t| 500 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 650 | ―――――――――――――――――――🎁 | $ | yes |\r\n\t\t\t| 1200 | ―――――――――――――――――――🎁 | $ | yes |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The progress bar can be displayed with steps instead of a continuous line\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"5\"\r\n\t\tAnd steps are enabled\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> has incrementing steps up to \"5\" in increments of 1\r\n\t\tAnd the steps behind the users progress are brand colour\r\n\t\tAnd the steps infront of the users progress are grey\r\n\t\tAnd the gift icon has <color>\r\n\t\tAnd the gift icon shows \"5\" below\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | color |\r\n\t\t\t| 0 | ―――○―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 1 | ―――●―――○―――○―――○―――🎁 | no |\r\n\t\t\t| 5 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\t\t\t| 7 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\t\t\t| 12 | ―――●―――●―――●―――●―――🎁 | yes |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The continuous progress bar will continue to progress for repeatable rewards\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"500\"\r\n\t\tAnd it is repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> shows <progress> with <unit> to the right\r\n\t\tAnd the first <icon1> is <color1> with <text1> displayed below\r\n\t\tAnd the second <icon2> is <color2> with <text2> displayed below\r\n\t\tAnd the third <icon3> is <color3> with <text3> displayed below\r\n\t\tAnd the circle on the progress bar is brand colour\r\n\t\tAnd the line behind the circle is brand colour\r\n\t\tAnd the line infront of the circle is grey\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | unit | icon1 | color1 | text1 | icon2 | color2 | text 2 | icon3 | color3 | text 3 |\r\n\t\t\t| 250 | ――――●――――🎁―――――――🎁 | $ | NA | NA | NA | gift | greyscale | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 500 | ―――――――――🎁―――――――🎁 | $ | NA | NA | NA | gift | colorful | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 750 | ―――――――――🎁―――●―――🎁 | $ | NA | NA | NA | gift | colorful | 500 | gift | greyscale | 1000 |\r\n\t\t\t| 1000 | 🎁―――――――🎁―――――――🎁 | $ | gift | colorful | 500 | gift | colorful | 1000 | gift | greyscale | 1500 |\r\n\t\t\t| 1250 | 🎁―――――――🎁―――●―――🎁 | $ | gift | colorful | 500 | gift | colorful | 1000 | gift | greyscale | 1500 |\r\n\r\n\t@motivating\r\n\t@ui\r\n\tScenario Outline: The stepped progress bar will continue to progress for repeatable rewards\r\n\t\tGiven a Task Card component\r\n\t\tAnd the user progress is <progress>\r\n\t\tAnd the goal is \"5\"\r\n\t\tAnd steps are enabled\r\n\t\tAnd it is repeatable\r\n\t\tThen I have <progressBar>\r\n\t\tAnd the <progressBar> has incrementing steps up to \"5\" in increments of 1\r\n\t\tAnd the first <icon1> is <color1>\r\n\t\tAnd the second <icon2> is <color2>\r\n\t\tAnd the third <icon3> is <color3>\r\n\t\tAnd the steps behind the users progress are brand colour\r\n\t\tAnd the steps infront of the users progress are grey\r\n\t\tExamples:\r\n\t\t\t| progress | progressBar | icon1 | color1 | icon2 | color2 | icon3 | color3 |\r\n\t\t\t| 0 | ―――○―○―○―○―🎁―○―○―○―○―🎁 | NA | NA | gift | greyscale | gift | greyscale |\r\n\t\t\t| 1 | ―――●―○―○―○―🎁―○―○―○―○―🎁 | NA | NA | gift | greyscale | gift | greyscale |\r\n\t\t\t| 5 | ―――●―●―●―●―🎁―○―○―○―○―🎁 | NA | NA | gift | colorful | gift | greyscale |\r\n\t\t\t| 7 | ―――●―●―●―●―🎁―●―●―○―○―🎁 | NA | NA | gift | colorful | gift | greyscale |\r\n\t\t\t| 12 | 🎁―●―●―●―●―🎁―●―●―○―○―🎁 | gift | colorful | gift | colorful | gift | greyscale |";
5805
5805
 
5806
5806
  const ResizerStylesheet = `
5807
5807
 
@@ -10365,7 +10365,7 @@ const rewardsData$1 = {
10365
10365
  id: "61c100117a82a376d8804166",
10366
10366
  type: "CREDIT",
10367
10367
  value: 19,
10368
- unit: "TESTUNIT",
10368
+ unit: "Points",
10369
10369
  name: null,
10370
10370
  dateGiven: 1640038417468,
10371
10371
  meta: { message: "***CUSTOMER NOTE MESSAGE***" },
@@ -10397,7 +10397,7 @@ const RewardsCellCreditSingle = () => {
10397
10397
  return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...singleRedeemed } }));
10398
10398
  };
10399
10399
  const RewardsCellCreditFull = () => {
10400
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1 }, availableText: "19 Points remaining" }));
10400
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1 }, availableText: "{availableAmount} remaining" }));
10401
10401
  };
10402
10402
  const partial = {
10403
10403
  prettyAvailableValue: "10 Points",
@@ -10406,16 +10406,16 @@ const partial = {
10406
10406
  dateRedeemed: 1640038417468,
10407
10407
  };
10408
10408
  const RewardsCellCreditPartial = () => {
10409
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...partial }, availableText: "10 Points remaining" }));
10409
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...partial }, availableText: "{availableAmount} remaining" }));
10410
10410
  };
10411
10411
  const RewardsCellCreditCancelled = () => {
10412
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...cancelled }, redeemedText: "0 Points redeemed" }));
10412
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...cancelled }, redeemedText: "{redeemedAmount} redeemed" }));
10413
10413
  };
10414
10414
  const RewardsCellCreditExpired = () => {
10415
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...partial, ...expired }, redeemedText: "9 Points redeemed" }));
10415
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...partial, ...expired }, redeemedText: "{redeemedAmount} redeemed" }));
10416
10416
  };
10417
10417
  const RewardsCellCreditPending = () => {
10418
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...partial, ...pending }, availableText: "9 Points redeemed" }));
10418
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...pending }, availableText: "{availableAmount} remaining" }));
10419
10419
  };
10420
10420
  const empty = {
10421
10421
  prettyAvailableValue: "0 Points",
@@ -10425,7 +10425,7 @@ const empty = {
10425
10425
  dateRedeemed: 1640038417468,
10426
10426
  };
10427
10427
  const RewardsCellCreditRedeemed = () => {
10428
- return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...empty }, availableText: "0 Points remaining" }));
10428
+ return (h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...empty }, availableText: "{availableAmount} remaining" }));
10429
10429
  };
10430
10430
  const singleRedeemed = {
10431
10431
  prettyValue: "1 Point",
@@ -10437,7 +10437,7 @@ const longName = {
10437
10437
  };
10438
10438
  const RewardsCellCreditLong = () => {
10439
10439
  return (h("div", { style: { maxWidth: "222px" } },
10440
- h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...longName }, availableText: "19 Points with a really really super duper longest name ever in the world wide web remaining" })));
10440
+ h("sqm-rewards-table-reward-cell", { reward: { ...rewardsData$1, ...longName }, availableText: "{availableAmount} remaining" })));
10441
10441
  };
10442
10442
  const RewardsCellNonCredit = () => {
10443
10443
  return (h("sqm-rewards-table-reward-cell", { reward: {
@@ -10452,7 +10452,7 @@ const RewardsCellFueltank = () => {
10452
10452
  type: "FUELTANK",
10453
10453
  prettyValue: "Fueltank Reward",
10454
10454
  fuelTankCode: "AFUELTANKCODE",
10455
- }, fueltankText: "Your code:", copyText: "Copied" }));
10455
+ }, copyText: "Copied" }));
10456
10456
  };
10457
10457
  const RewardsCellFueltankLong = () => {
10458
10458
  return (h("div", { style: { maxWidth: "222px" } },
@@ -10461,7 +10461,7 @@ const RewardsCellFueltankLong = () => {
10461
10461
  type: "FUELTANK",
10462
10462
  prettyValue: "Long Fueltank Reward",
10463
10463
  fuelTankCode: "AFUELTANKCODE123456789123456789123456789123456789",
10464
- }, fueltankText: "Your code:", copyText: "Copied" })));
10464
+ }, copyText: "Copied" })));
10465
10465
  };
10466
10466
  const SourceCellManual = () => {
10467
10467
  return (h("sqm-rewards-table-source-cell", { reward: rewardsData$1, rewardSourceText: "Manual" }));
@@ -10656,7 +10656,7 @@ const RewardsTableCell = /*#__PURE__*/Object.freeze({
10656
10656
  EmptyCell: EmptyCell$2
10657
10657
  });
10658
10658
 
10659
- const scenario$p = "@owner:sam\r\n@author:sam\r\nFeature: Rewards Table\r\n\r\n Shows a list of rewards as a table\r\n\r\n @motivating\r\n @ui\r\n Scenario: The empty state is shown if there are no rewards\r\n Given a user with rewards\r\n When they view the reward table\r\n Then no rewards are displayed\r\n And they see an image with a user icon\r\n And \"View your rewards\" in bold\r\n And \"See all the rewards you have earned from referring friends and completing tasks\" below the bolded text\r\n And the pagination buttons are disabled\r\n\r\n @minutae\r\n @ui\r\n Scenario: A custom empty state can be provided\r\n Given a user with no rewards\r\n And a custom empty state has been supplied in the \"empty\" slot\r\n When they view the reward table\r\n Then they see the custom empty state\r\n\r\n @minutae\r\n @ui\r\n Scenario: The loading state is shown while rewards are loading\r\n Given the table is loading\r\n Then the loading state is shown in the table\r\n And a custom loading state can be supplied in the \"loading\" slot\r\n And the pagination buttons are disabled\r\n\r\n @motivating\r\n @ui\r\n Scenario Outline: The table becomes paginated when the number of rewards exceeds the per page limit\r\n Given the user has <number of rewards>\r\n And the table is configured to show <page limit> rewards per page\r\n Then the table will have <number of pages> page(s)\r\n And pagination buttons will allow users to navigate between pages\r\n And the pagination button to go to the next page is disabled on the last page of rewards\r\n And the pagination button to go to the previous page is disabled on the first page of rewards\r\n Examples:\r\n | number of rewards | page limit | number of pages |\r\n | 0 | 4 | 1 |\r\n | 1 | 4 | 1 |\r\n | 3 | 4 | 1 |\r\n | 5 | 4 | 2 |\r\n | 42 | 4 | 11 |\r\n\r\n @motivating\r\n @ui\r\n Scenario: The table converts to a card view on tablet and mobile window sizes\r\n Given a user with rewards\r\n When they view the table\r\n And their window size is smaller than \"899px\"\r\n Then rewards are displayed as cards\r\n And they are in two columns\r\n When their window size is smaller than \"634px\"\r\n Then the rewards are displayed as cards in a singular column\r\n\r\n @motivating\r\n @ui\r\n Scenario: Table and Mobile beakpoints can be configured\r\n Given the reward table has been configured with the following props\r\n | prop | value |\r\n | smBreakpoint | 599 |\r\n | mdBreakpoint | 799 |\r\n And a user with rewards\r\n When they view the table\r\n And their window size is smaller than \"799px\"\r\n Then rewards are displayed as cards\r\n And they are in two columns\r\n When their window size is smaller than \"599px\"\r\n Then the rewards are displayed as cards in a singular column\r\n\r\n @motivating\r\n @ui\r\n Scenario Outline: By default the first column heading is hidden in mobile\r\n Given a reward table with 4 columns\r\n And prop \"hidden-columns\" with <hideColumnValue>\r\n And a user with rewards\r\n When they view the reward table\r\n And their window size is below the tablet breakpoint\r\n Then reward cards are displayed\r\n And the titles of <columnsArehidden> within the card\r\n Examples:\r\n | hideColumnValue | columnsArehidden |\r\n | | the first column |\r\n | 0,1,2 | the first, second and third columns |\r\n | 3 | the fourth column |\r\n\r\n @motivating\r\n Scenario: Only rewards which occured in the program specific by \"program-id\" are shown\r\n Given the table is configured with \"program-id\"\r\n Then only rewards from the program with \"program-id\" are shown\r\n\r\n @landmine\r\n Scenario: Classic program rewards can't be filtered for\r\n There is no easy way for the backend to filter for \"classic\" programs,\r\n since it only allows filtering my \"programId: null\"\r\n and that returns manual rewards and reward exchanges\r\n\r\n Given the \"program-id\" of the table is set to \"classic\"\r\n Then there is an error shown\r\n\r\n @minutae\r\n @ui\r\n Scenario: Column heading can be hidden\r\n Given the table is configured with \"show-labels\" set to false\r\n Then the table is displayed without column headings";
10659
+ const scenario$p = "@owner:sam\r\n@author:sam\r\nFeature: Rewards Table\r\n\r\n Shows a list of rewards as a table\r\n\r\n @motivating\r\n @ui\r\n Scenario: The empty state is shown if there are no rewards\r\n Given a user with rewards\r\n When they view the reward table\r\n Then no rewards are displayed\r\n And they see an image with a user icon\r\n And \"View your rewards\" in bold\r\n And \"See all the rewards you have earned from referring friends and completing tasks\" below the bolded text\r\n And the pagination buttons are disabled\r\n\r\n @minutae\r\n @ui\r\n Scenario: A custom empty state can be provided\r\n Given a user with no rewards\r\n And a custom empty state has been supplied in the \"empty\" slot\r\n When they view the reward table\r\n Then they see the custom empty state\r\n\r\n @minutae\r\n @ui\r\n Scenario: The loading state is shown while rewards are loading\r\n Given the table is loading\r\n Then the loading state is shown in the table\r\n And a custom loading state can be supplied in the \"loading\" slot\r\n And the pagination buttons are disabled\r\n\r\n @motivating\r\n @ui\r\n Scenario Outline: The table becomes paginated when the number of rewards exceeds the per page limit\r\n Given the user has <number of rewards>\r\n And the table is configured to show <page limit> rewards per page\r\n Then the table will have <number of pages> page(s)\r\n And pagination buttons will allow users to navigate between pages\r\n And the pagination button to go to the next page is disabled on the last page of rewards\r\n And the pagination button to go to the previous page is disabled on the first page of rewards\r\n Examples:\r\n | number of rewards | page limit | number of pages |\r\n | 0 | 4 | 1 |\r\n | 1 | 4 | 1 |\r\n | 3 | 4 | 1 |\r\n | 5 | 4 | 2 |\r\n | 42 | 4 | 11 |\r\n\r\n @motivating\r\n @ui\r\n Scenario: The table converts to a card view on tablet and mobile window sizes\r\n Given a user with rewards\r\n When they view the table\r\n And their window size is smaller than \"899px\"\r\n Then rewards are displayed as cards\r\n And they are in two columns\r\n When their window size is smaller than \"634px\"\r\n Then the rewards are displayed as cards in a singular column\r\n\r\n @motivating\r\n @ui\r\n Scenario: Table and Mobile beakpoints can be configured\r\n Given the reward table has been configured with the following props\r\n | prop | value |\r\n | smBreakpoint | 599 |\r\n | mdBreakpoint | 799 |\r\n And a user with rewards\r\n When they view the table\r\n And their window size is smaller than \"799px\"\r\n Then rewards are displayed as cards\r\n And they are in two columns\r\n When their window size is smaller than \"599px\"\r\n Then the rewards are displayed as cards in a singular column\r\n\r\n @motivating\r\n @ui\r\n Scenario Outline: By default the first column heading is hidden in mobile\r\n Given a reward table with 4 columns\r\n And prop \"hidden-columns\" with <hideColumnValue>\r\n And a user with rewards\r\n When they view the reward table\r\n And their window size is below the tablet breakpoint\r\n Then reward cards are displayed\r\n And the titles of <columnsArehidden> within the card\r\n Examples:\r\n | hideColumnValue | columnsArehidden |\r\n | | the first column |\r\n | 0,1,2 | the first, second and third columns |\r\n | 3 | the fourth column |\r\n\r\n @motivating\r\n Scenario: Only rewards which occured in the program specific by \"program-id\" are shown\r\n Given the table is configured with \"program-id\"\r\n Then only rewards from the program with \"program-id\" are shown\r\n\r\n @landmine\r\n Scenario: When a `classic` program Id is set then any reward without a programId is shown\r\n There is no easy way for the backend to filter for \"classic\" programs,\r\n thus we are filtering for rewards without programId's.\r\n\r\n Given the \"program-id\" of the table is set to \"classic\"\r\n Then rewards from classic programs are shown\r\n And manual rewards are shown\r\n\r\n @minutae\r\n @ui\r\n Scenario: Column heading can be hidden\r\n Given the table is configured with \"show-labels\" set to false\r\n Then the table is displayed without column headings";
10660
10660
 
10661
10661
  const RewardsTable_stories = {
10662
10662
  title: "Components/Rewards Table",
@@ -11434,7 +11434,7 @@ const Scroll_stories = {
11434
11434
  };
11435
11435
  const ScrollTag = () => {
11436
11436
  return (h("div", { style: { position: "relative", height: "2000px" } },
11437
- h("sqm-scroll", { "scroll-tag-name": "sqm-text", "button-text": "Scroll" }),
11437
+ h("sqm-scroll", { "scroll-tag-name": "sqm-text", "button-text": "Scroll", "scroll-animation": "smooth" }),
11438
11438
  h("div", { style: { position: "absolute", bottom: "0" } },
11439
11439
  h("sqm-text", { slot: "label" },
11440
11440
  h("h3", null, "Earn more rewards"),
@@ -11442,7 +11442,15 @@ const ScrollTag = () => {
11442
11442
  };
11443
11443
  const ScrollId = () => {
11444
11444
  return (h("div", { style: { position: "relative", height: "2000px" } },
11445
- h("sqm-scroll", { "button-text": "Scroll", "scroll-id": "my-id" }),
11445
+ h("sqm-scroll", { "button-text": "Scroll", "scroll-id": "my-id", "scroll-animation": "smooth" }),
11446
+ h("div", { style: { position: "absolute", bottom: "0" } },
11447
+ h("sqm-text", { slot: "label", id: "my-id" },
11448
+ h("h3", null, "Earn more rewards"),
11449
+ h("p", null, "Get points while using Klip. Use those points to redeem rewards like one free month of Klip Enterprise or two plane tickets to anywhere in North America")))));
11450
+ };
11451
+ const ScrollAutoAnimation = () => {
11452
+ return (h("div", { style: { position: "relative", height: "2000px" } },
11453
+ h("sqm-scroll", { "button-text": "Scroll", "scroll-id": "my-id", "scroll-animation": "auto" }),
11446
11454
  h("div", { style: { position: "absolute", bottom: "0" } },
11447
11455
  h("sqm-text", { slot: "label", id: "my-id" },
11448
11456
  h("h3", null, "Earn more rewards"),
@@ -11450,7 +11458,7 @@ const ScrollId = () => {
11450
11458
  };
11451
11459
  const ScrollTabGroup = () => {
11452
11460
  return (h("div", { style: { position: "relative", height: "2000px" } },
11453
- h("sqm-scroll", { "button-text": "Redeem rewards", "scroll-id": "tab-3" }),
11461
+ h("sqm-scroll", { "button-text": "Redeem rewards", "scroll-id": "tab-3", "scroll-animation": "smooth" }),
11454
11462
  h("div", { style: { position: "absolute", bottom: "0" }, innerHTML: `
11455
11463
  <sqm-tabs>
11456
11464
  <sqm-tab header="Leaderboard">
@@ -11539,12 +11547,9 @@ const ShoelaceProps = () => {
11539
11547
  h("br", null),
11540
11548
  " ",
11541
11549
  h("hr", null),
11542
- h("h3", null, "Caret:"),
11543
- h("sqm-scroll", { caret: true }, "Button"),
11544
- h("br", null),
11545
- " ",
11546
- h("hr", null),
11547
11550
  h("h3", null, "Icon:"),
11551
+ h("sqm-scroll", { "button-type": "primary", iconName: "facebook" }, "Icon Name"),
11552
+ h("br", null),
11548
11553
  h("sqm-scroll", { iconName: "gear", iconSlot: "prefix" }, "Icon Slot Prefix"),
11549
11554
  h("br", null),
11550
11555
  h("sqm-scroll", { iconName: "gear", iconSlot: "suffix" }, "Icon Slot Suffix"),
@@ -11561,22 +11566,8 @@ const ShoelaceProps = () => {
11561
11566
  h("br", null),
11562
11567
  " ",
11563
11568
  h("hr", null),
11564
- h("h3", null, "Disabled:"),
11565
- h("sqm-scroll", { disabled: true }, "Button"),
11566
- h("br", null),
11567
- " ",
11568
- h("hr", null),
11569
- h("h3", null, "Link:"),
11570
- h("sqm-scroll", { href: "https://example.com/" }, "Link"),
11571
- h("br", null),
11572
- h("sqm-scroll", { href: "https://example.com/", target: "_self" }, "Same Window"),
11573
- h("br", null),
11574
- h("sqm-scroll", { href: "/assets/images/wordmark.svg", download: "shoelace.svg" }, "Download"),
11575
- h("br", null),
11576
- " ",
11577
- h("hr", null),
11578
11569
  h("h3", null, "Mobile Friendly:"),
11579
- h("sqm-scroll", { "mobile-friendly": true }, "Button"),
11570
+ h("sqm-scroll", { mobile: true }, "Button"),
11580
11571
  h("br", null),
11581
11572
  " ",
11582
11573
  h("hr", null)));
@@ -11587,6 +11578,7 @@ const Scroll = /*#__PURE__*/Object.freeze({
11587
11578
  'default': Scroll_stories,
11588
11579
  ScrollTag: ScrollTag,
11589
11580
  ScrollId: ScrollId,
11581
+ ScrollAutoAnimation: ScrollAutoAnimation,
11590
11582
  ScrollTabGroup: ScrollTabGroup,
11591
11583
  ScrollTabGroupInner: ScrollTabGroupInner,
11592
11584
  ShoelaceProps: ShoelaceProps
@@ -0,0 +1 @@
1
+ var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var a,t=1,l=arguments.length;t<l;t++){a=arguments[t];for(var r in a)if(Object.prototype.hasOwnProperty.call(a,r))e[r]=a[r]}return e};return __assign.apply(this,arguments)};import{h}from"./index-17b4da69.js";import{g as gap}from"./mixins-10353a39.js";import{c as createStyleSheet}from"./JSS-96eeab98.js";function GenericTableView(e){var a;var t=e.states,l=e.data,r=e.callbacks,s=e.elements;var n=s.columns,i=s.rows;var o=t.show;var d=l.hiddenColumns&&l.hiddenColumns.split(",").map(Number);var p="@media (max-width: "+l.mdBreakpoint+"px)";var m="@media (min-width: "+(Boolean(i.length<2)?l.mdBreakpoint:l.smBreakpoint)+"px) and (max-width: "+l.mdBreakpoint+"px)";var u={Table:(a={tableLayout:"fixed",width:"100%","& th":{paddingBottom:"var(--sl-spacing-small)",textAlign:"left",fontWeight:"var(--sl-font-weight-semibold)",overflowWrap:"anywhere"},"& tr":{},"& td":{borderTop:"1px solid var(--sl-color-neutral-200)",padding:"var(--sl-spacing-small)",paddingLeft:"0",overflow:"hidden",textOverflow:"ellipsis"}},a[p]={"& thead":{display:"none"},"& tr":{display:"block",background:"#FFFFFF",border:"1px solid var(--sl-color-neutral-200)",boxShadow:"0px 2px 4px rgba(0, 0, 0, 0.1)",borderRadius:"var(--sl-border-radius-large)",padding:"var(--sl-spacing-medium)",fontSize:"var(--sl-font-size-small)",marginBottom:"var(--sl-spacing-large)"},"& td":{display:"grid",borderTop:"none",padding:"0",marginBottom:"var(--sl-spacing-medium)","&:first-child":{textAlign:"left"},"&:before":{content:"attr(data-label)",whiteSpace:"nowrap"},"&:last-child":{marginBottom:"0"},"&.hidden:before":{content:"none"}}},a[m]={"& tbody":{display:"grid",gridTemplateColumns:"0.5fr 0.5fr",gap:"25px"}},a),ButtonContainer:__assign({display:"flex","justify-content":"flex-end","margin-top":"var(--sl-spacing-small)"},gap({direction:"row",size:"var(--sl-spacing-small)"})),ButtonDisabled:{"&::part(base)":{opacity:"0.25"}}};var c=createStyleSheet(u);var b=c.toString();if(o==="empty"){return h("div",null,s.emptyElement)}return h("div",null,h("style",{type:"text/css"},b),h("table",{class:c.classes.Table},l.textOverrides.showLabels&&h("thead",null,h("tr",null,n===null||n===void 0?void 0:n.map((function(e){return h("th",null,e)})))),h("tbody",null,o==="loading"&&s.loadingElement,o==="rows"&&(i===null||i===void 0?void 0:i.map((function(e,a){return h("tr",{style:{borderTop:""+(!l.textOverrides.showLabels&&a===0?"none":"")},part:"table-row"},e.map((function(e,a){return h("td",{class:(d===null||d===void 0?void 0:d.includes(a))?"hidden":"","data-label":n[a]+":",style:{gridTemplateColumns:(d===null||d===void 0?void 0:d.includes(a))?"1fr":"0.5fr 0.5fr"}},e)})))}))))),h("div",{class:c.classes.ButtonContainer,part:t.namespace+"-button-wrapper"},h("sl-button",{size:"small",disabled:!t.hasPrev,loading:o==="loading",onClick:r.prevPage,exportparts:"base: defaultbutton-base",class:!t.hasPrev?c.classes.ButtonDisabled:""},l.textOverrides.prevLabel),h("sl-button",{size:"small",loading:o==="loading",disabled:!t.hasNext,onClick:r.nextPage,exportparts:"base: defaultbutton-base",class:!t.hasNext?c.classes.ButtonDisabled:""},l.textOverrides.moreLabel)))}export{GenericTableView as G};