@saasquatch/mint-components 1.5.0-124 → 1.5.0-125

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.
@@ -223,6 +223,7 @@ function useRewardsTable(props, emptyElement, loadingElement) {
223
223
  const locale = index_module.An();
224
224
  // Default to context, overriden by props
225
225
  const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
226
+ console.log({ programId, programIdContext });
226
227
  const rewardFilter = {
227
228
  userId_eq: user === null || user === void 0 ? void 0 : user.id,
228
229
  accountId_eq: user === null || user === void 0 ? void 0 : user.accountId,
@@ -3254,11 +3254,12 @@ const RewardsTableEn = createHookStory(() => {
3254
3254
  id: "samenglish",
3255
3255
  });
3256
3256
  index_module.A(undefined);
3257
- return (index.h("sqm-rewards-table", { "per-page": "4" },
3258
- index.h("sqm-rewards-table-reward-column", null),
3259
- index.h("sqm-rewards-table-status-column", null),
3260
- index.h("sqm-rewards-table-source-column", null),
3261
- index.h("sqm-rewards-table-date-column", null)));
3257
+ return (index.h("sqb-program-section", null,
3258
+ index.h("sqm-rewards-table", { "per-page": "4" },
3259
+ index.h("sqm-rewards-table-reward-column", null),
3260
+ index.h("sqm-rewards-table-status-column", null),
3261
+ index.h("sqm-rewards-table-source-column", null),
3262
+ index.h("sqm-rewards-table-date-column", null))));
3262
3263
  });
