@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.
- package/dist/cjs/{GenericTableView-f947b749.js → GenericTableView-a69fddb5.js} +4 -2
- package/dist/cjs/{ShadowViewAddon-79dd6c07.js → ShadowViewAddon-b0dc2cbf.js} +14 -19
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mint-components.cjs.js +1 -1
- package/dist/cjs/sqm-big-stat_30.cjs.entry.js +20 -8
- package/dist/cjs/sqm-referral-table_11.cjs.entry.js +1 -2
- package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +9 -12
- package/dist/cjs/sqm-stencilbook.cjs.entry.js +42 -50
- package/dist/collection/components/sqm-big-stat/UseBigStat.stories.js +1 -1
- package/dist/collection/components/sqm-big-stat/useBigStat.js +1 -1
- package/dist/collection/components/sqm-leaderboard/UseLeaderboard.stories.js +2 -2
- package/dist/collection/components/sqm-leaderboard/sqm-leaderboard-view.js +0 -5
- package/dist/collection/components/sqm-referral-table/ReferralTable.stories.js +1 -1
- package/dist/collection/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.js +0 -1
- package/dist/collection/components/sqm-rewards-table/RewardsTableCell.stories.js +10 -10
- package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.js +8 -24
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.js +1 -26
- package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +1 -1
- package/dist/collection/components/sqm-scroll/Scroll.stories.js +14 -23
- package/dist/collection/components/sqm-scroll/sqm-scroll.js +101 -147
- package/dist/collection/components/sqm-share-button/ShareButton.stories.js +8 -8
- package/dist/collection/components/sqm-share-button/sqm-share-button-view.js +13 -13
- package/dist/collection/components/sqm-share-button/sqm-share-button.js +21 -21
- package/dist/collection/components/sqm-task-card/sqm-task-card.js +3 -1
- package/dist/collection/tables/GenericTableView.js +4 -2
- package/dist/esm/{GenericTableView-6b7b537b.js → GenericTableView-042ed0ca.js} +4 -2
- package/dist/esm/{ShadowViewAddon-9c382e30.js → ShadowViewAddon-1c28d584.js} +14 -19
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mint-components.js +1 -1
- package/dist/esm/sqm-big-stat_30.entry.js +20 -8
- package/dist/esm/sqm-referral-table_11.entry.js +1 -2
- package/dist/esm/sqm-rewards-table_9.entry.js +9 -12
- package/dist/esm/sqm-stencilbook.entry.js +42 -50
- package/dist/esm-es5/GenericTableView-042ed0ca.js +1 -0
- package/dist/esm-es5/ShadowViewAddon-1c28d584.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mint-components.js +1 -1
- package/dist/esm-es5/sqm-big-stat_30.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
- package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
- package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/p-46c31936.entry.js +1 -0
- package/dist/mint-components/p-55f3d841.system.js +1 -1
- package/dist/mint-components/{p-e16186c0.system.entry.js → p-660e371f.system.entry.js} +1 -1
- package/dist/mint-components/{p-1cd23e56.system.entry.js → p-6918a207.system.entry.js} +1 -1
- package/dist/mint-components/{p-bb497e73.entry.js → p-920a2900.entry.js} +2 -2
- package/dist/mint-components/p-9a2b9ff8.system.entry.js +1 -0
- package/dist/mint-components/p-a11e1cb1.system.js +1 -0
- package/dist/mint-components/p-b74de10f.js +1 -0
- package/dist/mint-components/p-b7f5d9e7.entry.js +9 -0
- package/dist/mint-components/p-bf49f17f.system.js +1 -0
- package/dist/mint-components/{p-eb61462d.entry.js → p-d79e1aa4.entry.js} +8 -8
- package/dist/mint-components/{p-2c5d7a20.js → p-f017e3da.js} +3 -3
- package/dist/mint-components/{p-e2731437.system.entry.js → p-fa68591b.system.entry.js} +1 -1
- package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.d.ts +0 -1
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.d.ts +0 -4
- package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +1 -1
- package/dist/types/components/sqm-scroll/Scroll.stories.d.ts +1 -0
- package/dist/types/components/sqm-scroll/sqm-scroll.d.ts +56 -8
- package/dist/types/components/sqm-share-button/sqm-share-button-view.d.ts +6 -6
- package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +9 -9
- package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +2 -0
- package/dist/types/components.d.ts +116 -42
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +1 -1
- package/shoelace/assets/icons/123.svg +3 -0
- package/shoelace/assets/icons/activity.svg +3 -0
- package/shoelace/assets/icons/apple.svg +4 -0
- package/shoelace/assets/icons/bandaid-fill.svg +3 -0
- package/shoelace/assets/icons/bandaid.svg +4 -0
- package/shoelace/assets/icons/bank.svg +3 -0
- package/shoelace/assets/icons/bank2.svg +3 -0
- package/shoelace/assets/icons/behance.svg +3 -0
- package/shoelace/assets/icons/bell-slash-fill.svg +3 -0
- package/shoelace/assets/icons/bell-slash.svg +3 -0
- package/shoelace/assets/icons/bluetooth.svg +3 -0
- package/shoelace/assets/icons/body-text.svg +3 -0
- package/shoelace/assets/icons/boombox-fill.svg +4 -0
- package/shoelace/assets/icons/boombox.svg +6 -0
- package/shoelace/assets/icons/boxes.svg +3 -0
- package/shoelace/assets/icons/cash-coin.svg +6 -0
- package/shoelace/assets/icons/check-lg.svg +3 -0
- package/shoelace/assets/icons/cloud-haze2.svg +3 -0
- package/shoelace/assets/icons/coin.svg +5 -0
- package/shoelace/assets/icons/currency-bitcoin.svg +3 -0
- package/shoelace/assets/icons/currency-dollar.svg +3 -0
- package/shoelace/assets/icons/currency-euro.svg +3 -0
- package/shoelace/assets/icons/currency-exchange.svg +3 -0
- package/shoelace/assets/icons/currency-pound.svg +3 -0
- package/shoelace/assets/icons/currency-yen.svg +3 -0
- package/shoelace/assets/icons/dash-lg.svg +3 -0
- package/shoelace/assets/icons/device-hdd-fill.svg +4 -0
- package/shoelace/assets/icons/device-hdd.svg +5 -0
- package/shoelace/assets/icons/device-ssd-fill.svg +4 -0
- package/shoelace/assets/icons/device-ssd.svg +4 -0
- package/shoelace/assets/icons/displayport-fill.svg +3 -0
- package/shoelace/assets/icons/displayport.svg +4 -0
- package/shoelace/assets/icons/dpad-fill.svg +3 -0
- package/shoelace/assets/icons/dpad.svg +4 -0
- package/shoelace/assets/icons/dribbble.svg +3 -0
- package/shoelace/assets/icons/ear-fill.svg +3 -0
- package/shoelace/assets/icons/ear.svg +3 -0
- package/shoelace/assets/icons/easel2-fill.svg +4 -0
- package/shoelace/assets/icons/easel2.svg +3 -0
- package/shoelace/assets/icons/easel3-fill.svg +3 -0
- package/shoelace/assets/icons/easel3.svg +3 -0
- package/shoelace/assets/icons/envelope-check-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-check.svg +4 -0
- package/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-dash.svg +4 -0
- package/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-exclamation.svg +4 -0
- package/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-plus.svg +4 -0
- package/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-slash.svg +4 -0
- package/shoelace/assets/icons/envelope-x-fill.svg +4 -0
- package/shoelace/assets/icons/envelope-x.svg +4 -0
- package/shoelace/assets/icons/ethernet.svg +4 -0
- package/shoelace/assets/icons/exclamation-lg.svg +3 -0
- package/shoelace/assets/icons/explicit-fill.svg +3 -0
- package/shoelace/assets/icons/explicit.svg +4 -0
- package/shoelace/assets/icons/fan.svg +4 -0
- package/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
- package/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
- package/shoelace/assets/icons/file-pdf-fill.svg +4 -0
- package/shoelace/assets/icons/file-pdf.svg +4 -0
- package/shoelace/assets/icons/fingerprint.svg +7 -0
- package/shoelace/assets/icons/gender-ambiguous.svg +3 -0
- package/shoelace/assets/icons/gender-female.svg +3 -0
- package/shoelace/assets/icons/gender-male.svg +3 -0
- package/shoelace/assets/icons/gender-trans.svg +3 -0
- package/shoelace/assets/icons/git.svg +3 -0
- package/shoelace/assets/icons/gpu-card.svg +5 -0
- package/shoelace/assets/icons/graph-down-arrow.svg +3 -0
- package/shoelace/assets/icons/graph-up-arrow.svg +3 -0
- package/shoelace/assets/icons/hdmi-fill.svg +3 -0
- package/shoelace/assets/icons/hdmi.svg +4 -0
- package/shoelace/assets/icons/headset-vr.svg +4 -0
- package/shoelace/assets/icons/hypnotize.svg +4 -0
- package/shoelace/assets/icons/infinity.svg +3 -0
- package/shoelace/assets/icons/info-lg.svg +3 -0
- package/shoelace/assets/icons/line.svg +3 -0
- package/shoelace/assets/icons/list-columns-reverse.svg +3 -0
- package/shoelace/assets/icons/list-columns.svg +3 -0
- package/shoelace/assets/icons/magic.svg +3 -0
- package/shoelace/assets/icons/mastodon.svg +3 -0
- package/shoelace/assets/icons/medium.svg +3 -0
- package/shoelace/assets/icons/memory.svg +3 -0
- package/shoelace/assets/icons/messenger.svg +3 -0
- package/shoelace/assets/icons/meta.svg +3 -0
- package/shoelace/assets/icons/microsoft.svg +3 -0
- package/shoelace/assets/icons/modem-fill.svg +3 -0
- package/shoelace/assets/icons/modem.svg +4 -0
- package/shoelace/assets/icons/mortarboard-fill.svg +4 -0
- package/shoelace/assets/icons/mortarboard.svg +4 -0
- package/shoelace/assets/icons/motherboard-fill.svg +4 -0
- package/shoelace/assets/icons/motherboard.svg +4 -0
- package/shoelace/assets/icons/nintendo-switch.svg +4 -0
- package/shoelace/assets/icons/optical-audio-fill.svg +4 -0
- package/shoelace/assets/icons/optical-audio.svg +5 -0
- package/shoelace/assets/icons/paypal.svg +3 -0
- package/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
- package/shoelace/assets/icons/pc-display.svg +3 -0
- package/shoelace/assets/icons/pc-horizontal.svg +3 -0
- package/shoelace/assets/icons/pc.svg +3 -0
- package/shoelace/assets/icons/pci-card.svg +4 -0
- package/shoelace/assets/icons/person-rolodex.svg +4 -0
- package/shoelace/assets/icons/person-video.svg +4 -0
- package/shoelace/assets/icons/person-video2.svg +4 -0
- package/shoelace/assets/icons/person-video3.svg +4 -0
- package/shoelace/assets/icons/person-workspace.svg +4 -0
- package/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
- package/shoelace/assets/icons/piggy-bank.svg +4 -0
- package/shoelace/assets/icons/pin-map-fill.svg +4 -0
- package/shoelace/assets/icons/pin-map.svg +4 -0
- package/shoelace/assets/icons/pinterest.svg +3 -0
- package/shoelace/assets/icons/playstation.svg +3 -0
- package/shoelace/assets/icons/plus-lg.svg +3 -0
- package/shoelace/assets/icons/plus-slash-minus.svg +3 -0
- package/shoelace/assets/icons/projector-fill.svg +3 -0
- package/shoelace/assets/icons/projector.svg +4 -0
- package/shoelace/assets/icons/qr-code-scan.svg +7 -0
- package/shoelace/assets/icons/qr-code.svg +7 -0
- package/shoelace/assets/icons/question-lg.svg +3 -0
- package/shoelace/assets/icons/quora.svg +3 -0
- package/shoelace/assets/icons/quote.svg +3 -0
- package/shoelace/assets/icons/radioactive.svg +4 -0
- package/shoelace/assets/icons/recycle.svg +3 -0
- package/shoelace/assets/icons/reddit.svg +4 -0
- package/shoelace/assets/icons/robot.svg +4 -0
- package/shoelace/assets/icons/router-fill.svg +6 -0
- package/shoelace/assets/icons/router.svg +6 -0
- package/shoelace/assets/icons/safe-fill.svg +4 -0
- package/shoelace/assets/icons/safe.svg +4 -0
- package/shoelace/assets/icons/safe2-fill.svg +4 -0
- package/shoelace/assets/icons/safe2.svg +4 -0
- package/shoelace/assets/icons/sd-card-fill.svg +3 -0
- package/shoelace/assets/icons/sd-card.svg +4 -0
- package/shoelace/assets/icons/send-check-fill.svg +4 -0
- package/shoelace/assets/icons/send-check.svg +4 -0
- package/shoelace/assets/icons/send-dash-fill.svg +4 -0
- package/shoelace/assets/icons/send-dash.svg +4 -0
- package/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
- package/shoelace/assets/icons/send-exclamation.svg +4 -0
- package/shoelace/assets/icons/send-fill.svg +3 -0
- package/shoelace/assets/icons/send-plus-fill.svg +4 -0
- package/shoelace/assets/icons/send-plus.svg +4 -0
- package/shoelace/assets/icons/send-slash-fill.svg +4 -0
- package/shoelace/assets/icons/send-slash.svg +4 -0
- package/shoelace/assets/icons/send-x-fill.svg +4 -0
- package/shoelace/assets/icons/send-x.svg +4 -0
- package/shoelace/assets/icons/send.svg +3 -0
- package/shoelace/assets/icons/signal.svg +3 -0
- package/shoelace/assets/icons/skype.svg +3 -0
- package/shoelace/assets/icons/slash-lg.svg +3 -0
- package/shoelace/assets/icons/snapchat.svg +3 -0
- package/shoelace/assets/icons/spotify.svg +3 -0
- package/shoelace/assets/icons/stack-overflow.svg +4 -0
- package/shoelace/assets/icons/steam.svg +4 -0
- package/shoelace/assets/icons/strava.svg +3 -0
- package/shoelace/assets/icons/terminal-dash.svg +4 -0
- package/shoelace/assets/icons/terminal-plus.svg +4 -0
- package/shoelace/assets/icons/terminal-split.svg +4 -0
- package/shoelace/assets/icons/terminal-x.svg +4 -0
- package/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
- package/shoelace/assets/icons/thunderbolt.svg +4 -0
- package/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
- package/shoelace/assets/icons/ticket-detailed.svg +4 -0
- package/shoelace/assets/icons/ticket-fill.svg +3 -0
- package/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
- package/shoelace/assets/icons/ticket-perforated.svg +4 -0
- package/shoelace/assets/icons/ticket.svg +3 -0
- package/shoelace/assets/icons/tiktok.svg +3 -0
- package/shoelace/assets/icons/translate.svg +4 -0
- package/shoelace/assets/icons/usb-c-fill.svg +3 -0
- package/shoelace/assets/icons/usb-c.svg +4 -0
- package/shoelace/assets/icons/usb-drive-fill.svg +3 -0
- package/shoelace/assets/icons/usb-drive.svg +3 -0
- package/shoelace/assets/icons/usb-fill.svg +3 -0
- package/shoelace/assets/icons/usb-micro-fill.svg +3 -0
- package/shoelace/assets/icons/usb-micro.svg +4 -0
- package/shoelace/assets/icons/usb-mini-fill.svg +3 -0
- package/shoelace/assets/icons/usb-mini.svg +4 -0
- package/shoelace/assets/icons/usb-plug-fill.svg +3 -0
- package/shoelace/assets/icons/usb-plug.svg +3 -0
- package/shoelace/assets/icons/usb-symbol.svg +3 -0
- package/shoelace/assets/icons/usb.svg +4 -0
- package/shoelace/assets/icons/vimeo.svg +3 -0
- package/shoelace/assets/icons/webcam-fill.svg +4 -0
- package/shoelace/assets/icons/webcam.svg +4 -0
- package/shoelace/assets/icons/window-dash.svg +5 -0
- package/shoelace/assets/icons/window-desktop.svg +4 -0
- package/shoelace/assets/icons/window-fullscreen.svg +4 -0
- package/shoelace/assets/icons/window-plus.svg +5 -0
- package/shoelace/assets/icons/window-split.svg +4 -0
- package/shoelace/assets/icons/window-stack.svg +4 -0
- package/shoelace/assets/icons/window-x.svg +5 -0
- package/shoelace/assets/icons/windows.svg +3 -0
- package/shoelace/assets/icons/wordpress.svg +5 -0
- package/shoelace/assets/icons/x-lg.svg +4 -0
- package/shoelace/assets/icons/xbox.svg +3 -0
- package/shoelace/assets/icons/yin-yang.svg +4 -0
- package/shoelace/themes/themes/dark.styles.d.ts +2 -0
- package/shoelace/themes/themes/dark.styles.js +531 -0
- package/shoelace/themes/themes/light.css +439 -0
- package/shoelace/themes/themes/light.styles.d.ts +2 -0
- package/shoelace/themes/themes/light.styles.js +531 -0
- package/dist/esm-es5/GenericTableView-6b7b537b.js +0 -1
- package/dist/esm-es5/ShadowViewAddon-9c382e30.js +0 -1
- package/dist/mint-components/p-1b71a09e.system.entry.js +0 -1
- package/dist/mint-components/p-3f88f8eb.system.js +0 -1
- package/dist/mint-components/p-45581e0b.entry.js +0 -9
- package/dist/mint-components/p-48161ba8.js +0 -1
- package/dist/mint-components/p-546ee840.entry.js +0 -1
- 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-
|
|
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:
|
|
6748
|
+
display: contents;
|
|
6739
6749
|
}
|
|
6740
|
-
${this.
|
|
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.
|
|
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,
|
|
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.
|
|
6785
|
+
this.iconSlot = "prefix";
|
|
6776
6786
|
/**
|
|
6777
6787
|
* @uiName Hide the icon
|
|
6778
6788
|
*/
|
|
6779
|
-
this.
|
|
6789
|
+
this.hideIcon = false;
|
|
6780
6790
|
/**
|
|
6781
6791
|
* @uiName Hide the text
|
|
6782
6792
|
*/
|
|
6783
|
-
this.
|
|
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-
|
|
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-
|
|
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
|
|
581
|
-
parseFloat(reward.prettyRedeemedNumber)
|
|
582
|
-
|
|
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.
|
|
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,
|
|
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-
|
|
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-
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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
|
-
|
|
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
|
-
|
|
1504
|
-
|
|
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\
|
|
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:
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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, ...
|
|
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: "
|
|
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: "
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
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", {
|
|
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};
|