3263
3264
  const RewardsTableTr = createHookStory(() => {
3264
3265
  setupGraphQLKlip({
@@ -105,11 +105,12 @@ export const RewardsTableEn = createHookStory(() => {
105
105
  disconnectedCallback: () => { },
106
106
  ignored: true,
107
107
  };
108
- return (h("sqm-rewards-table", { "per-page": "4" },
109
- h("sqm-rewards-table-reward-column", null),
110
- h("sqm-rewards-table-status-column", null),
111
- h("sqm-rewards-table-source-column", null),
112
- h("sqm-rewards-table-date-column", null)));
108
+ return (h("sqb-program-section", null,
109
+ h("sqm-rewards-table", { "per-page": "4" },
110
+ h("sqm-rewards-table-reward-column", null),
111
+ h("sqm-rewards-table-status-column", null),
112
+ h("sqm-rewards-table-source-column", null),
113
+ h("sqm-rewards-table-date-column", null))));
113
114
  });
114
115
  export const RewardsTableTr = createHookStory(() => {
115
116
  setupGraphQLKlip({
@@ -114,6 +114,7 @@ export function useRewardsTable(props, emptyElement, loadingElement) {
114
114
  const locale = useLocale();
115
115
  // Default to context, overriden by props
116
116
  const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
117
+ console.log({ programId, programIdContext });
117
118
  const rewardFilter = {
118
119
  userId_eq: user === null || user === void 0 ? void 0 : user.id,
119
120
  accountId_eq: user === null || user === void 0 ? void 0 : user.accountId,
@@ -219,6 +219,7 @@ function useRewardsTable(props, emptyElement, loadingElement) {
219
219
  const locale = An();
220
220
  // Default to context, overriden by props
221
221
  const programId = (_a = props.programId) !== null && _a !== void 0 ? _a : programIdContext;
222
+ console.log({ programId, programIdContext });
222
223
  const rewardFilter = {
223
224
  userId_eq: user === null || user === void 0 ? void 0 : user.id,
224
225
  accountId_eq: user === null || user === void 0 ? void 0 : user.accountId,
@@ -3250,11 +3250,12 @@ const RewardsTableEn = createHookStory(() => {
3250
3250
  id: "samenglish",
3251
3251
  });
3252
3252
  A$1(undefined);
3253
- return (h("sqm-rewards-table", { "per-page": "4" },
3254
- h("sqm-rewards-table-reward-column", null),
3255
- h("sqm-rewards-table-status-column", null),
3256
- h("sqm-rewards-table-source-column", null),
3257
- h("sqm-rewards-table-date-column", null)));
3253
+ return (h("sqb-program-section", null,
3254
+ h("sqm-rewards-table", { "per-page": "4" },
3255
+ h("sqm-rewards-table-reward-column", null),
3256
+ h("sqm-rewards-table-status-column", null),
3257
+ h("sqm-rewards-table-source-column", null),
3258
+ h("sqm-rewards-table-date-column", null))));
3258
3259
  });
3259
3260
  const RewardsTableTr = createHookStory(() => {
3260
3261
  setupGraphQLKlip({
@@ -1 +1 @@
1
- var __makeTemplateObject=this&&this.__makeTemplateObject||function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++){t=arguments[r];for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]}return e};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(e,t,r,a){function n(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,l){function s(e){try{o(a.next(e))}catch(e){l(e)}}function i(e){try{o(a["throw"](e))}catch(e){l(e)}}function o(e){e.done?r(e.value):n(e.value).then(s,i)}o((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,n,l,s;return s={next:i(0),throw:i(1),return:i(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(t){return o([e,t])}}function o(s){if(a)throw new TypeError("Generator is already executing.");while(r)try{if(a=1,n&&(l=s[0]&2?n["return"]:s[0]?n["throw"]||((l=n["return"])&&l.call(n),0):n.next)&&!(l=l.call(n,s[1])).done)return l;if(n=0,l)s=[s[0]&2,l.value];switch(s[0]){case 0:case 1:l=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;n=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(l=r.trys,l=l.length>0&&l[l.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!l||s[1]>l[0]&&s[1]<l[3])){r.label=s[1];break}if(s[0]===6&&r.label<l[1]){r.label=l[1];l=s;break}if(l&&r.label<l[2]){r.label=l[2];r.ops.push(s);break}if(l[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];n=0}finally{a=l=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var a=Array(e),n=0,t=0;t<r;t++)for(var l=arguments[t],s=0,i=l.length;s<i;s++,n++)a[n]=l[s];return a};import{h,r as registerInstance,c as Host}from"./index-17b4da69.js";import{b as browser,u as useReducer,e as useEffect,m as h$1,i as useMemo}from"./stencil-hooks.module-acc8a613.js";import{i as intl}from"./global-15cdf41a.js";import"./use-callback-7e0bfd3b.js";import{d as dist,i as ie,M,A as An,a as mn,j as jn}from"./index.module-f5e17a4e.js";import"./extends-c31f1eff.js";import{c as cjs}from"./cjs-bdfb4486.js";import"./mixins-10353a39.js";import{c as createStyleSheet}from"./JSS-96eeab98.js";import{G as GenericTableView}from"./GenericTableView-6924630b.js";import{u as useRerenderListener,a as useRequestRerender}from"./re-render-8f0a7ab1.js";import{u as useChildElements}from"./useChildElements-3ffd7077.js";import{l as luxon}from"./luxon-f44215d9.js";import{g as generateUserError}from"./useReferralTable-d8a7e3be.js";import{l as luxonLocale}from"./utils-1d345130.js";var mockRewardData=function(e){if(e===void 0){e=4}var t=__spreadArrays(Array(e)).map((function(){return getMockData()}));return{data:t}};var units=["POINT","TICKET","GIFT"];var prettyValues=["Points","Tickets","Gifts"];var statuses=["AVAILABLE","PENDING","CANCELLED","EXPIRED","REDEEMED"];var pendingReasons=["US_TAX","SCHEDULED","UNHANDLED_ERROR"];var getMockData=function(){var e=false;var t=0;var r;var a;var n;var l;var s=luxon.DateTime.now();var i=Math.floor(Math.random()*3);var o=statuses[Math.floor(Math.random()*5)];var d=units[i];var u=prettyValues[i];var c=Math.floor(Math.random()*100)+2;if(o==="AVAILABLE"){t=Math.floor(Math.random()*c);l=Math.floor(Math.random()*10)<3?s.plus({days:7}).toMillis():null}else if(o==="EXPIRED"){e=true;t=Math.floor(Math.random()*c);l=s.minus({days:1}).toMillis()}else if(o==="PENDING"){var p=pendingReasons[Math.floor(Math.random()*3)];r=[p];if(p==="SCHEDULED"){a=s.plus({days:6}).toMillis()}}else if(o==="REDEEMED"){e=true}else{e=true;n=s.minus({days:2}).toMillis()}var h=Math.floor(Math.random()*3);return{id:"61f7878e096c9265de88b46f",type:"CREDIT",value:c,unit:d,name:null,dateGiven:s.minus({days:3}).toMillis(),dateExpires:l,dateCancelled:n,dateRedeemed:o==="REDEEMED"?s.plus({days:2}).toMillis():null,dateScheduledFor:a,fuelTankCode:null,fuelTankType:null,currency:null,prettyValue:c+" "+u,prettyValueNumber:""+c,prettyAvailableNumber:e?"0":""+(c-t),prettyRedeemedNumber:e&&!t?"0":""+t,programId:h===1?"program-id":null,program:{name:"My Program"},statuses:[o],pendingReasons:r,globalRewardKey:null,programRewardKey:null,rewardSource:h===1?"AUTOMATED":"MANUAL",prettyRedeemedCredit:t+" "+u,prettyAssignedCredit:c+" "+u,prettyAvailableValue:e?"0 "+u:c-t+" "+u,exchangedRewardRedemptionTransaction:h===2?{id:"61f7878e096c9265de88b414",creditRedeemed:50,prettyRedeemedCredit:"50 Tokens",unit:"TOKEN",dateRedeemed:1643612046258}:null,referral:null,rewardRedemptionTransactions:{data:[]}}};var debug=browser("sq:useRewardsTable");var CSS_NAMESPACE="sqm-rewards-table";var GET_REWARDS=dist.gql(templateObject_1||(templateObject_1=__makeTemplateObject(['\n query getRewards(\n $limit: Int!\n $offset: Int!\n $rewardFilter: RewardFilterInput\n $locale: RSLocale\n ) {\n viewer {\n ... on User {\n id\n rewards(\n limit: $limit\n offset: $offset\n filter: $rewardFilter\n sortBy: { field: "dateCreated", order: DESC }\n ) {\n totalCount\n count\n data {\n meta {\n message\n }\n id\n type\n value\n unit\n name\n dateGiven\n dateCreated\n dateExpires\n dateCancelled\n dateRedeemed\n dateScheduledFor\n fuelTankCode\n fuelTankType\n currency\n prettyValue(locale: $locale)\n prettyValueNumber: prettyValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyAvailableNumber: prettyAvailableValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyRedeemedNumber: prettyRedeemedCredit(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n programId\n program {\n name\n }\n statuses\n pendingReasons\n globalRewardKey\n programRewardKey\n rewardSource\n prettyRedeemedCredit(locale: $locale)\n prettyAssignedCredit(locale: $locale)\n prettyAvailableValue(locale: $locale)\n exchangedRewardRedemptionTransaction {\n id\n creditRedeemed\n prettyRedeemedCredit(locale: $locale)\n unit\n dateRedeemed\n }\n referral {\n id\n referrerUser {\n id\n firstName\n lastName\n }\n referredUser {\n id\n firstName\n lastName\n }\n }\n rewardRedemptionTransactions {\n data {\n exchangedRewards {\n data {\n prettyValue(locale: $locale)\n type\n fuelTankCode\n globalRewardKey\n }\n }\n }\n }\n }\n }\n }\n }\n }\n'],['\n query getRewards(\n $limit: Int!\n $offset: Int!\n $rewardFilter: RewardFilterInput\n $locale: RSLocale\n ) {\n viewer {\n ... on User {\n id\n rewards(\n limit: $limit\n offset: $offset\n filter: $rewardFilter\n sortBy: { field: "dateCreated", order: DESC }\n ) {\n totalCount\n count\n data {\n meta {\n message\n }\n id\n type\n value\n unit\n name\n dateGiven\n dateCreated\n dateExpires\n dateCancelled\n dateRedeemed\n dateScheduledFor\n fuelTankCode\n fuelTankType\n currency\n prettyValue(locale: $locale)\n prettyValueNumber: prettyValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyAvailableNumber: prettyAvailableValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyRedeemedNumber: prettyRedeemedCredit(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n programId\n program {\n name\n }\n statuses\n pendingReasons\n globalRewardKey\n programRewardKey\n rewardSource\n prettyRedeemedCredit(locale: $locale)\n prettyAssignedCredit(locale: $locale)\n prettyAvailableValue(locale: $locale)\n exchangedRewardRedemptionTransaction {\n id\n creditRedeemed\n prettyRedeemedCredit(locale: $locale)\n unit\n dateRedeemed\n }\n referral {\n id\n referrerUser {\n id\n firstName\n lastName\n }\n referredUser {\n id\n firstName\n lastName\n }\n }\n rewardRedemptionTransactions {\n data {\n exchangedRewards {\n data {\n prettyValue(locale: $locale)\n type\n fuelTankCode\n globalRewardKey\n }\n }\n }\n }\n }\n }\n }\n }\n }\n'])));function useRewardsTable(e,t,r){var a,n;var l=ie();var s=M();var i=An();var o=(a=e.programId)!==null&&a!==void 0?a:s;var d=__assign({userId_eq:l===null||l===void 0?void 0:l.id,accountId_eq:l===null||l===void 0?void 0:l.accountId},o?o==="classic"?{programId_exists:false}:{programId_eq:o}:{});var u=useReducer((function(e,t){return __assign(__assign({},e),t)}),{columns:[],rows:[],loading:false,page:0}),c=u[0],p=u[1];var h=mn(GET_REWARDS,(function(e){var t;return(t=e===null||e===void 0?void 0:e.viewer)===null||t===void 0?void 0:t.rewards}),{limit:e.perPage,offset:0},{rewardFilter:d,locale:i},!(l===null||l===void 0?void 0:l.jwt)),m=h.envelope,f=h.states,v=h.callbacks;var g=useRerenderListener();var w=useChildElements();var y=m===null||m===void 0?void 0:m.data;function b(e){return __awaiter(this,void 0,void 0,(function(){var t,r,a,n,l,s,o;var d=this;return __generator(this,(function(u){switch(u.label){case 0:t=e.filter((function(e){return e.slot!=="loading"&&e.slot!=="empty"}));r=t===null||t===void 0?void 0:t.map((function(e){return __awaiter(d,void 0,void 0,(function(){return __generator(this,(function(t){return[2,tryMethod(e,(function(){return e.renderLabel()}))]}))}))}));a=y===null||y===void 0?void 0:y.map((function(e){return __awaiter(d,void 0,void 0,(function(){var r,a;var n=this;return __generator(this,(function(l){switch(l.label){case 0:r=t===null||t===void 0?void 0:t.map((function(t){return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(r){return[2,tryMethod(t,(function(){return t.renderCell(e,i)}))]}))}))}));return[4,Promise.all(r)];case 1:a=l.sent();return[2,a]}}))}))}));l=a;if(!l)return[3,2];return[4,Promise.all(a)];case 1:l=u.sent().filter((function(e){return e}));u.label=2;case 2:n=l;p({rows:n});o=r;if(!o)return[3,4];return[4,Promise.all(r)];case 3:o=u.sent();u.label=4;case 4:s=o;p({columns:s,loading:false,page:f.currentPage});return[2]}}))}))}useEffect((function(){p({loading:true});m&&b(w)}),[m,w,g]);var T=!((n=c===null||c===void 0?void 0:c.rows)===null||n===void 0?void 0:n.length)&&!(y===null||y===void 0?void 0:y.length);var R=f.loading||c.loading?"loading":T?"empty":"rows";return{states:{hasNext:f.currentPage<f.pageCount-1,hasPrev:f.currentPage>0,show:R,namespace:CSS_NAMESPACE},data:{textOverrides:{showLabels:e.showLabels,prevLabel:e.prevLabel,moreLabel:e.moreLabel},hiddenColumns:e.hiddenColumns,smBreakpoint:e.smBreakpoint,mdBreakpoint:e.mdBreakpoint},elements:{columns:c.columns,rows:c.rows,emptyElement:t,loadingElement:r},callbacks:{nextPage:function(){v.setCurrentPage(f.currentPage+1)},prevPage:function(){v.setCurrentPage(f.currentPage-1)}}}}function tryMethod(e,t){return __awaiter(this,void 0,void 0,(function(){var r,a,n,l;return __generator(this,(function(s){switch(s.label){case 0:r=e.tagName.toLowerCase();return[4,customElements.whenDefined(r)];case 1:s.sent();try{a=t()}catch(e){debug("label promise failed",e);return[2,h("span",null)]}s.label=2;case 2:s.trys.push([2,4,,5]);return[4,a];case 3:return[2,s.sent()];case 4:n=s.sent();debug("Error rendering label",n);l=generateUserError(n);return[2,h("details",null,h("summary",null,"Error"),l)];case 5:return[2]}}))}))}var RewardsTable=function(){function e(e){registerInstance(this,e);this.perPage=4;this.showLabels=true;this.prevLabel="Prev";this.moreLabel="Next";this.hiddenColumns="0";this.smBreakpoint=599;this.mdBreakpoint=799;h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.render=function(){var e=h(EmptySlot,null);var t=h(LoadingSlot,null);var r=jn()?useRewardsTableDemo(this,e,t):useRewardsTable(this,e,t),a=r.states,n=r.data,l=r.callbacks,s=r.elements;useRequestRerender([this.perPage]);return h(GenericTableView,{states:a,data:n,callbacks:l,elements:s})};return e}();function EmptySlot(){return h("slot",{name:"empty"},h("sqm-empty",{"empty-state-image":"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png","empty-state-header":"View your rewards","empty-state-text":"Refer friends and complete tasks to view the details of your rewards"}))}function LoadingSlot(){return h("slot",{name:"loading"},h(LoadingRow,null),h(LoadingRow,null),h(LoadingRow,null),h(LoadingRow,null))}function LoadingRow(){return h("sqm-table-row",null,h("sqm-table-cell",{colspan:5},h("sl-skeleton",null)))}function useRewardsTableDemo(e,t,r){var a=useReducer((function(e,t){return __assign(__assign({},e),t)}),{columns:[],rows:[],loading:false,page:0}),n=a[0],l=a[1];var s=useRerenderListener();var i=useMemo((function(){return mockRewardData(e.perPage)}),[e.perPage]).data;var o=useChildElements();function d(t){return __awaiter(this,void 0,void 0,(function(){var r,a,n,s,o,d,u,c;var p=this;return __generator(this,(function(h){switch(h.label){case 0:r=i;r=i.slice(0,e.perPage);a=t.filter((function(e){return e.slot!=="loading"&&e.slot!=="empty"}));n=a===null||a===void 0?void 0:a.map((function(e){return __awaiter(p,void 0,void 0,(function(){return __generator(this,(function(t){return[2,tryMethod(e,(function(){return e.renderLabel()}))]}))}))}));s=r===null||r===void 0?void 0:r.map((function(e){return __awaiter(p,void 0,void 0,(function(){var t,r;var n=this;return __generator(this,(function(l){switch(l.label){case 0:t=a===null||a===void 0?void 0:a.map((function(t){return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(r){return[2,tryMethod(t,(function(){return t.renderCell(e,undefined)}))]}))}))}));return[4,Promise.all(t)];case 1:r=l.sent();return[2,r]}}))}))}));d=s;if(!d)return[3,2];return[4,Promise.all(s)];case 1:d=h.sent().filter((function(e){return e}));h.label=2;case 2:o=d;l({rows:o});c=n;if(!c)return[3,4];return[4,Promise.all(n)];case 3:c=h.sent();h.label=4;case 4:u=c;l({columns:u,loading:false,page:0});return[2]}}))}))}useEffect((function(){l({loading:true});i&&d(o)}),[i,o,s]);var u=cjs({states:{hasPrev:false,hasNext:false,loading:false,show:"rows"},callbacks:{prevPage:function(){return console.log("Prev")},nextPage:function(){return console.log("Next")}},data:{textOverrides:{showLabels:e.showLabels,prevLabel:e.prevLabel,moreLabel:e.moreLabel},referralData:[],mdBreakpoint:799,smBreakpoint:599},elements:{columns:n.columns,rows:n.rows,emptyElement:t,loadingElement:r}},e.demoData||{},{arrayMerge:function(e,t){return t}});return u}var RewardTableDateCell=function(){function e(e){registerInstance(this,e);this.ignored=true;this.locale="en";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.render=function(){var e,t;var r=!this.date?"-":(t=(e=luxon.DateTime.fromMillis(this.date))===null||e===void 0?void 0:e.setLocale(luxonLocale(this.locale)))===null||t===void 0?void 0:t.toLocaleString(luxon.DateTime.DATE_MED);return r};return e}();var RewardTableDateColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Date received";this.dateShown="dateGiven";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-date-cell",{date:e[this.dateShown],locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.dateShown,this.columnTitle]);return h(Host,{style:{display:"none"}})};return e}();var style={DetailsContainer:{width:"100%",display:"flex","align-items":"center","justify-content":"space-between","margin-right":"var(--sl-spacing-small)","flex-wrap":"wrap"},Details:{"padding-bottom":"var(--sl-spacing-small)","max-width":"500px","padding-right":"var(--sl-spacing-x-small)","&::part(header)":{padding:"var(--sl-spacing-x-small)",cursor:"default"},"&::part(content)":{padding:"var(--sl-spacing-x-small) var(--sl-spacing-medium)"},"&::part(base)":{opacity:"1"},"&::part(summary-icon)":{display:"flex"}},BadgeContainer:{"& > :not(:last-child)":{"margin-right":"var(--sl-spacing-x-small)"}},BoldText:{"font-weight":"var(--sl-font-weight-semibold)"},StatusBadge:{paddingLeft:"var(--sl-spacing-xxx-small)","&::part(base)":{textAlign:"center",maxWidth:"170px",whiteSpace:"pre-line"}},Fueltank:{"& .code":{display:"flex",cursor:"pointer",userSelect:"none",color:"var(--sl-color-neutral-500)","&:hover":{color:"var(--sl-color-sky-500)"}},"& .text":{maxWidth:"90%",overflow:"hidden",textOverflow:"ellipsis",color:"inherit",fontSize:"var(--sl-font-size-small)",fontWeight:"var(--sl-font-weight-bold)"},"& .icon":{position:"relative",top:"1px",marginLeft:"var(--sl-spacing-x-small)",color:"inherit"}}};var sheet=createStyleSheet(style);var styleString=sheet.toString();var RewardTableRewardsCell=function(){function e(e){registerInstance(this,e)}e.prototype.render=function(){var e=this;intl.locale=this.locale;var t=function(t){var r=t.reward;var a;var n=r.unit==="CENTS"?r.prettyValue.replace(/USD/gi,"$"):(a=r.prettyValue)!==null&&a!==void 0?a:"-";var l=r.prettyValueNumber==="1"||r.dateRedeemed&&r.prettyAvailableNumber==="0";if(r.type==="FUELTANK"){return h("div",{class:sheet.classes.Fueltank},r.prettyValue,r.fuelTankCode&&h("div",{class:"code",onClick:function(){return navigator.clipboard.writeText(r.fuelTankCode)}},h("sl-tooltip",{trigger:"click",placement:"top",distance:5,skidding:11,content:e.copyText,"onSl-show":function(e){return setTimeout((function(){return e.path[0].hide()}),1e3)}},h("span",{class:"text"},r.fuelTankCode),h("span",{class:"icon"},h("sl-icon",{name:"files"})))))}if(r.type==="CREDIT"&&!l){var s=parseFloat(r.prettyValueNumber)-parseFloat(r.prettyRedeemedNumber);var i=Math.round(s/parseFloat(r.prettyValueNumber)*100);var o=r.statuses.includes("EXPIRED")||r.statuses.includes("CANCELLED")?h("div",null,intl.formatMessage({id:"redeemedText",defaultMessage:e.redeemedText},{redeemedAmount:r.prettyRedeemedCredit})):h("div",null,intl.formatMessage({id:"availableText",defaultMessage:e.availableText},{availableAmount:r.statuses.includes("PENDING")?r.prettyAssignedCredit:r.prettyAvailableValue}));var d={Progress:{height:"3px",width:"100%",margin:"var(--sl-spacing-xx-small) 0",background:"var(--sl-color-neutral-200)","&:after":{content:'""',display:"block",background:"var(--sl-color-primary-300)",borderRadius:"100px",width:i+"%",height:"100%"}},Container:{display:"inline-block",verticalAlign:"top",width:"150px",whiteSpace:"break",overflow:"hidden",textOverflow:"ellipsis"},Text:{fontSize:"var(--sl-font-size-medium)",color:"var(--sl-color-gray-800)"},Subtext:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}};var u=createStyleSheet(d);var c=u.toString();return h("div",null,h("style",{type:"text/css"},c),h("div",{class:u.classes.Container},h("span",null,n+" "),h("br",null)," ",h("div",{class:u.classes.Progress}),h("span",{class:u.classes.Subtext},o)))}return h("div",null,n)};return h("div",{style:{display:"contents"}},h("style",{type:"text/css"},styleString),h(t,{reward:this.reward}))};return e}();var RewardsTableColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Reward";this.redeemedText="{redeemedAmount} redeemed";this.availableText="{availableAmount} remaining";this.copyText="Copied!";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-reward-cell",{reward:e,redeemedText:this.redeemedText,availableText:this.availableText,copyText:this.copyText,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.columnTitle,this.redeemedText,this.availableText,this.copyText]);return h(Host,{style:{display:"none"}})};return e}();var RewardTableSourceCell=function(){function e(e){registerInstance(this,e);this.locale="en"}e.prototype.render=function(){var e=this;intl.locale=this.locale;var t=function(t){var r=t.reward;var a;return h("span",null,intl.formatMessage({id:"rewardSourceText",defaultMessage:e.rewardSourceText},{rewardSource:r.rewardSource,programName:(a=r===null||r===void 0?void 0:r.program)===null||a===void 0?void 0:a.name}))};var r=21;var a=function(t){var a=t.reward;var n;var l=h("div",null,h("span",{style:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}},e.rewardExchangeText),h("br",null),(n=a.exchangedRewardRedemptionTransaction)===null||n===void 0?void 0:n.prettyRedeemedCredit," → ",a.prettyValue);return a.exchangedRewardRedemptionTransaction.prettyRedeemedCredit.length+a.prettyValue.length<r?l:h("div",{style:{display:"inline-block",verticalAlign:"top"}},l)};var n=function(t){if(!t)return e.deletedUserText;if(!t.firstName&&!t.lastName)return e.anonymousUserText;if(!t.firstName)return""+t.lastName;if(!t.lastName)return""+t.firstName;return t.firstName+" "+t.lastName};var l=function(){return e.reward.rewardSource==="FRIEND_SIGNUP"||e.reward.rewardSource==="REFERRED"?h("div",null,h("div",{style:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}},intl.formatMessage({id:"referralText",defaultMessage:e.referralText},{rewardSource:e.reward.rewardSource})),h("div",null,e.reward.rewardSource=="FRIEND_SIGNUP"?n(e.reward.referral.referredUser):n(e.reward.referral.referrerUser))):e.reward.exchangedRewardRedemptionTransaction?h(a,{reward:e.reward}):h(t,{reward:e.reward})};return h(l,null)};return e}();var RewardTableUserColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Source";this.anonymousUser="Anonymous User";this.deletedUser="Deleted User";this.rewardExchangeText="Reward Exchange";this.referralText="{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}";this.rewardSourceText="{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-source-cell",{reward:e,anonymousUserText:this.anonymousUser,deletedUserText:this.deletedUser,rewardExchangeText:this.rewardExchangeText,referralText:this.referralText,rewardSourceText:this.rewardSourceText,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.deletedUser,this.anonymousUser,this.columnTitle,this.rewardExchangeText,this.referralText,this.rewardSourceText]);return h(Host,{style:{display:"none"}})};return e}();var style$1={Badge:{"&::part(base)":{fontSize:"var(--sl-font-size-small)",padding:"4px 8px",paddingLeft:"10px",whiteSpace:"pre-line"}},RedeemBadge:{"&::part(base)":{fontSize:"var(--sl-font-size-small)",padding:"4px 8px",background:"var(--sl-color-blue-600)"}},Date:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)",margin:"0"}};var sheet$1=createStyleSheet(style$1);var styleString$1=sheet$1.toString();var RewardTableStatusCell=function(){function e(e){registerInstance(this,e);this.expiryText="Expires";this.locale="en";this.pendingUsTax="W-9 required";this.pendingScheduled="Until";this.pendingUnhandled="Fulfillment error"}e.prototype.rewardStatus=function(e){if(e.dateCancelled)return"CANCELLED";if(e.statuses&&e.statuses.includes("EXPIRED"))return"EXPIRED";if(e.statuses&&e.statuses.includes("PENDING"))return"PENDING";if(e.type==="CREDIT"){if(e.statuses.includes("REDEEMED"))return"REDEEMED";return"AVAILABLE"}if(e.type==="PCT_DISCOUNT"){if(e.statuses.includes("AVAILABLE"))return"AVAILABLE"}if(e.type==="INTEGRATION"||e.type==="FUELTANK"){if(e.statuses&&e.statuses.includes("PENDING"))return"PENDING";if(e.statuses&&e.statuses.includes("CANCELLED"))return"CANCELLED";if(e.statuses.includes("AVAILABLE"))return"AVAILABLE"}return""};e.prototype.render=function(){var e;intl.locale=this.locale;var t=this.rewardStatus(this.reward);var r=intl.formatMessage({id:"statusMessage",defaultMessage:this.statusText},{status:t});var a=t==="AVAILABLE"?"success":t==="REDEEMED"?"primary":t==="PENDING"?"warning":"danger";var n=this.reward.dateCancelled||this.reward.dateExpires||this.reward.dateRedeemed||"";var l=n&&""+(t==="AVAILABLE"&&this.reward.dateExpires?this.expiryText+" ":"")+((e=luxon.DateTime.fromMillis(n))===null||e===void 0?void 0:e.setLocale(luxonLocale(luxonLocale(this.locale))).toLocaleString(luxon.DateTime.DATE_MED));var s=t==="PENDING"?i(this):null;return h("div",{style:{display:"contents"}},h("style",{type:"text/css"},styleString$1),h("sl-badge",{type:a,pill:true,class:t==="REDEEMED"?sheet$1.classes.RedeemBadge:sheet$1.classes.Badge},r),h("p",{class:sheet$1.classes.Date},s||l));function i(e){var t;var r={US_TAX:e.pendingUsTax,SCHEDULED:e.reward.dateScheduledFor&&e.pendingScheduled+" "+((t=luxon.DateTime.fromMillis(e.reward.dateScheduledFor))===null||t===void 0?void 0:t.setLocale(luxonLocale(luxonLocale(e.locale||"en"))).toLocaleString(luxon.DateTime.DATE_MED)),UNHANDLED_ERROR:e.pendingUnhandled};return[e.reward.pendingReasons].map((function(e){var t;return(t=r[e])!==null&&t!==void 0?t:e})).join(", ")}};return e}();var RewardTableStatusColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Status";this.statusText="{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }";this.expiryText="Expires on ";this.pendingUsTax="W-9 required";this.pendingScheduled="Until";this.pendingUnhandled="Fulfillment error";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-status-cell",{statusText:this.statusText,reward:e,expiryText:this.expiryText,pendingScheduled:this.pendingScheduled,pendingUsTax:this.pendingUsTax,pendingUnhandled:this.pendingUnhandled,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.columnTitle,this.statusText,this.expiryText,this.pendingScheduled,this.pendingUsTax,this.pendingUnhandled]);return h(Host,{style:{display:"none"}})};return e}();export{RewardsTable as sqm_rewards_table,RewardTableDateCell as sqm_rewards_table_date_cell,RewardTableDateColumn as sqm_rewards_table_date_column,RewardTableRewardsCell as sqm_rewards_table_reward_cell,RewardsTableColumn as sqm_rewards_table_reward_column,RewardTableSourceCell as sqm_rewards_table_source_cell,RewardTableUserColumn as sqm_rewards_table_source_column,RewardTableStatusCell as sqm_rewards_table_status_cell,RewardTableStatusColumn as sqm_rewards_table_status_column};var templateObject_1;
1
+ var __makeTemplateObject=this&&this.__makeTemplateObject||function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++){t=arguments[r];for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]}return e};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(e,t,r,a){function n(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,l){function s(e){try{o(a.next(e))}catch(e){l(e)}}function i(e){try{o(a["throw"](e))}catch(e){l(e)}}function o(e){e.done?r(e.value):n(e.value).then(s,i)}o((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,n,l,s;return s={next:i(0),throw:i(1),return:i(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(t){return o([e,t])}}function o(s){if(a)throw new TypeError("Generator is already executing.");while(r)try{if(a=1,n&&(l=s[0]&2?n["return"]:s[0]?n["throw"]||((l=n["return"])&&l.call(n),0):n.next)&&!(l=l.call(n,s[1])).done)return l;if(n=0,l)s=[s[0]&2,l.value];switch(s[0]){case 0:case 1:l=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;n=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(l=r.trys,l=l.length>0&&l[l.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!l||s[1]>l[0]&&s[1]<l[3])){r.label=s[1];break}if(s[0]===6&&r.label<l[1]){r.label=l[1];l=s;break}if(l&&r.label<l[2]){r.label=l[2];r.ops.push(s);break}if(l[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];n=0}finally{a=l=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var a=Array(e),n=0,t=0;t<r;t++)for(var l=arguments[t],s=0,i=l.length;s<i;s++,n++)a[n]=l[s];return a};import{h,r as registerInstance,c as Host}from"./index-17b4da69.js";import{b as browser,u as useReducer,e as useEffect,m as h$1,i as useMemo}from"./stencil-hooks.module-acc8a613.js";import{i as intl}from"./global-15cdf41a.js";import"./use-callback-7e0bfd3b.js";import{d as dist,i as ie,M,A as An,a as mn,j as jn}from"./index.module-f5e17a4e.js";import"./extends-c31f1eff.js";import{c as cjs}from"./cjs-bdfb4486.js";import"./mixins-10353a39.js";import{c as createStyleSheet}from"./JSS-96eeab98.js";import{G as GenericTableView}from"./GenericTableView-6924630b.js";import{u as useRerenderListener,a as useRequestRerender}from"./re-render-8f0a7ab1.js";import{u as useChildElements}from"./useChildElements-3ffd7077.js";import{l as luxon}from"./luxon-f44215d9.js";import{g as generateUserError}from"./useReferralTable-d8a7e3be.js";import{l as luxonLocale}from"./utils-1d345130.js";var mockRewardData=function(e){if(e===void 0){e=4}var t=__spreadArrays(Array(e)).map((function(){return getMockData()}));return{data:t}};var units=["POINT","TICKET","GIFT"];var prettyValues=["Points","Tickets","Gifts"];var statuses=["AVAILABLE","PENDING","CANCELLED","EXPIRED","REDEEMED"];var pendingReasons=["US_TAX","SCHEDULED","UNHANDLED_ERROR"];var getMockData=function(){var e=false;var t=0;var r;var a;var n;var l;var s=luxon.DateTime.now();var i=Math.floor(Math.random()*3);var o=statuses[Math.floor(Math.random()*5)];var d=units[i];var u=prettyValues[i];var c=Math.floor(Math.random()*100)+2;if(o==="AVAILABLE"){t=Math.floor(Math.random()*c);l=Math.floor(Math.random()*10)<3?s.plus({days:7}).toMillis():null}else if(o==="EXPIRED"){e=true;t=Math.floor(Math.random()*c);l=s.minus({days:1}).toMillis()}else if(o==="PENDING"){var p=pendingReasons[Math.floor(Math.random()*3)];r=[p];if(p==="SCHEDULED"){a=s.plus({days:6}).toMillis()}}else if(o==="REDEEMED"){e=true}else{e=true;n=s.minus({days:2}).toMillis()}var h=Math.floor(Math.random()*3);return{id:"61f7878e096c9265de88b46f",type:"CREDIT",value:c,unit:d,name:null,dateGiven:s.minus({days:3}).toMillis(),dateExpires:l,dateCancelled:n,dateRedeemed:o==="REDEEMED"?s.plus({days:2}).toMillis():null,dateScheduledFor:a,fuelTankCode:null,fuelTankType:null,currency:null,prettyValue:c+" "+u,prettyValueNumber:""+c,prettyAvailableNumber:e?"0":""+(c-t),prettyRedeemedNumber:e&&!t?"0":""+t,programId:h===1?"program-id":null,program:{name:"My Program"},statuses:[o],pendingReasons:r,globalRewardKey:null,programRewardKey:null,rewardSource:h===1?"AUTOMATED":"MANUAL",prettyRedeemedCredit:t+" "+u,prettyAssignedCredit:c+" "+u,prettyAvailableValue:e?"0 "+u:c-t+" "+u,exchangedRewardRedemptionTransaction:h===2?{id:"61f7878e096c9265de88b414",creditRedeemed:50,prettyRedeemedCredit:"50 Tokens",unit:"TOKEN",dateRedeemed:1643612046258}:null,referral:null,rewardRedemptionTransactions:{data:[]}}};var debug=browser("sq:useRewardsTable");var CSS_NAMESPACE="sqm-rewards-table";var GET_REWARDS=dist.gql(templateObject_1||(templateObject_1=__makeTemplateObject(['\n query getRewards(\n $limit: Int!\n $offset: Int!\n $rewardFilter: RewardFilterInput\n $locale: RSLocale\n ) {\n viewer {\n ... on User {\n id\n rewards(\n limit: $limit\n offset: $offset\n filter: $rewardFilter\n sortBy: { field: "dateCreated", order: DESC }\n ) {\n totalCount\n count\n data {\n meta {\n message\n }\n id\n type\n value\n unit\n name\n dateGiven\n dateCreated\n dateExpires\n dateCancelled\n dateRedeemed\n dateScheduledFor\n fuelTankCode\n fuelTankType\n currency\n prettyValue(locale: $locale)\n prettyValueNumber: prettyValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyAvailableNumber: prettyAvailableValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyRedeemedNumber: prettyRedeemedCredit(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n programId\n program {\n name\n }\n statuses\n pendingReasons\n globalRewardKey\n programRewardKey\n rewardSource\n prettyRedeemedCredit(locale: $locale)\n prettyAssignedCredit(locale: $locale)\n prettyAvailableValue(locale: $locale)\n exchangedRewardRedemptionTransaction {\n id\n creditRedeemed\n prettyRedeemedCredit(locale: $locale)\n unit\n dateRedeemed\n }\n referral {\n id\n referrerUser {\n id\n firstName\n lastName\n }\n referredUser {\n id\n firstName\n lastName\n }\n }\n rewardRedemptionTransactions {\n data {\n exchangedRewards {\n data {\n prettyValue(locale: $locale)\n type\n fuelTankCode\n globalRewardKey\n }\n }\n }\n }\n }\n }\n }\n }\n }\n'],['\n query getRewards(\n $limit: Int!\n $offset: Int!\n $rewardFilter: RewardFilterInput\n $locale: RSLocale\n ) {\n viewer {\n ... on User {\n id\n rewards(\n limit: $limit\n offset: $offset\n filter: $rewardFilter\n sortBy: { field: "dateCreated", order: DESC }\n ) {\n totalCount\n count\n data {\n meta {\n message\n }\n id\n type\n value\n unit\n name\n dateGiven\n dateCreated\n dateExpires\n dateCancelled\n dateRedeemed\n dateScheduledFor\n fuelTankCode\n fuelTankType\n currency\n prettyValue(locale: $locale)\n prettyValueNumber: prettyValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyAvailableNumber: prettyAvailableValue(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n prettyRedeemedNumber: prettyRedeemedCredit(\n formatType: NUMBER_FORMATTED\n locale: $locale\n )\n programId\n program {\n name\n }\n statuses\n pendingReasons\n globalRewardKey\n programRewardKey\n rewardSource\n prettyRedeemedCredit(locale: $locale)\n prettyAssignedCredit(locale: $locale)\n prettyAvailableValue(locale: $locale)\n exchangedRewardRedemptionTransaction {\n id\n creditRedeemed\n prettyRedeemedCredit(locale: $locale)\n unit\n dateRedeemed\n }\n referral {\n id\n referrerUser {\n id\n firstName\n lastName\n }\n referredUser {\n id\n firstName\n lastName\n }\n }\n rewardRedemptionTransactions {\n data {\n exchangedRewards {\n data {\n prettyValue(locale: $locale)\n type\n fuelTankCode\n globalRewardKey\n }\n }\n }\n }\n }\n }\n }\n }\n }\n'])));function useRewardsTable(e,t,r){var a,n;var l=ie();var s=M();var i=An();var o=(a=e.programId)!==null&&a!==void 0?a:s;console.log({programId:o,programIdContext:s});var d=__assign({userId_eq:l===null||l===void 0?void 0:l.id,accountId_eq:l===null||l===void 0?void 0:l.accountId},o?o==="classic"?{programId_exists:false}:{programId_eq:o}:{});var u=useReducer((function(e,t){return __assign(__assign({},e),t)}),{columns:[],rows:[],loading:false,page:0}),c=u[0],p=u[1];var h=mn(GET_REWARDS,(function(e){var t;return(t=e===null||e===void 0?void 0:e.viewer)===null||t===void 0?void 0:t.rewards}),{limit:e.perPage,offset:0},{rewardFilter:d,locale:i},!(l===null||l===void 0?void 0:l.jwt)),m=h.envelope,f=h.states,v=h.callbacks;var g=useRerenderListener();var w=useChildElements();var y=m===null||m===void 0?void 0:m.data;function b(e){return __awaiter(this,void 0,void 0,(function(){var t,r,a,n,l,s,o;var d=this;return __generator(this,(function(u){switch(u.label){case 0:t=e.filter((function(e){return e.slot!=="loading"&&e.slot!=="empty"}));r=t===null||t===void 0?void 0:t.map((function(e){return __awaiter(d,void 0,void 0,(function(){return __generator(this,(function(t){return[2,tryMethod(e,(function(){return e.renderLabel()}))]}))}))}));a=y===null||y===void 0?void 0:y.map((function(e){return __awaiter(d,void 0,void 0,(function(){var r,a;var n=this;return __generator(this,(function(l){switch(l.label){case 0:r=t===null||t===void 0?void 0:t.map((function(t){return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(r){return[2,tryMethod(t,(function(){return t.renderCell(e,i)}))]}))}))}));return[4,Promise.all(r)];case 1:a=l.sent();return[2,a]}}))}))}));l=a;if(!l)return[3,2];return[4,Promise.all(a)];case 1:l=u.sent().filter((function(e){return e}));u.label=2;case 2:n=l;p({rows:n});o=r;if(!o)return[3,4];return[4,Promise.all(r)];case 3:o=u.sent();u.label=4;case 4:s=o;p({columns:s,loading:false,page:f.currentPage});return[2]}}))}))}useEffect((function(){p({loading:true});m&&b(w)}),[m,w,g]);var T=!((n=c===null||c===void 0?void 0:c.rows)===null||n===void 0?void 0:n.length)&&!(y===null||y===void 0?void 0:y.length);var R=f.loading||c.loading?"loading":T?"empty":"rows";return{states:{hasNext:f.currentPage<f.pageCount-1,hasPrev:f.currentPage>0,show:R,namespace:CSS_NAMESPACE},data:{textOverrides:{showLabels:e.showLabels,prevLabel:e.prevLabel,moreLabel:e.moreLabel},hiddenColumns:e.hiddenColumns,smBreakpoint:e.smBreakpoint,mdBreakpoint:e.mdBreakpoint},elements:{columns:c.columns,rows:c.rows,emptyElement:t,loadingElement:r},callbacks:{nextPage:function(){v.setCurrentPage(f.currentPage+1)},prevPage:function(){v.setCurrentPage(f.currentPage-1)}}}}function tryMethod(e,t){return __awaiter(this,void 0,void 0,(function(){var r,a,n,l;return __generator(this,(function(s){switch(s.label){case 0:r=e.tagName.toLowerCase();return[4,customElements.whenDefined(r)];case 1:s.sent();try{a=t()}catch(e){debug("label promise failed",e);return[2,h("span",null)]}s.label=2;case 2:s.trys.push([2,4,,5]);return[4,a];case 3:return[2,s.sent()];case 4:n=s.sent();debug("Error rendering label",n);l=generateUserError(n);return[2,h("details",null,h("summary",null,"Error"),l)];case 5:return[2]}}))}))}var RewardsTable=function(){function e(e){registerInstance(this,e);this.perPage=4;this.showLabels=true;this.prevLabel="Prev";this.moreLabel="Next";this.hiddenColumns="0";this.smBreakpoint=599;this.mdBreakpoint=799;h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.render=function(){var e=h(EmptySlot,null);var t=h(LoadingSlot,null);var r=jn()?useRewardsTableDemo(this,e,t):useRewardsTable(this,e,t),a=r.states,n=r.data,l=r.callbacks,s=r.elements;useRequestRerender([this.perPage]);return h(GenericTableView,{states:a,data:n,callbacks:l,elements:s})};return e}();function EmptySlot(){return h("slot",{name:"empty"},h("sqm-empty",{"empty-state-image":"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png","empty-state-header":"View your rewards","empty-state-text":"Refer friends and complete tasks to view the details of your rewards"}))}function LoadingSlot(){return h("slot",{name:"loading"},h(LoadingRow,null),h(LoadingRow,null),h(LoadingRow,null),h(LoadingRow,null))}function LoadingRow(){return h("sqm-table-row",null,h("sqm-table-cell",{colspan:5},h("sl-skeleton",null)))}function useRewardsTableDemo(e,t,r){var a=useReducer((function(e,t){return __assign(__assign({},e),t)}),{columns:[],rows:[],loading:false,page:0}),n=a[0],l=a[1];var s=useRerenderListener();var i=useMemo((function(){return mockRewardData(e.perPage)}),[e.perPage]).data;var o=useChildElements();function d(t){return __awaiter(this,void 0,void 0,(function(){var r,a,n,s,o,d,u,c;var p=this;return __generator(this,(function(h){switch(h.label){case 0:r=i;r=i.slice(0,e.perPage);a=t.filter((function(e){return e.slot!=="loading"&&e.slot!=="empty"}));n=a===null||a===void 0?void 0:a.map((function(e){return __awaiter(p,void 0,void 0,(function(){return __generator(this,(function(t){return[2,tryMethod(e,(function(){return e.renderLabel()}))]}))}))}));s=r===null||r===void 0?void 0:r.map((function(e){return __awaiter(p,void 0,void 0,(function(){var t,r;var n=this;return __generator(this,(function(l){switch(l.label){case 0:t=a===null||a===void 0?void 0:a.map((function(t){return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(r){return[2,tryMethod(t,(function(){return t.renderCell(e,undefined)}))]}))}))}));return[4,Promise.all(t)];case 1:r=l.sent();return[2,r]}}))}))}));d=s;if(!d)return[3,2];return[4,Promise.all(s)];case 1:d=h.sent().filter((function(e){return e}));h.label=2;case 2:o=d;l({rows:o});c=n;if(!c)return[3,4];return[4,Promise.all(n)];case 3:c=h.sent();h.label=4;case 4:u=c;l({columns:u,loading:false,page:0});return[2]}}))}))}useEffect((function(){l({loading:true});i&&d(o)}),[i,o,s]);var u=cjs({states:{hasPrev:false,hasNext:false,loading:false,show:"rows"},callbacks:{prevPage:function(){return console.log("Prev")},nextPage:function(){return console.log("Next")}},data:{textOverrides:{showLabels:e.showLabels,prevLabel:e.prevLabel,moreLabel:e.moreLabel},referralData:[],mdBreakpoint:799,smBreakpoint:599},elements:{columns:n.columns,rows:n.rows,emptyElement:t,loadingElement:r}},e.demoData||{},{arrayMerge:function(e,t){return t}});return u}var RewardTableDateCell=function(){function e(e){registerInstance(this,e);this.ignored=true;this.locale="en";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.render=function(){var e,t;var r=!this.date?"-":(t=(e=luxon.DateTime.fromMillis(this.date))===null||e===void 0?void 0:e.setLocale(luxonLocale(this.locale)))===null||t===void 0?void 0:t.toLocaleString(luxon.DateTime.DATE_MED);return r};return e}();var RewardTableDateColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Date received";this.dateShown="dateGiven";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-date-cell",{date:e[this.dateShown],locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.dateShown,this.columnTitle]);return h(Host,{style:{display:"none"}})};return e}();var style={DetailsContainer:{width:"100%",display:"flex","align-items":"center","justify-content":"space-between","margin-right":"var(--sl-spacing-small)","flex-wrap":"wrap"},Details:{"padding-bottom":"var(--sl-spacing-small)","max-width":"500px","padding-right":"var(--sl-spacing-x-small)","&::part(header)":{padding:"var(--sl-spacing-x-small)",cursor:"default"},"&::part(content)":{padding:"var(--sl-spacing-x-small) var(--sl-spacing-medium)"},"&::part(base)":{opacity:"1"},"&::part(summary-icon)":{display:"flex"}},BadgeContainer:{"& > :not(:last-child)":{"margin-right":"var(--sl-spacing-x-small)"}},BoldText:{"font-weight":"var(--sl-font-weight-semibold)"},StatusBadge:{paddingLeft:"var(--sl-spacing-xxx-small)","&::part(base)":{textAlign:"center",maxWidth:"170px",whiteSpace:"pre-line"}},Fueltank:{"& .code":{display:"flex",cursor:"pointer",userSelect:"none",color:"var(--sl-color-neutral-500)","&:hover":{color:"var(--sl-color-sky-500)"}},"& .text":{maxWidth:"90%",overflow:"hidden",textOverflow:"ellipsis",color:"inherit",fontSize:"var(--sl-font-size-small)",fontWeight:"var(--sl-font-weight-bold)"},"& .icon":{position:"relative",top:"1px",marginLeft:"var(--sl-spacing-x-small)",color:"inherit"}}};var sheet=createStyleSheet(style);var styleString=sheet.toString();var RewardTableRewardsCell=function(){function e(e){registerInstance(this,e)}e.prototype.render=function(){var e=this;intl.locale=this.locale;var t=function(t){var r=t.reward;var a;var n=r.unit==="CENTS"?r.prettyValue.replace(/USD/gi,"$"):(a=r.prettyValue)!==null&&a!==void 0?a:"-";var l=r.prettyValueNumber==="1"||r.dateRedeemed&&r.prettyAvailableNumber==="0";if(r.type==="FUELTANK"){return h("div",{class:sheet.classes.Fueltank},r.prettyValue,r.fuelTankCode&&h("div",{class:"code",onClick:function(){return navigator.clipboard.writeText(r.fuelTankCode)}},h("sl-tooltip",{trigger:"click",placement:"top",distance:5,skidding:11,content:e.copyText,"onSl-show":function(e){return setTimeout((function(){return e.path[0].hide()}),1e3)}},h("span",{class:"text"},r.fuelTankCode),h("span",{class:"icon"},h("sl-icon",{name:"files"})))))}if(r.type==="CREDIT"&&!l){var s=parseFloat(r.prettyValueNumber)-parseFloat(r.prettyRedeemedNumber);var i=Math.round(s/parseFloat(r.prettyValueNumber)*100);var o=r.statuses.includes("EXPIRED")||r.statuses.includes("CANCELLED")?h("div",null,intl.formatMessage({id:"redeemedText",defaultMessage:e.redeemedText},{redeemedAmount:r.prettyRedeemedCredit})):h("div",null,intl.formatMessage({id:"availableText",defaultMessage:e.availableText},{availableAmount:r.statuses.includes("PENDING")?r.prettyAssignedCredit:r.prettyAvailableValue}));var d={Progress:{height:"3px",width:"100%",margin:"var(--sl-spacing-xx-small) 0",background:"var(--sl-color-neutral-200)","&:after":{content:'""',display:"block",background:"var(--sl-color-primary-300)",borderRadius:"100px",width:i+"%",height:"100%"}},Container:{display:"inline-block",verticalAlign:"top",width:"150px",whiteSpace:"break",overflow:"hidden",textOverflow:"ellipsis"},Text:{fontSize:"var(--sl-font-size-medium)",color:"var(--sl-color-gray-800)"},Subtext:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}};var u=createStyleSheet(d);var c=u.toString();return h("div",null,h("style",{type:"text/css"},c),h("div",{class:u.classes.Container},h("span",null,n+" "),h("br",null)," ",h("div",{class:u.classes.Progress}),h("span",{class:u.classes.Subtext},o)))}return h("div",null,n)};return h("div",{style:{display:"contents"}},h("style",{type:"text/css"},styleString),h(t,{reward:this.reward}))};return e}();var RewardsTableColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Reward";this.redeemedText="{redeemedAmount} redeemed";this.availableText="{availableAmount} remaining";this.copyText="Copied!";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-reward-cell",{reward:e,redeemedText:this.redeemedText,availableText:this.availableText,copyText:this.copyText,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.columnTitle,this.redeemedText,this.availableText,this.copyText]);return h(Host,{style:{display:"none"}})};return e}();var RewardTableSourceCell=function(){function e(e){registerInstance(this,e);this.locale="en"}e.prototype.render=function(){var e=this;intl.locale=this.locale;var t=function(t){var r=t.reward;var a;return h("span",null,intl.formatMessage({id:"rewardSourceText",defaultMessage:e.rewardSourceText},{rewardSource:r.rewardSource,programName:(a=r===null||r===void 0?void 0:r.program)===null||a===void 0?void 0:a.name}))};var r=21;var a=function(t){var a=t.reward;var n;var l=h("div",null,h("span",{style:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}},e.rewardExchangeText),h("br",null),(n=a.exchangedRewardRedemptionTransaction)===null||n===void 0?void 0:n.prettyRedeemedCredit," → ",a.prettyValue);return a.exchangedRewardRedemptionTransaction.prettyRedeemedCredit.length+a.prettyValue.length<r?l:h("div",{style:{display:"inline-block",verticalAlign:"top"}},l)};var n=function(t){if(!t)return e.deletedUserText;if(!t.firstName&&!t.lastName)return e.anonymousUserText;if(!t.firstName)return""+t.lastName;if(!t.lastName)return""+t.firstName;return t.firstName+" "+t.lastName};var l=function(){return e.reward.rewardSource==="FRIEND_SIGNUP"||e.reward.rewardSource==="REFERRED"?h("div",null,h("div",{style:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)"}},intl.formatMessage({id:"referralText",defaultMessage:e.referralText},{rewardSource:e.reward.rewardSource})),h("div",null,e.reward.rewardSource=="FRIEND_SIGNUP"?n(e.reward.referral.referredUser):n(e.reward.referral.referrerUser))):e.reward.exchangedRewardRedemptionTransaction?h(a,{reward:e.reward}):h(t,{reward:e.reward})};return h(l,null)};return e}();var RewardTableUserColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Source";this.anonymousUser="Anonymous User";this.deletedUser="Deleted User";this.rewardExchangeText="Reward Exchange";this.referralText="{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}";this.rewardSourceText="{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-source-cell",{reward:e,anonymousUserText:this.anonymousUser,deletedUserText:this.deletedUser,rewardExchangeText:this.rewardExchangeText,referralText:this.referralText,rewardSourceText:this.rewardSourceText,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.deletedUser,this.anonymousUser,this.columnTitle,this.rewardExchangeText,this.referralText,this.rewardSourceText]);return h(Host,{style:{display:"none"}})};return e}();var style$1={Badge:{"&::part(base)":{fontSize:"var(--sl-font-size-small)",padding:"4px 8px",paddingLeft:"10px",whiteSpace:"pre-line"}},RedeemBadge:{"&::part(base)":{fontSize:"var(--sl-font-size-small)",padding:"4px 8px",background:"var(--sl-color-blue-600)"}},Date:{fontSize:"var(--sl-font-size-small)",color:"var(--sl-color-neutral-500)",margin:"0"}};var sheet$1=createStyleSheet(style$1);var styleString$1=sheet$1.toString();var RewardTableStatusCell=function(){function e(e){registerInstance(this,e);this.expiryText="Expires";this.locale="en";this.pendingUsTax="W-9 required";this.pendingScheduled="Until";this.pendingUnhandled="Fulfillment error"}e.prototype.rewardStatus=function(e){if(e.dateCancelled)return"CANCELLED";if(e.statuses&&e.statuses.includes("EXPIRED"))return"EXPIRED";if(e.statuses&&e.statuses.includes("PENDING"))return"PENDING";if(e.type==="CREDIT"){if(e.statuses.includes("REDEEMED"))return"REDEEMED";return"AVAILABLE"}if(e.type==="PCT_DISCOUNT"){if(e.statuses.includes("AVAILABLE"))return"AVAILABLE"}if(e.type==="INTEGRATION"||e.type==="FUELTANK"){if(e.statuses&&e.statuses.includes("PENDING"))return"PENDING";if(e.statuses&&e.statuses.includes("CANCELLED"))return"CANCELLED";if(e.statuses.includes("AVAILABLE"))return"AVAILABLE"}return""};e.prototype.render=function(){var e;intl.locale=this.locale;var t=this.rewardStatus(this.reward);var r=intl.formatMessage({id:"statusMessage",defaultMessage:this.statusText},{status:t});var a=t==="AVAILABLE"?"success":t==="REDEEMED"?"primary":t==="PENDING"?"warning":"danger";var n=this.reward.dateCancelled||this.reward.dateExpires||this.reward.dateRedeemed||"";var l=n&&""+(t==="AVAILABLE"&&this.reward.dateExpires?this.expiryText+" ":"")+((e=luxon.DateTime.fromMillis(n))===null||e===void 0?void 0:e.setLocale(luxonLocale(luxonLocale(this.locale))).toLocaleString(luxon.DateTime.DATE_MED));var s=t==="PENDING"?i(this):null;return h("div",{style:{display:"contents"}},h("style",{type:"text/css"},styleString$1),h("sl-badge",{type:a,pill:true,class:t==="REDEEMED"?sheet$1.classes.RedeemBadge:sheet$1.classes.Badge},r),h("p",{class:sheet$1.classes.Date},s||l));function i(e){var t;var r={US_TAX:e.pendingUsTax,SCHEDULED:e.reward.dateScheduledFor&&e.pendingScheduled+" "+((t=luxon.DateTime.fromMillis(e.reward.dateScheduledFor))===null||t===void 0?void 0:t.setLocale(luxonLocale(luxonLocale(e.locale||"en"))).toLocaleString(luxon.DateTime.DATE_MED)),UNHANDLED_ERROR:e.pendingUnhandled};return[e.reward.pendingReasons].map((function(e){var t;return(t=r[e])!==null&&t!==void 0?t:e})).join(", ")}};return e}();var RewardTableStatusColumn=function(){function e(e){registerInstance(this,e);this.columnTitle="Status";this.statusText="{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }";this.expiryText="Expires on ";this.pendingUsTax="W-9 required";this.pendingScheduled="Until";this.pendingUnhandled="Fulfillment error";h$1(this)}e.prototype.disconnectedCallback=function(){};e.prototype.renderCell=function(e,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){return[2,h("sqm-rewards-table-status-cell",{statusText:this.statusText,reward:e,expiryText:this.expiryText,pendingScheduled:this.pendingScheduled,pendingUsTax:this.pendingUsTax,pendingUnhandled:this.pendingUnhandled,locale:t})]}))}))};e.prototype.renderLabel=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.columnTitle]}))}))};e.prototype.render=function(){useRequestRerender([this.columnTitle,this.statusText,this.expiryText,this.pendingScheduled,this.pendingUsTax,this.pendingUnhandled]);return h(Host,{style:{display:"none"}})};return e}();export{RewardsTable as sqm_rewards_table,RewardTableDateCell as sqm_rewards_table_date_cell,RewardTableDateColumn as sqm_rewards_table_date_column,RewardTableRewardsCell as sqm_rewards_table_reward_cell,RewardsTableColumn as sqm_rewards_table_reward_column,RewardTableSourceCell as sqm_rewards_table_source_cell,RewardTableUserColumn as sqm_rewards_table_source_column,RewardTableStatusCell as sqm_rewards_table_status_cell,RewardTableStatusColumn as sqm_rewards_table_status_column};var templateObject_1;