@bikdotai/bik-component-library 0.0.758 → 0.0.759-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/components/QueryBuilder/Filters/CustomField/components/CustomField.js +1 -1
  2. package/dist/cjs/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  3. package/dist/cjs/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js +1 -1
  4. package/dist/cjs/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
  5. package/dist/cjs/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  6. package/dist/cjs/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
  7. package/dist/cjs/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  8. package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
  9. package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
  10. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  11. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  12. package/dist/cjs/components/QueryBuilder/helpers/SegmentValidator.d.ts +26 -6
  13. package/dist/cjs/components/QueryBuilder/helpers/SegmentValidator.js +1 -0
  14. package/dist/cjs/components/SearchFilter/components/DatePickerButton.js +1 -1
  15. package/dist/cjs/components/SearchFilter/components/DateRangeOnlyButton.js +1 -1
  16. package/dist/cjs/components/SearchFilter/components/SearchFilterItem.js +1 -1
  17. package/dist/cjs/components/TablePagination/TablePagination.js +1 -1
  18. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  19. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js +1 -1
  20. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  21. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
  22. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js +1 -1
  23. package/dist/cjs/components/bik-layout/MockMenus.d.ts +1 -0
  24. package/dist/cjs/components/country-code-picker/CountryCodePicker.js +1 -1
  25. package/dist/cjs/components/country-code-picker/CountryPicker.js +1 -1
  26. package/dist/cjs/components/custom-date-time/CustomDateTime.js +1 -1
  27. package/dist/cjs/components/custom-date-time/DateSelector/DateSelector.js +1 -1
  28. package/dist/cjs/components/datePicker/TimePicker.js +1 -1
  29. package/dist/cjs/components/discount-modal/CouponExpiration/CouponExpiration.js +1 -1
  30. package/dist/cjs/components/discount-modal/DiscountModal.js +1 -1
  31. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
  32. package/dist/cjs/components/discount-modal/DynamicCoupon/MinimumRequirementComponent.js +1 -1
  33. package/dist/cjs/components/dropdown/hooks/useDropdown.js +1 -1
  34. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  35. package/dist/cjs/constants/Theme.d.ts +4 -0
  36. package/dist/cjs/constants/Theme.js +1 -1
  37. package/dist/esm/components/QueryBuilder/Filters/CustomField/components/CustomField.js +1 -1
  38. package/dist/esm/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  39. package/dist/esm/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js +1 -1
  40. package/dist/esm/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
  41. package/dist/esm/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  42. package/dist/esm/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
  43. package/dist/esm/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  44. package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
  45. package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
  46. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  47. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  48. package/dist/esm/components/QueryBuilder/helpers/SegmentValidator.d.ts +26 -6
  49. package/dist/esm/components/QueryBuilder/helpers/SegmentValidator.js +1 -0
  50. package/dist/esm/components/SearchFilter/components/DatePickerButton.js +1 -1
  51. package/dist/esm/components/SearchFilter/components/DateRangeOnlyButton.js +1 -1
  52. package/dist/esm/components/SearchFilter/components/SearchFilterItem.js +1 -1
  53. package/dist/esm/components/TablePagination/TablePagination.js +1 -1
  54. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  55. package/dist/esm/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js +1 -1
  56. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  57. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
  58. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js +1 -1
  59. package/dist/esm/components/bik-layout/MockMenus.d.ts +1 -0
  60. package/dist/esm/components/country-code-picker/CountryCodePicker.js +1 -1
  61. package/dist/esm/components/country-code-picker/CountryPicker.js +1 -1
  62. package/dist/esm/components/custom-date-time/CustomDateTime.js +1 -1
  63. package/dist/esm/components/custom-date-time/DateSelector/DateSelector.js +1 -1
  64. package/dist/esm/components/datePicker/TimePicker.js +1 -1
  65. package/dist/esm/components/discount-modal/CouponExpiration/CouponExpiration.js +1 -1
  66. package/dist/esm/components/discount-modal/DiscountModal.js +1 -1
  67. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
  68. package/dist/esm/components/discount-modal/DynamicCoupon/MinimumRequirementComponent.js +1 -1
  69. package/dist/esm/components/dropdown/hooks/useDropdown.js +1 -1
  70. package/dist/esm/components/dropdown-button/DropdownButton.js +1 -1
  71. package/dist/esm/constants/Theme.d.ts +4 -0
  72. package/dist/esm/constants/Theme.js +1 -1
  73. package/package.json +3 -3
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{Chart as o,CategoryScale as i,LinearScale as n,PointElement as r,BarElement as a,LineElement as d,ArcElement as s,Filler as c,Title as u,Tooltip as p,Legend as y}from"chart.js";import{useState as g,useRef as m,useEffect as v}from"react";import{Line as b}from"react-chartjs-2";import{BodyTiny as h}from"../../../TypographyStyle.js";import{COLORS as f}from"../../../../constants/Theme.js";import{truncateValueForInternationalStore as x,truncateValueForIndianStore as C}from"../utils/calcPercentage.js";import{LegendWrapper as k,LegendContainer as j,LegendColor as w}from"./LineChart.styled.js";o.register(i,n,r,a,d,s,c,u,p,y);const S=o=>{let{scaleText:i,labels:n,canvasHeight:r,datas:a,maintainAspectRatio:d=!1,stepSize:s,min:c,max:u,isZeroState:p,tension:y,isNewStyles:S,prefixCurrencyInYAxis:B,pointRadius:O,useKFormat:$,lineThickness:A,ticksLabelCallback:z,labelCallback:D,afterBodyCallBack:I,titleTooltipCallback:F,isInternationalStore:T,customYHeaders:Y,headerIcons:P=[],legendsAndIconDirection:R="row",hasSecondYAxis:q=!1,min2:L,max2:H,stepSize2:Z,prefixCurrencyInY2Axis:E,useKFormat2:K,customY2Headers:W}=o;var G,N,J,M;const[Q,U]=g(null),V=m();v((()=>{var e,t,l,o;if(null===(o=null===(l=null===(t=null===(e=V.current)||void 0===e?void 0:e.scales)||void 0===t?void 0:t.y)||void 0===l?void 0:l.ticks)||void 0===o?void 0:o.length){const e=38*V.current.scales.y.ticks.length;U(e)}}),[V]);const X=a.map((e=>({text:e.legend,color:e.lineColor?e.lineColor:e.dotted?f.content.placeholder:f.background.brand,square:e.squareLegends}))),_={labels:n,datasets:a.map(((e,t)=>{var l,o,i;return Object.assign(Object.assign({tension:null!=y?y:.4,fill:e.gradient?"start":0},((e,t,l)=>{const o={borderColor:e||(t?f.content.placeholder:f.background.brand)};return S?Object.assign({pointStyle:"circle",pointRadius:O||(n&&n.length>10?2.5:4),pointBorderColor:"transparent",pointBackgroundColor:l||e||(t?f.content.placeholder:f.background.brand)},o):Object.assign({pointRadius:null!=O?O:1},o)})(e.lineColor,e.dotted,e.pointColors)),{borderDash:e.dotted?[8,3]:void 0,data:e.data,borderWidth:null!==(o=null!==(l=e.lineWidth)&&void 0!==l?l:A)&&void 0!==o?o:2,backgroundColor:e.gradient?t=>{const l=t.chart.ctx.createLinearGradient(0,0,0,Q?Q-75:150);return e.gradientColor?(l.addColorStop(0,e.gradientColor.start),l.addColorStop(1,e.gradientColor.end),l):(l.addColorStop(0,"#F1EEFB"),l.addColorStop(1,"rgba(127, 86, 217, 0)"),l)}:null!==(i=e.backgroundColor)&&void 0!==i?i:"transparent",legend:e.legend,yAxisID:e.useSecondYAxis?"y1":"y"})}))},ee={maintainAspectRatio:d,responsive:!0,plugins:{legend:{display:!1},title:{display:!1},tooltip:{displayColors:null!=S&&S,titleFont:()=>({weight:"600",size:14,family:"inter"}),titleColor:()=>f.content.primaryInverse,backgroundColor:f.content.primary,callbacks:{labelTextColor:()=>f.content.primaryInverse,title:F,label:D,afterBody:I},bodyFont:()=>({weight:"400",size:14,family:"inter"})}},scales:{y:{beginAtZero:!0,min:p?0:c,max:p?10:u,position:"left",id:"y",ticks:{color:f.content.secondary,callback:e=>{var t,l;return $?`${null!==(t=null==i?void 0:i.yPrefix)&&void 0!==t?t:""}${T?x(e):C(e)}${null!=B?B:""}`:Y&&Object.keys(Y).length>0?Y[e]:`${null!==(l=null==i?void 0:i.yPrefix)&&void 0!==l?l:""}${e}${null!=B?B:""}`},font:{family:"inter",size:12,weight:"400"},stepSize:p?1:s,padding:S?24:0},title:{display:!!(null==i?void 0:i.y),text:null==i?void 0:i.y},grid:{color:f.background.base,drawBorder:null===(G=null==i?void 0:i.yDrawBorder)||void 0===G||G}},y1:{beginAtZero:!0,min:p?0:L,max:p?10:H,position:"right",id:"y1",display:q,ticks:{color:f.content.secondary,callback:e=>{var t,l;return K?`${null!==(t=null==i?void 0:i.y2Prefix)&&void 0!==t?t:""}${T?x(e):C(e)}${null!=E?E:""}`:W&&Object.keys(W).length>0?W[e]:`${null!==(l=null==i?void 0:i.y2Prefix)&&void 0!==l?l:""}${e}${null!=E?E:""}`},font:{family:"inter",size:12,weight:"400"},stepSize:p?1:Z,padding:S?24:0},title:{display:!!(null==i?void 0:i.y2),text:null==i?void 0:i.y2},grid:{color:"transparent",drawBorder:null===(N=null==i?void 0:i.y2DrawBorder)||void 0===N||N}},x:{ticks:{callback:z,color:f.content.secondary,font:{family:"inter",size:12,weight:"400"}},title:{display:!!(null==i?void 0:i.x),text:null==i?void 0:i.x},grid:{display:!1,drawBorder:null!==(J=null==i?void 0:i.xDrawBorder)&&void 0!==J&&J}}}};return e("div",Object.assign({style:Object.assign(Object.assign({},d?{}:{height:null!==(M=null!=r?r:Q)&&void 0!==M?M:204}),{display:"flex",flexDirection:"column",gap:2,width:"100%"})},{children:[e("div",Object.assign({style:{display:"flex",justifyContent:"space-between",width:"100%",flexDirection:R}},{children:[t(k,{children:P.map(((e,l)=>t(j,{children:e},l)))}),t(k,{children:X.map(((o,i)=>{let{text:n,color:r,square:a}=o;return n?e(j,{children:[t(w,{color:r,square:a,newStyle:S}),t(h,Object.assign({color:"#667085"},{children:n}))]},i):t(l,{})}))})]})),t("div",Object.assign({style:{flex:1}},{children:t(b,{ref:V,options:ee,data:_})}))]}))};export{S as LineChart};
1
+ import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{Chart as o,CategoryScale as i,LinearScale as n,PointElement as r,BarElement as a,LineElement as d,ArcElement as s,Filler as c,Title as u,Tooltip as p,Legend as y}from"chart.js";import{useState as g,useRef as b,useEffect as m}from"react";import{Line as v}from"react-chartjs-2";import{BodyTiny as h}from"../../../TypographyStyle.js";import{COLORS as f}from"../../../../constants/Theme.js";import{truncateValueForInternationalStore as x,truncateValueForIndianStore as C}from"../utils/calcPercentage.js";import{LegendWrapper as k,LegendContainer as j,LegendColor as w}from"./LineChart.styled.js";o.register(i,n,r,a,d,s,c,u,p,y);const S=o=>{let{scaleText:i,labels:n,canvasHeight:r,datas:a,maintainAspectRatio:d=!1,stepSize:s,min:c,max:u,isZeroState:p,tension:y,isNewStyles:S,prefixCurrencyInYAxis:B,pointRadius:O,useKFormat:$,lineThickness:A,ticksLabelCallback:z,labelCallback:D,afterBodyCallBack:I,titleTooltipCallback:F,isInternationalStore:T,customYHeaders:Y,headerIcons:P=[],legendsAndIconDirection:R="row",hasSecondYAxis:q=!1,min2:L,max2:H,stepSize2:Z,prefixCurrencyInY2Axis:E,useKFormat2:K,customY2Headers:W}=o;var G,N,J,M;const[Q,U]=g(null),V=b();m((()=>{var e,t,l,o;if(null===(o=null===(l=null===(t=null===(e=V.current)||void 0===e?void 0:e.scales)||void 0===t?void 0:t.y)||void 0===l?void 0:l.ticks)||void 0===o?void 0:o.length){const e=38*V.current.scales.y.ticks.length;U(e)}}),[V]);const X=a.map((e=>({text:e.legend,color:e.lineColor?e.lineColor:e.dotted?f.content.placeholder:f.background.brand,square:e.squareLegends}))),_={labels:n,datasets:a.map(((e,t)=>{var l,o,i;return Object.assign(Object.assign({tension:null!=y?y:.4,fill:e.gradient?"start":0},((e,t,l)=>{const o={borderColor:e||(t?f.content.placeholder:f.background.brand)};return S?Object.assign({pointStyle:"circle",pointRadius:O||(n&&n.length>10?2.5:4),pointBorderColor:"transparent",pointBackgroundColor:l||e||(t?f.content.placeholder:f.background.brand)},o):Object.assign({pointRadius:null!=O?O:1},o)})(e.lineColor,e.dotted,e.pointColors)),{borderDash:e.dotted?[8,3]:void 0,data:e.data,borderWidth:null!==(o=null!==(l=e.lineWidth)&&void 0!==l?l:A)&&void 0!==o?o:2,backgroundColor:e.gradient?t=>{const l=t.chart.ctx.createLinearGradient(0,0,0,Q?Q-75:150);return e.gradientColor?(l.addColorStop(0,e.gradientColor.start),l.addColorStop(1,e.gradientColor.end),l):(l.addColorStop(0,"#F1EEFB"),l.addColorStop(1,"rgba(127, 86, 217, 0)"),l)}:null!==(i=e.backgroundColor)&&void 0!==i?i:"transparent",legend:e.legend,yAxisID:e.useSecondYAxis?"y1":"y"})}))},ee={maintainAspectRatio:d,responsive:!0,plugins:{datalabels:{display:!1},legend:{display:!1},title:{display:!1},tooltip:{displayColors:null!=S&&S,titleFont:()=>({weight:"600",size:14,family:"inter"}),titleColor:()=>f.content.primaryInverse,backgroundColor:f.content.primary,callbacks:{labelTextColor:()=>f.content.primaryInverse,title:F,label:D,afterBody:I},bodyFont:()=>({weight:"400",size:14,family:"inter"})}},scales:{y:{beginAtZero:!0,min:p?0:c,max:p?10:u,position:"left",id:"y",ticks:{color:f.content.secondary,callback:e=>{var t,l;return $?`${null!==(t=null==i?void 0:i.yPrefix)&&void 0!==t?t:""}${T?x(e):C(e)}${null!=B?B:""}`:Y&&Object.keys(Y).length>0?Y[e]:`${null!==(l=null==i?void 0:i.yPrefix)&&void 0!==l?l:""}${e}${null!=B?B:""}`},font:{family:"inter",size:12,weight:"400"},stepSize:p?1:s,padding:S?24:0},title:{display:!!(null==i?void 0:i.y),text:null==i?void 0:i.y},grid:{color:f.background.base,drawBorder:null===(G=null==i?void 0:i.yDrawBorder)||void 0===G||G}},y1:{beginAtZero:!0,min:p?0:L,max:p?10:H,position:"right",id:"y1",display:q,ticks:{color:f.content.secondary,callback:e=>{var t,l;return K?`${null!==(t=null==i?void 0:i.y2Prefix)&&void 0!==t?t:""}${T?x(e):C(e)}${null!=E?E:""}`:W&&Object.keys(W).length>0?W[e]:`${null!==(l=null==i?void 0:i.y2Prefix)&&void 0!==l?l:""}${e}${null!=E?E:""}`},font:{family:"inter",size:12,weight:"400"},stepSize:p?1:Z,padding:S?24:0},title:{display:!!(null==i?void 0:i.y2),text:null==i?void 0:i.y2},grid:{color:"transparent",drawBorder:null===(N=null==i?void 0:i.y2DrawBorder)||void 0===N||N}},x:{ticks:{callback:z,color:f.content.secondary,font:{family:"inter",size:12,weight:"400"}},title:{display:!!(null==i?void 0:i.x),text:null==i?void 0:i.x},grid:{display:!1,drawBorder:null!==(J=null==i?void 0:i.xDrawBorder)&&void 0!==J&&J}}}};return e("div",Object.assign({style:Object.assign(Object.assign({},d?{}:{height:null!==(M=null!=r?r:Q)&&void 0!==M?M:204}),{display:"flex",flexDirection:"column",gap:2,width:"100%"})},{children:[e("div",Object.assign({style:{display:"flex",justifyContent:"space-between",width:"100%",flexDirection:R}},{children:[t(k,{children:P.map(((e,l)=>t(j,{children:e},l)))}),t(k,{children:X.map(((o,i)=>{let{text:n,color:r,square:a}=o;return n?e(j,{children:[t(w,{color:r,square:a,newStyle:S}),t(h,Object.assign({color:"#667085"},{children:n}))]},i):t(l,{})}))})]})),t("div",Object.assign({style:{flex:1}},{children:t(v,{ref:V,options:ee,data:_})}))]}))};export{S as LineChart};
@@ -1 +1 @@
1
- import g from"@emotion/styled/base";import{jsx as I,Fragment as C,jsxs as A}from"react/jsx-runtime";import c from"../../../../assets/icons/ChartBar.svg.js";import l from"../../../../assets/icons/maximize.svg.js";import{Chart as b,ArcElement as G,Legend as d}from"chart.js";import X,{useState as i,useEffect as s,Suspense as a}from"react";import{Doughnut as n}from"react-chartjs-2";import{IconButton as h}from"../../../icon-button/IconButton.js";import{StyledModal as e}from"../../../modals/styledModal.js";import{TitleMedium as H}from"../../../TypographyStyle.js";import t from"../../../../utils/StringUtils.js";import{COLORS as o}from"../../../../constants/Theme.js";import{truncateValueForInternationalStore as Z,truncateValueForIndianStore as J}from"../utils/calcPercentage.js";import{PieChart as B}from"./PieChart.js";const y=X.lazy((()=>import("../VerticalBarGraph/VerticalGraph.js").then((g=>({default:g.VerticalGraph})))));b.register(G,d);const Y=g=>({plugins:{legend:{display:!1},tooltip:{enabled:!0,callbacks:{label:I=>{var C;if(!I.label)return" 0%";const A=I.dataset.data.reduce(((g,I)=>g+I),0),c=parseFloat((I.raw/A*100).toFixed(1)),{label:l,raw:b}=I,G=null!==(C=null==g?void 0:g.symbol)&&void 0!==C?C:"",d=null==g?void 0:g.isInternationalStore;return[` ${l}`,` ${G}${void 0!==d?d?Z(b):J(b):b} (${c}% of ${G}${void 0!==d?d?Z(A):J(A):A})`]}}}}}),R=["#5E07BB","#9E77ED","#D2AEFF","#CDE1FF","#92AFFA","#3935E1"],p=g("div","production"===process.env.NODE_ENV?{target:"elaov7f0"}:{target:"elaov7f0",label:"CartStyled"})("background:",(g=>o.surface.standard),";border:1px solid ",(g=>o.stroke.primary),";border-radius:4px;"+("production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRjhCIiwiZmlsZSI6IlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgQmFyQ2hhcnRJY29uIGZyb20gJ0BzcmMvYXNzZXRzL2ljb25zL0NoYXJ0QmFyLnN2Zyc7XHJcbmltcG9ydCBNYXhpbWl6ZUljb24gZnJvbSAnQHNyYy9hc3NldHMvaWNvbnMvbWF4aW1pemUuc3ZnJztcclxuaW1wb3J0IHsgQXJjRWxlbWVudCwgQ2hhcnQgYXMgQ2hhcnRKUywgTGVnZW5kIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IERvdWdobnV0IH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gXCIuLi8uLi8uLi9pY29uLWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBTdHlsZWRNb2RhbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RhbHNcIjtcclxuaW1wb3J0IHsgVGl0bGVNZWRpdW0gfSBmcm9tIFwiLi4vLi4vLi4vVHlwb2dyYXBoeVN0eWxlXCI7XHJcbmltcG9ydCBTdHJpbmdVdGlscyBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvU3RyaW5nVXRpbHNcIjtcclxuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbnN0YW50cy9UaGVtZVwiO1xyXG5pbXBvcnQgeyB0cnVuY2F0ZVZhbHVlRm9ySW5kaWFuU3RvcmUsIHRydW5jYXRlVmFsdWVGb3JJbnRlcm5hdGlvbmFsU3RvcmUsIH0gZnJvbSAnLi4vdXRpbHMvY2FsY1BlcmNlbnRhZ2UnO1xyXG5pbXBvcnQgeyBQaWVDaGFydCB9IGZyb20gJy4vUGllQ2hhcnQnO1xyXG4vLyBMYXp5IGxvYWQgdGhlIFZlcnRpY2FsR3JhcGggY29tcG9uZW50XHJcbmNvbnN0IFZlcnRpY2FsR3JhcGggPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydCgnLi4vVmVydGljYWxCYXJHcmFwaC9WZXJ0aWNhbEdyYXBoJykudGhlbigobW9kdWxlKSA9PiAoe1xyXG4gICAgZGVmYXVsdDogbW9kdWxlLlZlcnRpY2FsR3JhcGgsXHJcbn0pKSk7XHJcbkNoYXJ0SlMucmVnaXN0ZXIoQXJjRWxlbWVudCwgTGVnZW5kKTtcclxuY29uc3QgY29udmVydFRvQmFyQ2hhcnREYXRhID0gKGRhdGEsIHhBeGlzVGl0bGUsIHlBeGlzVGl0bGUpID0+IHtcclxuICAgIGNvbnN0IHhBeGlzRGF0YSA9IGRhdGEubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xyXG4gICAgY29uc3QgeUF4aXNEYXRhID0gZGF0YS5tYXAoKGl0ZW0pID0+IGl0ZW0uY291bnQpO1xyXG4gICAgY29uc3QgeEF4aXMgPSB7XHJcbiAgICAgICAgZGF0YTogeEF4aXNEYXRhLFxyXG4gICAgICAgIHRpdGxlOiB4QXhpc1RpdGxlICE9PSBudWxsICYmIHhBeGlzVGl0bGUgIT09IHZvaWQgMCA/IHhBeGlzVGl0bGUgOiAnJyxcclxuICAgIH07XHJcbiAgICBjb25zdCB5QXhpcyA9IHtcclxuICAgICAgICBkYXRhOiB5QXhpc0RhdGEsXHJcbiAgICAgICAgdGl0bGU6IHlBeGlzVGl0bGUgIT09IG51bGwgJiYgeUF4aXNUaXRsZSAhPT0gdm9pZCAwID8geUF4aXNUaXRsZSA6ICcnLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGJhckNoYXJ0RGF0YSA9IHtcclxuICAgICAgICB4QXhpcyxcclxuICAgICAgICB5QXhpcyxcclxuICAgICAgICBiYXJDb2xvclJHQkE6IHsgcjogMjEwLCBnOiAxNzQsIGI6IDI1NSwgYTogMSB9LFxyXG4gICAgfTtcclxuICAgIHJldHVybiBiYXJDaGFydERhdGE7XHJcbn07XHJcbmNvbnN0IG9wdGlvbnMgPSAoY3VycmVuY3lQcm9wcykgPT4gKHtcclxuICAgIHBsdWdpbnM6IHtcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwOiB7XHJcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRvb2x0aXBJdGVtLmxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgIDAlYDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWwgPSB0b29sdGlwSXRlbS5kYXRhc2V0LmRhdGEucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gcGFyc2VGbG9hdCgoKHRvb2x0aXBJdGVtLnJhdyAvIHRvdGFsKSAqIDEwMCkudG9GaXhlZCgxKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBsYWJlbCwgcmF3IH0gPSB0b29sdGlwSXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzeW1ib2wgPSAoX2EgPSBjdXJyZW5jeVByb3BzID09PSBudWxsIHx8IGN1cnJlbmN5UHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN1cnJlbmN5UHJvcHMuc3ltYm9sKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0ludGwgPSBjdXJyZW5jeVByb3BzID09PSBudWxsIHx8IGN1cnJlbmN5UHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN1cnJlbmN5UHJvcHMuaXNJbnRlcm5hdGlvbmFsU3RvcmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpc0ludGwgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzSW50bFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0cnVuY2F0ZVZhbHVlRm9ySW50ZXJuYXRpb25hbFN0b3JlKHJhdylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1bmNhdGVWYWx1ZUZvckluZGlhblN0b3JlKHJhdylcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiByYXc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWxWYWx1ZSA9IGlzSW50bCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNJbnRsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRydW5jYXRlVmFsdWVGb3JJbnRlcm5hdGlvbmFsU3RvcmUodG90YWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydW5jYXRlVmFsdWVGb3JJbmRpYW5TdG9yZSh0b3RhbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0b3RhbDtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBgICR7bGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYCAke3N5bWJvbH0ke3ZhbHVlfSAoJHtwZXJjZW50YWdlfSUgb2YgJHtzeW1ib2x9JHt0b3RhbFZhbHVlfSlgLFxyXG4gICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG59KTtcclxuY29uc3QgR1JBUEhfQ09MT1JTID0gW1xyXG4gICAgJyM1RTA3QkInLFxyXG4gICAgJyM5RTc3RUQnLFxyXG4gICAgJyNEMkFFRkYnLFxyXG4gICAgJyNDREUxRkYnLFxyXG4gICAgJyM5MkFGRkEnLFxyXG4gICAgJyMzOTM1RTEnLFxyXG5dO1xyXG5jb25zdCBDYXJ0U3R5bGVkID0gc3R5bGVkLmRpdiBgXG5cdGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBDT0xPUlMuc3VyZmFjZS5zdGFuZGFyZH07XG5cdGJvcmRlcjogMXB4IHNvbGlkICR7KHByb3BzKSA9PiBDT0xPUlMuc3Ryb2tlLnByaW1hcnl9O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5gO1xyXG5leHBvcnQgY29uc3QgQ2FyZCA9IChwcm9wcykgPT4ge1xyXG4gICAgcmV0dXJuIF9qc3goQ2FydFN0eWxlZCwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7IHBhZGRpbmc6IDI0IH0gfSwgeyBjaGlsZHJlbjogcHJvcHMuY2hpbGRyZW4gfSkpO1xyXG59O1xyXG5leHBvcnQgY29uc3QgUGllQ2hhcnRBbmFseXRpY3MgPSAoeyB0aXRsZSwgc2xpY2VzLCBzaXplLCBhbGxvd0NoYXJ0UG9wdXAsIHNob3dDb252ZXJ0VG9CYXJDaGFydCwgdHJ1bmNhdGVTbGljZXMsIGJhckNoYXJ0WEF4aXNUaXRsZSwgYmFyQ2hhcnRZQXhpc1RpdGxlLCBoaWRlVGl0bGUgPSBmYWxzZSwgY3VycmVuY3lQcm9wcywgfSkgPT4ge1xyXG4gICAgY29uc3QgW3Nob3dQb3B1cCwgc2V0U2hvd1BvcHVwXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtzaG93QmFyQ2hhcnQsIHNldFNob3dCYXJDaGFydF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbc2xpY2VzV2l0aENvbG9yLCBzZXRTbGljZXNXaXRoQ29sb3JdID0gdXNlU3RhdGUoW10pO1xyXG4gICAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGUoKTtcclxuICAgIGNvbnN0IFt0cnVuY2F0ZWREYXRhLCBzZXRUcnVuY2F0ZWREYXRhXSA9IHVzZVN0YXRlKCk7XHJcbiAgICBjb25zdCBbdHJ1bmNhdGVkU2xpY2VzV2l0aENvbG9yLCBzZXRUcnVuY2F0ZWRTbGljZXNXaXRoQ29sb3JdID0gdXNlU3RhdGUoW10pO1xyXG4gICAgY29uc3QgW2JhckNoYXJ0RGF0YSwgc2V0QmFyQ2hhcnREYXRhXSA9IHVzZVN0YXRlKG51bGwpO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b3RhbFN1bSA9IHNsaWNlcy5yZWR1Y2UoKHN1bSwgc2xpY2UpID0+IHN1bSArIHNsaWNlLmNvdW50LCAwKTtcclxuICAgICAgICBsZXQgdXBkYXRlZFNsaWNlc1dpdGhDb2xvciA9IFtdO1xyXG4gICAgICAgIHVwZGF0ZWRTbGljZXNXaXRoQ29sb3IgPSBPYmplY3Qua2V5cyhzbGljZXMpLm1hcCgoa2V5LCBpbmRleCkgPT4gKE9iamVjdC5hc3NpZ24oeyBjb2xvcjogR1JBUEhfQ09MT1JTW2luZGV4ICUgR1JBUEhfQ09MT1JTLmxlbmd0aF0gfSwgc2xpY2VzW2tleV0pKSk7XHJcbiAgICAgICAgc2V0U2xpY2VzV2l0aENvbG9yKFsuLi51cGRhdGVkU2xpY2VzV2l0aENvbG9yXSk7XHJcbiAgICAgICAgaWYgKHRvdGFsU3VtID09PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXQgPSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogWzEwMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWycjRjBGMEYwJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgbGFiZWxzOiBbXSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgc2V0RGF0YShkYXRhU2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXQgPSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHNsaWNlcy5tYXAoKHNsaWNlKSA9PiBTdHJpbmdVdGlscy5jYXBpdGFsaXplRWFjaFdvcmQoc2xpY2UubmFtZSkpLFxyXG4gICAgICAgICAgICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHNsaWNlcy5tYXAoKHNsaWNlKSA9PiBzbGljZS5jb3VudCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogc2xpY2VzLm1hcCgoc2xpY2UsIGluZGV4KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IHNsaWNlLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBHUkFQSF9DT0xPUlNbaW5kZXggJSBHUkFQSF9DT0xPUlMubGVuZ3RoXTsgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiA0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNldERhdGEoZGF0YVNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0cnVuY2F0ZVNsaWNlcyAmJiBzbGljZXMubGVuZ3RoID4gdHJ1bmNhdGVTbGljZXMpIHtcclxuICAgICAgICAgICAgY29uc3QgdHJ1bmNhdGVkU2xpY2VzID0gc2xpY2VzLnNsaWNlKDAsIHRydW5jYXRlU2xpY2VzKTtcclxuICAgICAgICAgICAgY29uc3Qgb3RoZXJTbGljZXMgPSBzbGljZXMuc2xpY2UodHJ1bmNhdGVTbGljZXMpO1xyXG4gICAgICAgICAgICBjb25zdCBvdGhlckNvdW50ID0gb3RoZXJTbGljZXMucmVkdWNlKChzdW0sIHNsaWNlKSA9PiBzdW0gKyBzbGljZS5jb3VudCwgMCk7XHJcbiAgICAgICAgICAgIHRydW5jYXRlZFNsaWNlcy5wdXNoKHsgbmFtZTogJ090aGVyJywgY291bnQ6IG90aGVyQ291bnQgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRydW5jYXRlZERhdGFTZXQgPSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHRydW5jYXRlZFNsaWNlcy5tYXAoKHNsaWNlKSA9PiBTdHJpbmdVdGlscy5jYXBpdGFsaXplKHNsaWNlLm5hbWUpKSxcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB0cnVuY2F0ZWRTbGljZXMubWFwKChzbGljZSkgPT4gc2xpY2UuY291bnQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRydW5jYXRlZFNsaWNlcy5tYXAoKHNsaWNlLCBpbmRleCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBzbGljZS5jb2xvcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogR1JBUEhfQ09MT1JTW2luZGV4ICUgR1JBUEhfQ09MT1JTLmxlbmd0aF07IH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogWyd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogNCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBzZXRUcnVuY2F0ZWREYXRhKHRydW5jYXRlZERhdGFTZXQpO1xyXG4gICAgICAgICAgICBjb25zdCB0cnVuY2F0ZWRTbGljZXNXaXRoQ29sb3IgPSB0cnVuY2F0ZWRTbGljZXMubWFwKChzbGljZSwgaW5kZXgpID0+IChPYmplY3QuYXNzaWduKHsgY29sb3I6IEdSQVBIX0NPTE9SU1tpbmRleCAlIEdSQVBIX0NPTE9SUy5sZW5ndGhdIH0sIHNsaWNlKSkpO1xyXG4gICAgICAgICAgICBzZXRUcnVuY2F0ZWRTbGljZXNXaXRoQ29sb3IodHJ1bmNhdGVkU2xpY2VzV2l0aENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNob3dDb252ZXJ0VG9CYXJDaGFydCkge1xyXG4gICAgICAgICAgICBzZXRCYXJDaGFydERhdGEoY29udmVydFRvQmFyQ2hhcnREYXRhKHNsaWNlcywgYmFyQ2hhcnRYQXhpc1RpdGxlLCBiYXJDaGFydFlBeGlzVGl0bGUpKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbc2xpY2VzLCB0cnVuY2F0ZVNsaWNlc10pO1xyXG4gICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIF9qc3goX0ZyYWdtZW50LCB7fSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogaGlkZVRpdGxlIHx8ICh0aXRsZSA9PT0gbnVsbCB8fCB0aXRsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGl0bGUubGVuZ3RoKSA9PT0gMCA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2VlbicsXHJcbiAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IFshaGlkZVRpdGxlICYmIHRpdGxlICYmIChfanN4KFRpdGxlTWVkaXVtLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogMTYsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gfSwgeyBjaGlsZHJlbjogdGl0bGUgfSkpKSwgX2pzeHMoXCJkaXZcIiwgeyBjaGlsZHJlbjogW3Nob3dDb252ZXJ0VG9CYXJDaGFydCAmJiAoX2pzeChJY29uQnV0dG9uLCB7IEljb246IEJhckNoYXJ0SWNvbiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93QmFyQ2hhcnQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9KSksIGFsbG93Q2hhcnRQb3B1cCAmJiAoX2pzeChJY29uQnV0dG9uLCB7IEljb246IE1heGltaXplSWNvbiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93UG9wdXAodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9KSldIH0pXSB9KSksIF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBjbGFzc05hbWU6ICdyb3cnIH0sIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBjbGFzc05hbWU6ICdjb2wtNiAnLCBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gfSwgeyBjaGlsZHJlbjogX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IF9qc3goRG91Z2hudXQsIHsgZGF0YTogKHRydW5jYXRlU2xpY2VzID8gdHJ1bmNhdGVkRGF0YSA6IGRhdGEpLCBvcHRpb25zOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMoY3VycmVuY3lQcm9wcykpLCB7IG1haW50YWluQXNwZWN0UmF0aW86IHNpemUgPyBmYWxzZSA6IHRydWUgfSkgfSkgfSkpIH0pKSwgX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAnY29sLTYnLCBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDQ4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IF9qc3goUGllQ2hhcnQsIHsgc2xpY2VzOiB0cnVuY2F0ZVNsaWNlcyA/IHRydW5jYXRlZFNsaWNlc1dpdGhDb2xvciA6IHNsaWNlc1dpdGhDb2xvciwgc2l6ZTogc2l6ZSB9KSB9KSldIH0pKSwgc2hvd1BvcHVwICYmIChfanN4KFN0eWxlZE1vZGFsLCBPYmplY3QuYXNzaWduKHsgb3Blbjogc2hvd1BvcHVwLCBvbkNsb3NlOiAoKSA9PiBzZXRTaG93UG9wdXAoZmFsc2UpLCBjbG9zZU9uT3V0c2lkZUNsaWNrOiB0cnVlLCBoZWFkaW5nVGl0bGU6IHRpdGxlLCB3aWR0aDogXCI3NSVcIiB9LCB7IGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnODB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHsgd2lkdGg6ICc1NSUnLCBtYXJnaW5MZWZ0OiAnNCUnIH0gfSwgeyBjaGlsZHJlbjogX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IF9qc3goRG91Z2hudXQsIHsgZGF0YTogZGF0YSwgb3B0aW9uczogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKGN1cnJlbmN5UHJvcHMpKSwgeyBtYWludGFpbkFzcGVjdFJhdGlvOiBzaXplID8gZmFsc2UgOiB0cnVlIH0pIH0pIH0pKSB9KSksIF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICczMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KFBpZUNoYXJ0LCB7IHNsaWNlczogc2xpY2VzV2l0aENvbG9yIH0pIH0pKV0gfSkpIH0pKSksIHNob3dCYXJDaGFydCAmJiBiYXJDaGFydERhdGEgJiYgKF9qc3goU3R5bGVkTW9kYWwsIE9iamVjdC5hc3NpZ24oeyBvcGVuOiBzaG93QmFyQ2hhcnQsIG9uQ2xvc2U6ICgpID0+IHNldFNob3dCYXJDaGFydChmYWxzZSksIGNsb3NlT25PdXRzaWRlQ2xpY2s6IHRydWUsIGhlYWRpbmdUaXRsZTogdGl0bGUsIHdpZHRoOiBcIjg1JVwiIH0sIHsgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcyNHB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0gfSwgeyBjaGlsZHJlbjogX2pzeChTdXNwZW5zZSwgT2JqZWN0LmFzc2lnbih7IGZhbGxiYWNrOiBfanN4KFwiZGl2XCIsIHsgY2hpbGRyZW46IFwiTG9hZGluZy4uLlwiIH0pIH0sIHsgY2hpbGRyZW46IF9qc3goVmVydGljYWxHcmFwaCwgeyB4QXhpczogYmFyQ2hhcnREYXRhLnhBeGlzLCB5QXhpczogYmFyQ2hhcnREYXRhLnlBeGlzLCBiYXJDb2xvclJHQkE6IGJhckNoYXJ0RGF0YSA9PT0gbnVsbCB8fCBiYXJDaGFydERhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJhckNoYXJ0RGF0YS5iYXJDb2xvclJHQkEgfSkgfSkpIH0pKSB9KSkpXSB9KSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBpZUNoYXJ0QW5hbHl0aWNzLmpzLm1hcCJdfQ== */")),W=g=>I(p,Object.assign({style:{padding:24}},{children:g.children})),m=g=>{let{title:b,slices:G,size:d,allowChartPopup:X,showConvertToBarChart:o,truncateSlices:Z,barChartXAxisTitle:J,barChartYAxisTitle:p,hideTitle:W=!1,currencyProps:m}=g;const[x,N]=i(!1),[u,F]=i(!1),[V,S]=i([]),[r,z]=i(),[v,j]=i(),[Q,w]=i([]),[k,U]=i(null);return s((()=>{const g=G.reduce(((g,I)=>g+I.count),0);let I=[];if(I=Object.keys(G).map(((g,I)=>Object.assign({color:R[I%R.length]},G[g]))),S([...I]),0===g){z({datasets:[{data:[100],backgroundColor:["#F0F0F0"],borderWidth:0}],labels:[]})}else{const g={labels:G.map((g=>t.capitalizeEachWord(g.name))),datasets:[{data:G.map((g=>g.count)),backgroundColor:G.map(((g,I)=>{var C;return null!==(C=g.color)&&void 0!==C?C:R[I%R.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};z(g)}if(Z&&G.length>Z){const g=G.slice(0,Z),I=G.slice(Z).reduce(((g,I)=>g+I.count),0);g.push({name:"Other",count:I});const C={labels:g.map((g=>t.capitalize(g.name))),datasets:[{data:g.map((g=>g.count)),backgroundColor:g.map(((g,I)=>{var C;return null!==(C=g.color)&&void 0!==C?C:R[I%R.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};j(C);const A=g.map(((g,I)=>Object.assign({color:R[I%R.length]},g)));w(A)}o&&U(((g,I,C)=>({xAxis:{data:g.map((g=>g.name)),title:null!=I?I:""},yAxis:{data:g.map((g=>g.count)),title:null!=C?C:""},barColorRGBA:{r:210,g:174,b:255,a:1}}))(G,J,p))}),[G,Z]),r?A(C,{children:[A("div",Object.assign({style:{display:"flex",justifyContent:W||0===(null==b?void 0:b.length)?"flex-end":"space-between"}},{children:[!W&&b&&I(H,Object.assign({style:{marginBottom:16}},{children:b})),A("div",{children:[o&&I(h,{Icon:c,onClick:()=>{F(!0)}}),X&&I(h,{Icon:l,onClick:()=>{N(!0)}})]})]})),A("div",Object.assign({className:"row"},{children:[I("div",Object.assign({className:"col-6 ",style:{display:"flex",alignItems:"center",justifyContent:"center"}},{children:I("div",Object.assign({style:{width:d,height:d}},{children:I(n,{data:Z?v:r,options:Object.assign(Object.assign({},Y(m)),{maintainAspectRatio:!d})})}))})),I("div",Object.assign({className:"col-6",style:{paddingLeft:48,display:"flex",flexDirection:"column",justifyContent:"flex-start"}},{children:I(B,{slices:Z?Q:V,size:d})}))]})),x&&I(e,Object.assign({open:x,onClose:()=>N(!1),closeOnOutsideClick:!0,headingTitle:b,width:"75%"},{children:A("div",Object.assign({style:{padding:24,display:"flex",justifyContent:"space-between",height:"80vh"}},{children:[I("div",Object.assign({style:{width:"55%",marginLeft:"4%"}},{children:I("div",Object.assign({style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},{children:I(n,{data:r,options:Object.assign(Object.assign({},Y(m)),{maintainAspectRatio:!d})})}))})),I("div",Object.assign({style:{width:"30%",height:"100%",overflowY:"auto"}},{children:I(B,{slices:V})}))]}))})),u&&k&&I(e,Object.assign({open:u,onClose:()=>F(!1),closeOnOutsideClick:!0,headingTitle:b,width:"85%"},{children:I("div",Object.assign({style:{padding:"24px 0"}},{children:I(a,Object.assign({fallback:I("div",{children:"Loading..."})},{children:I(y,{xAxis:k.xAxis,yAxis:k.yAxis,barColorRGBA:null==k?void 0:k.barColorRGBA})}))}))}))]}):I(C,{})};export{W as Card,m as PieChartAnalytics};
1
+ import I from"@emotion/styled/base";import{jsx as g,Fragment as C,jsxs as A}from"react/jsx-runtime";import c from"../../../../assets/icons/ChartBar.svg.js";import l from"../../../../assets/icons/maximize.svg.js";import{Chart as b,ArcElement as G,Legend as d}from"chart.js";import i,{useState as X,useEffect as s,Suspense as a}from"react";import{Doughnut as n}from"react-chartjs-2";import{IconButton as h}from"../../../icon-button/IconButton.js";import{StyledModal as e}from"../../../modals/styledModal.js";import{TitleMedium as y}from"../../../TypographyStyle.js";import t from"../../../../utils/StringUtils.js";import{COLORS as x}from"../../../../constants/Theme.js";import{truncateValueForInternationalStore as Z,truncateValueForIndianStore as B}from"../utils/calcPercentage.js";import{PieChart as o}from"./PieChart.js";const N=i.lazy((()=>import("../VerticalBarGraph/VerticalGraph.js").then((I=>({default:I.VerticalGraph})))));b.register(G,d);const H=I=>({plugins:{datalabels:{display:!1},legend:{display:!1},tooltip:{enabled:!0,callbacks:{label:g=>{var C;if(!g.label)return" 0%";const A=g.dataset.data.reduce(((I,g)=>I+g),0),c=parseFloat((g.raw/A*100).toFixed(1)),{label:l,raw:b}=g,G=null!==(C=null==I?void 0:I.symbol)&&void 0!==C?C:"",d=null==I?void 0:I.isInternationalStore;return[` ${l}`,` ${G}${void 0!==d?d?Z(b):B(b):b} (${c}% of ${G}${void 0!==d?d?Z(A):B(A):A})`]}}}}}),Y=["#5E07BB","#9E77ED","#D2AEFF","#CDE1FF","#92AFFA","#3935E1"],W=I("div","production"===process.env.NODE_ENV?{target:"elaov7f0"}:{target:"elaov7f0",label:"CartStyled"})("background:",(I=>x.surface.standard),";border:1px solid ",(I=>x.stroke.primary),";border-radius:4px;"+("production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRjhCIiwiZmlsZSI6IlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgQmFyQ2hhcnRJY29uIGZyb20gJ0BzcmMvYXNzZXRzL2ljb25zL0NoYXJ0QmFyLnN2Zyc7XHJcbmltcG9ydCBNYXhpbWl6ZUljb24gZnJvbSAnQHNyYy9hc3NldHMvaWNvbnMvbWF4aW1pemUuc3ZnJztcclxuaW1wb3J0IHsgQXJjRWxlbWVudCwgQ2hhcnQgYXMgQ2hhcnRKUywgTGVnZW5kIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IERvdWdobnV0IH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gXCIuLi8uLi8uLi9pY29uLWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBTdHlsZWRNb2RhbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RhbHNcIjtcclxuaW1wb3J0IHsgVGl0bGVNZWRpdW0gfSBmcm9tIFwiLi4vLi4vLi4vVHlwb2dyYXBoeVN0eWxlXCI7XHJcbmltcG9ydCBTdHJpbmdVdGlscyBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvU3RyaW5nVXRpbHNcIjtcclxuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbnN0YW50cy9UaGVtZVwiO1xyXG5pbXBvcnQgeyB0cnVuY2F0ZVZhbHVlRm9ySW5kaWFuU3RvcmUsIHRydW5jYXRlVmFsdWVGb3JJbnRlcm5hdGlvbmFsU3RvcmUsIH0gZnJvbSAnLi4vdXRpbHMvY2FsY1BlcmNlbnRhZ2UnO1xyXG5pbXBvcnQgeyBQaWVDaGFydCB9IGZyb20gJy4vUGllQ2hhcnQnO1xyXG4vLyBMYXp5IGxvYWQgdGhlIFZlcnRpY2FsR3JhcGggY29tcG9uZW50XHJcbmNvbnN0IFZlcnRpY2FsR3JhcGggPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydCgnLi4vVmVydGljYWxCYXJHcmFwaC9WZXJ0aWNhbEdyYXBoJykudGhlbigobW9kdWxlKSA9PiAoe1xyXG4gICAgZGVmYXVsdDogbW9kdWxlLlZlcnRpY2FsR3JhcGgsXHJcbn0pKSk7XHJcbkNoYXJ0SlMucmVnaXN0ZXIoQXJjRWxlbWVudCwgTGVnZW5kKTtcclxuY29uc3QgY29udmVydFRvQmFyQ2hhcnREYXRhID0gKGRhdGEsIHhBeGlzVGl0bGUsIHlBeGlzVGl0bGUpID0+IHtcclxuICAgIGNvbnN0IHhBeGlzRGF0YSA9IGRhdGEubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xyXG4gICAgY29uc3QgeUF4aXNEYXRhID0gZGF0YS5tYXAoKGl0ZW0pID0+IGl0ZW0uY291bnQpO1xyXG4gICAgY29uc3QgeEF4aXMgPSB7XHJcbiAgICAgICAgZGF0YTogeEF4aXNEYXRhLFxyXG4gICAgICAgIHRpdGxlOiB4QXhpc1RpdGxlICE9PSBudWxsICYmIHhBeGlzVGl0bGUgIT09IHZvaWQgMCA/IHhBeGlzVGl0bGUgOiAnJyxcclxuICAgIH07XHJcbiAgICBjb25zdCB5QXhpcyA9IHtcclxuICAgICAgICBkYXRhOiB5QXhpc0RhdGEsXHJcbiAgICAgICAgdGl0bGU6IHlBeGlzVGl0bGUgIT09IG51bGwgJiYgeUF4aXNUaXRsZSAhPT0gdm9pZCAwID8geUF4aXNUaXRsZSA6ICcnLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGJhckNoYXJ0RGF0YSA9IHtcclxuICAgICAgICB4QXhpcyxcclxuICAgICAgICB5QXhpcyxcclxuICAgICAgICBiYXJDb2xvclJHQkE6IHsgcjogMjEwLCBnOiAxNzQsIGI6IDI1NSwgYTogMSB9LFxyXG4gICAgfTtcclxuICAgIHJldHVybiBiYXJDaGFydERhdGE7XHJcbn07XHJcbmNvbnN0IG9wdGlvbnMgPSAoY3VycmVuY3lQcm9wcykgPT4gKHtcclxuICAgIHBsdWdpbnM6IHtcclxuICAgICAgICBkYXRhbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAodG9vbHRpcEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwSXRlbS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCAwJWA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gdG9vbHRpcEl0ZW0uZGF0YXNldC5kYXRhLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHBhcnNlRmxvYXQoKCh0b29sdGlwSXRlbS5yYXcgLyB0b3RhbCkgKiAxMDApLnRvRml4ZWQoMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgbGFiZWwsIHJhdyB9ID0gdG9vbHRpcEl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3ltYm9sID0gKF9hID0gY3VycmVuY3lQcm9wcyA9PT0gbnVsbCB8fCBjdXJyZW5jeVByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdXJyZW5jeVByb3BzLnN5bWJvbCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNJbnRsID0gY3VycmVuY3lQcm9wcyA9PT0gbnVsbCB8fCBjdXJyZW5jeVByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdXJyZW5jeVByb3BzLmlzSW50ZXJuYXRpb25hbFN0b3JlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXNJbnRsICE9PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0ludGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdHJ1bmNhdGVWYWx1ZUZvckludGVybmF0aW9uYWxTdG9yZShyYXcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydW5jYXRlVmFsdWVGb3JJbmRpYW5TdG9yZShyYXcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcmF3O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsVmFsdWUgPSBpc0ludGwgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzSW50bFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0cnVuY2F0ZVZhbHVlRm9ySW50ZXJuYXRpb25hbFN0b3JlKHRvdGFsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVuY2F0ZVZhbHVlRm9ySW5kaWFuU3RvcmUodG90YWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdG90YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYCAke2xhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGAgJHtzeW1ib2x9JHt2YWx1ZX0gKCR7cGVyY2VudGFnZX0lIG9mICR7c3ltYm9sfSR7dG90YWxWYWx1ZX0pYCxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxufSk7XHJcbmNvbnN0IEdSQVBIX0NPTE9SUyA9IFtcclxuICAgICcjNUUwN0JCJyxcclxuICAgICcjOUU3N0VEJyxcclxuICAgICcjRDJBRUZGJyxcclxuICAgICcjQ0RFMUZGJyxcclxuICAgICcjOTJBRkZBJyxcclxuICAgICcjMzkzNUUxJyxcclxuXTtcclxuY29uc3QgQ2FydFN0eWxlZCA9IHN0eWxlZC5kaXYgYFxuXHRiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gQ09MT1JTLnN1cmZhY2Uuc3RhbmRhcmR9O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkeyhwcm9wcykgPT4gQ09MT1JTLnN0cm9rZS5wcmltYXJ5fTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuYDtcclxuZXhwb3J0IGNvbnN0IENhcmQgPSAocHJvcHMpID0+IHtcclxuICAgIHJldHVybiBfanN4KENhcnRTdHlsZWQsIE9iamVjdC5hc3NpZ24oeyBzdHlsZTogeyBwYWRkaW5nOiAyNCB9IH0sIHsgY2hpbGRyZW46IHByb3BzLmNoaWxkcmVuIH0pKTtcclxufTtcclxuZXhwb3J0IGNvbnN0IFBpZUNoYXJ0QW5hbHl0aWNzID0gKHsgdGl0bGUsIHNsaWNlcywgc2l6ZSwgYWxsb3dDaGFydFBvcHVwLCBzaG93Q29udmVydFRvQmFyQ2hhcnQsIHRydW5jYXRlU2xpY2VzLCBiYXJDaGFydFhBeGlzVGl0bGUsIGJhckNoYXJ0WUF4aXNUaXRsZSwgaGlkZVRpdGxlID0gZmFsc2UsIGN1cnJlbmN5UHJvcHMsIH0pID0+IHtcclxuICAgIGNvbnN0IFtzaG93UG9wdXAsIHNldFNob3dQb3B1cF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbc2hvd0JhckNoYXJ0LCBzZXRTaG93QmFyQ2hhcnRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgW3NsaWNlc1dpdGhDb2xvciwgc2V0U2xpY2VzV2l0aENvbG9yXSA9IHVzZVN0YXRlKFtdKTtcclxuICAgIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlKCk7XHJcbiAgICBjb25zdCBbdHJ1bmNhdGVkRGF0YSwgc2V0VHJ1bmNhdGVkRGF0YV0gPSB1c2VTdGF0ZSgpO1xyXG4gICAgY29uc3QgW3RydW5jYXRlZFNsaWNlc1dpdGhDb2xvciwgc2V0VHJ1bmNhdGVkU2xpY2VzV2l0aENvbG9yXSA9IHVzZVN0YXRlKFtdKTtcclxuICAgIGNvbnN0IFtiYXJDaGFydERhdGEsIHNldEJhckNoYXJ0RGF0YV0gPSB1c2VTdGF0ZShudWxsKTtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG90YWxTdW0gPSBzbGljZXMucmVkdWNlKChzdW0sIHNsaWNlKSA9PiBzdW0gKyBzbGljZS5jb3VudCwgMCk7XHJcbiAgICAgICAgbGV0IHVwZGF0ZWRTbGljZXNXaXRoQ29sb3IgPSBbXTtcclxuICAgICAgICB1cGRhdGVkU2xpY2VzV2l0aENvbG9yID0gT2JqZWN0LmtleXMoc2xpY2VzKS5tYXAoKGtleSwgaW5kZXgpID0+IChPYmplY3QuYXNzaWduKHsgY29sb3I6IEdSQVBIX0NPTE9SU1tpbmRleCAlIEdSQVBIX0NPTE9SUy5sZW5ndGhdIH0sIHNsaWNlc1trZXldKSkpO1xyXG4gICAgICAgIHNldFNsaWNlc1dpdGhDb2xvcihbLi4udXBkYXRlZFNsaWNlc1dpdGhDb2xvcl0pO1xyXG4gICAgICAgIGlmICh0b3RhbFN1bSA9PT0gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhU2V0ID0ge1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFsxMDBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsnI0YwRjBGMCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMCxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGxhYmVsczogW10sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNldERhdGEoZGF0YVNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhU2V0ID0ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxzOiBzbGljZXMubWFwKChzbGljZSkgPT4gU3RyaW5nVXRpbHMuY2FwaXRhbGl6ZUVhY2hXb3JkKHNsaWNlLm5hbWUpKSxcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBzbGljZXMubWFwKChzbGljZSkgPT4gc2xpY2UuY291bnQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNsaWNlcy5tYXAoKHNsaWNlLCBpbmRleCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBzbGljZS5jb2xvcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogR1JBUEhfQ09MT1JTW2luZGV4ICUgR1JBUEhfQ09MT1JTLmxlbmd0aF07IH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogWyd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZScsICd3aGl0ZSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogNCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBzZXREYXRhKGRhdGFTZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHJ1bmNhdGVTbGljZXMgJiYgc2xpY2VzLmxlbmd0aCA+IHRydW5jYXRlU2xpY2VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRydW5jYXRlZFNsaWNlcyA9IHNsaWNlcy5zbGljZSgwLCB0cnVuY2F0ZVNsaWNlcyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG90aGVyU2xpY2VzID0gc2xpY2VzLnNsaWNlKHRydW5jYXRlU2xpY2VzKTtcclxuICAgICAgICAgICAgY29uc3Qgb3RoZXJDb3VudCA9IG90aGVyU2xpY2VzLnJlZHVjZSgoc3VtLCBzbGljZSkgPT4gc3VtICsgc2xpY2UuY291bnQsIDApO1xyXG4gICAgICAgICAgICB0cnVuY2F0ZWRTbGljZXMucHVzaCh7IG5hbWU6ICdPdGhlcicsIGNvdW50OiBvdGhlckNvdW50IH0pO1xyXG4gICAgICAgICAgICBjb25zdCB0cnVuY2F0ZWREYXRhU2V0ID0ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxzOiB0cnVuY2F0ZWRTbGljZXMubWFwKChzbGljZSkgPT4gU3RyaW5nVXRpbHMuY2FwaXRhbGl6ZShzbGljZS5uYW1lKSksXHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogdHJ1bmNhdGVkU2xpY2VzLm1hcCgoc2xpY2UpID0+IHNsaWNlLmNvdW50KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0cnVuY2F0ZWRTbGljZXMubWFwKChzbGljZSwgaW5kZXgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gc2xpY2UuY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IEdSQVBIX0NPTE9SU1tpbmRleCAlIEdSQVBIX0NPTE9SUy5sZW5ndGhdOyB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IFsnd2hpdGUnLCAnd2hpdGUnLCAnd2hpdGUnLCAnd2hpdGUnLCAnd2hpdGUnLCAnd2hpdGUnXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogOCxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgc2V0VHJ1bmNhdGVkRGF0YSh0cnVuY2F0ZWREYXRhU2V0KTtcclxuICAgICAgICAgICAgY29uc3QgdHJ1bmNhdGVkU2xpY2VzV2l0aENvbG9yID0gdHJ1bmNhdGVkU2xpY2VzLm1hcCgoc2xpY2UsIGluZGV4KSA9PiAoT2JqZWN0LmFzc2lnbih7IGNvbG9yOiBHUkFQSF9DT0xPUlNbaW5kZXggJSBHUkFQSF9DT0xPUlMubGVuZ3RoXSB9LCBzbGljZSkpKTtcclxuICAgICAgICAgICAgc2V0VHJ1bmNhdGVkU2xpY2VzV2l0aENvbG9yKHRydW5jYXRlZFNsaWNlc1dpdGhDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzaG93Q29udmVydFRvQmFyQ2hhcnQpIHtcclxuICAgICAgICAgICAgc2V0QmFyQ2hhcnREYXRhKGNvbnZlcnRUb0JhckNoYXJ0RGF0YShzbGljZXMsIGJhckNoYXJ0WEF4aXNUaXRsZSwgYmFyQ2hhcnRZQXhpc1RpdGxlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3NsaWNlcywgdHJ1bmNhdGVTbGljZXNdKTtcclxuICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgIHJldHVybiBfanN4KF9GcmFnbWVudCwge30pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IGhpZGVUaXRsZSB8fCAodGl0bGUgPT09IG51bGwgfHwgdGl0bGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRpdGxlLmxlbmd0aCkgPT09IDAgPyAnZmxleC1lbmQnIDogJ3NwYWNlLWJldHdlZW4nLFxyXG4gICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBbIWhpZGVUaXRsZSAmJiB0aXRsZSAmJiAoX2pzeChUaXRsZU1lZGl1bSwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IDE2LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IHRpdGxlIH0pKSksIF9qc3hzKFwiZGl2XCIsIHsgY2hpbGRyZW46IFtzaG93Q29udmVydFRvQmFyQ2hhcnQgJiYgKF9qc3goSWNvbkJ1dHRvbiwgeyBJY29uOiBCYXJDaGFydEljb24sIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd0JhckNoYXJ0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSkpLCBhbGxvd0NoYXJ0UG9wdXAgJiYgKF9qc3goSWNvbkJ1dHRvbiwgeyBJY29uOiBNYXhpbWl6ZUljb24sIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1BvcHVwKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSkpXSB9KV0gfSkpLCBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAncm93JyB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAnY29sLTYgJywgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KERvdWdobnV0LCB7IGRhdGE6ICh0cnVuY2F0ZVNsaWNlcyA/IHRydW5jYXRlZERhdGEgOiBkYXRhKSwgb3B0aW9uczogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKGN1cnJlbmN5UHJvcHMpKSwgeyBtYWludGFpbkFzcGVjdFJhdGlvOiBzaXplID8gZmFsc2UgOiB0cnVlIH0pIH0pIH0pKSB9KSksIF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogJ2NvbC02Jywgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiA0OCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KFBpZUNoYXJ0LCB7IHNsaWNlczogdHJ1bmNhdGVTbGljZXMgPyB0cnVuY2F0ZWRTbGljZXNXaXRoQ29sb3IgOiBzbGljZXNXaXRoQ29sb3IsIHNpemU6IHNpemUgfSkgfSkpXSB9KSksIHNob3dQb3B1cCAmJiAoX2pzeChTdHlsZWRNb2RhbCwgT2JqZWN0LmFzc2lnbih7IG9wZW46IHNob3dQb3B1cCwgb25DbG9zZTogKCkgPT4gc2V0U2hvd1BvcHVwKGZhbHNlKSwgY2xvc2VPbk91dHNpZGVDbGljazogdHJ1ZSwgaGVhZGluZ1RpdGxlOiB0aXRsZSwgd2lkdGg6IFwiNzUlXCIgfSwgeyBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzgwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0gfSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7IHdpZHRoOiAnNTUlJywgbWFyZ2luTGVmdDogJzQlJyB9IH0sIHsgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KERvdWdobnV0LCB7IGRhdGE6IGRhdGEsIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyhjdXJyZW5jeVByb3BzKSksIHsgbWFpbnRhaW5Bc3BlY3RSYXRpbzogc2l6ZSA/IGZhbHNlIDogdHJ1ZSB9KSB9KSB9KSkgfSkpLCBfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMzAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSwgeyBjaGlsZHJlbjogX2pzeChQaWVDaGFydCwgeyBzbGljZXM6IHNsaWNlc1dpdGhDb2xvciB9KSB9KSldIH0pKSB9KSkpLCBzaG93QmFyQ2hhcnQgJiYgYmFyQ2hhcnREYXRhICYmIChfanN4KFN0eWxlZE1vZGFsLCBPYmplY3QuYXNzaWduKHsgb3Blbjogc2hvd0JhckNoYXJ0LCBvbkNsb3NlOiAoKSA9PiBzZXRTaG93QmFyQ2hhcnQoZmFsc2UpLCBjbG9zZU9uT3V0c2lkZUNsaWNrOiB0cnVlLCBoZWFkaW5nVGl0bGU6IHRpdGxlLCB3aWR0aDogXCI4NSVcIiB9LCB7IGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMjRweCAwJyxcclxuICAgICAgICAgICAgICAgICAgICB9IH0sIHsgY2hpbGRyZW46IF9qc3goU3VzcGVuc2UsIE9iamVjdC5hc3NpZ24oeyBmYWxsYmFjazogX2pzeChcImRpdlwiLCB7IGNoaWxkcmVuOiBcIkxvYWRpbmcuLi5cIiB9KSB9LCB7IGNoaWxkcmVuOiBfanN4KFZlcnRpY2FsR3JhcGgsIHsgeEF4aXM6IGJhckNoYXJ0RGF0YS54QXhpcywgeUF4aXM6IGJhckNoYXJ0RGF0YS55QXhpcywgYmFyQ29sb3JSR0JBOiBiYXJDaGFydERhdGEgPT09IG51bGwgfHwgYmFyQ2hhcnREYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBiYXJDaGFydERhdGEuYmFyQ29sb3JSR0JBIH0pIH0pKSB9KSkgfSkpKV0gfSkpO1xyXG59O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1QaWVDaGFydEFuYWx5dGljcy5qcy5tYXAiXX0= */")),p=I=>g(W,Object.assign({style:{padding:24}},{children:I.children})),m=I=>{let{title:b,slices:G,size:d,allowChartPopup:i,showConvertToBarChart:x,truncateSlices:Z,barChartXAxisTitle:B,barChartYAxisTitle:W,hideTitle:p=!1,currencyProps:m}=I;const[J,u]=X(!1),[R,V]=X(!1),[F,S]=X([]),[r,v]=X(),[k,z]=X(),[j,w]=X([]),[U,Q]=X(null);return s((()=>{const I=G.reduce(((I,g)=>I+g.count),0);let g=[];if(g=Object.keys(G).map(((I,g)=>Object.assign({color:Y[g%Y.length]},G[I]))),S([...g]),0===I){v({datasets:[{data:[100],backgroundColor:["#F0F0F0"],borderWidth:0}],labels:[]})}else{const I={labels:G.map((I=>t.capitalizeEachWord(I.name))),datasets:[{data:G.map((I=>I.count)),backgroundColor:G.map(((I,g)=>{var C;return null!==(C=I.color)&&void 0!==C?C:Y[g%Y.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};v(I)}if(Z&&G.length>Z){const I=G.slice(0,Z),g=G.slice(Z).reduce(((I,g)=>I+g.count),0);I.push({name:"Other",count:g});const C={labels:I.map((I=>t.capitalize(I.name))),datasets:[{data:I.map((I=>I.count)),backgroundColor:I.map(((I,g)=>{var C;return null!==(C=I.color)&&void 0!==C?C:Y[g%Y.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};z(C);const A=I.map(((I,g)=>Object.assign({color:Y[g%Y.length]},I)));w(A)}x&&Q(((I,g,C)=>({xAxis:{data:I.map((I=>I.name)),title:null!=g?g:""},yAxis:{data:I.map((I=>I.count)),title:null!=C?C:""},barColorRGBA:{r:210,g:174,b:255,a:1}}))(G,B,W))}),[G,Z]),r?A(C,{children:[A("div",Object.assign({style:{display:"flex",justifyContent:p||0===(null==b?void 0:b.length)?"flex-end":"space-between"}},{children:[!p&&b&&g(y,Object.assign({style:{marginBottom:16}},{children:b})),A("div",{children:[x&&g(h,{Icon:c,onClick:()=>{V(!0)}}),i&&g(h,{Icon:l,onClick:()=>{u(!0)}})]})]})),A("div",Object.assign({className:"row"},{children:[g("div",Object.assign({className:"col-6 ",style:{display:"flex",alignItems:"center",justifyContent:"center"}},{children:g("div",Object.assign({style:{width:d,height:d}},{children:g(n,{data:Z?k:r,options:Object.assign(Object.assign({},H(m)),{maintainAspectRatio:!d})})}))})),g("div",Object.assign({className:"col-6",style:{paddingLeft:48,display:"flex",flexDirection:"column",justifyContent:"flex-start"}},{children:g(o,{slices:Z?j:F,size:d})}))]})),J&&g(e,Object.assign({open:J,onClose:()=>u(!1),closeOnOutsideClick:!0,headingTitle:b,width:"75%"},{children:A("div",Object.assign({style:{padding:24,display:"flex",justifyContent:"space-between",height:"80vh"}},{children:[g("div",Object.assign({style:{width:"55%",marginLeft:"4%"}},{children:g("div",Object.assign({style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},{children:g(n,{data:r,options:Object.assign(Object.assign({},H(m)),{maintainAspectRatio:!d})})}))})),g("div",Object.assign({style:{width:"30%",height:"100%",overflowY:"auto"}},{children:g(o,{slices:F})}))]}))})),R&&U&&g(e,Object.assign({open:R,onClose:()=>V(!1),closeOnOutsideClick:!0,headingTitle:b,width:"85%"},{children:g("div",Object.assign({style:{padding:"24px 0"}},{children:g(a,Object.assign({fallback:g("div",{children:"Loading..."})},{children:g(N,{xAxis:U.xAxis,yAxis:U.yAxis,barColorRGBA:null==U?void 0:U.barColorRGBA})}))}))}))]}):g(C,{})};export{p as Card,m as PieChartAnalytics};
@@ -1 +1 @@
1
- import{jsxs as i,jsx as e,Fragment as o}from"react/jsx-runtime";import{Chart as l,CategoryScale as a,LinearScale as t,BarElement as r,Tooltip as n}from"chart.js";import{Chart as s}from"react-chartjs-2";import{SmallRegular as d,TitleRegular as c,BodyTiny as x}from"../../../TypographyStyle.js";import{FONTS as A,COLORS as b}from"../../../../constants/Theme.js";import{LegendWrapper as p,LegendContainer as g,LegendColor as u}from"../LineChart/LineChart.styled.js";import{truncateValueForInternationalStore as f,truncateValueForIndianStore as h}from"../utils/calcPercentage.js";import{GraphWrapper as m,GraphContainerWrapper as v,LegendsWrapper as y,LegendMiddleWrapper as S,LegendColorBox as C}from"./VerticalBarAndLinearGraph.styles.js";import{GRAPH_ORIENTATION as j}from"./VerticalBarAndLinearGraphModel.js";l.register(a,t,r,n);const k=l=>{var a,t,r,n,k,I,O,z,$,R;const D=[0,0,0,0,0,0],L=["-","-","-","-","-","-"],H=-1===l.barAxis.data.findIndex((i=>0!==i)),T=-1===l.lineAxis.data.findIndex((i=>0!==i)),V=!l.lineAxis2||-1===l.lineAxis2.data.findIndex((i=>0!==i)),w={min:0,max:2e3,stepSize:200},B=[{legend:l.barAxis.title,color:l.barAxis.graphColor},{legend:l.lineAxis.title,color:l.lineAxis.graphColor},...l.lineAxis2?[{legend:l.lineAxis2.title,color:l.lineAxis2.graphColor}]:[]],N={responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:i=>{var e;const o=i.raw,a=i.dataset;let t="";"bar"===a.yAxisID?t=l.barAxis.axisSuffix||"":"line"===a.yAxisID?t=l.lineAxis.axisSuffix||"":"line2"===a.yAxisID&&(t=(null===(e=l.lineAxis2)||void 0===e?void 0:e.axisSuffix)||"");let r=o;return l.orientation===j.HORIZONTAL&&(r=l.isInternationalStore?f(o):h(o)),`${r}${t}`}}}},scales:{x:{title:{display:!!l.xAxis.title,text:l.xAxis.title,color:l.xAxis.titleColor,font:{size:A.caption.fontSize}},grid:{display:!1,borderColor:b.background.base},ticks:{fontSize:A.caption.fontSize,color:null!==(a=l.xAxis.labelColor)&&void 0!==a?a:b.content.secondary,callback:(null===(t=l.xAxis)||void 0===t?void 0:t.axisSuffix)?i=>`${i}${l.xAxis.axisSuffix}`:void 0}},bar:{position:"left",title:{display:!!l.barAxis.title,text:l.barAxis.title,color:l.barAxis.titleColor,font:{size:A.caption.fontSize}},grid:{borderColor:"white",color:b.background.base},max:null===(r=null==l?void 0:l.barAxis)||void 0===r?void 0:r.max,ticks:Object.assign(Object.assign({fontSize:A.caption.fontSize,color:null!==(n=l.barAxis.labelColor)&&void 0!==n?n:b.content.secondary},H?w:{}),{callback:l.orientation===j.HORIZONTAL?i=>{var e;let o;o=l.isInternationalStore?f(i):h(i);return`${o}${(null===(e=l.barAxis)||void 0===e?void 0:e.axisSuffix)||""}`}:(null===(k=l.barAxis)||void 0===k?void 0:k.axisSuffix)?i=>`${i}${l.barAxis.axisSuffix}`:void 0})},line:{position:"right",title:{display:!!l.lineAxis.title,text:l.lineAxis.title,color:l.lineAxis.titleColor,font:{size:A.caption.fontSize}},max:null===(I=null==l?void 0:l.lineAxis)||void 0===I?void 0:I.max,grid:{display:!1,borderColor:"white",color:b.background.base},ticks:Object.assign(Object.assign({fontSize:A.caption.fontSize,color:null!==(O=l.lineAxis.labelColor)&&void 0!==O?O:b.content.secondary},T?w:{}),{callback:l.orientation===j.HORIZONTAL?i=>{var e;let o;o=l.isInternationalStore?f(i):h(i);return`${o}${(null===(e=l.lineAxis)||void 0===e?void 0:e.axisSuffix)||""}`}:(null===(z=l.lineAxis)||void 0===z?void 0:z.axisSuffix)?i=>`${i}${l.lineAxis.axisSuffix}`:void 0}),display:!0}},maintainAspectRatio:!1};let P,Z,G,W;l.orientation&&l.orientation!==j.VERTICAL?(delete N.scales.bar.ticks.callback,delete N.scales.line.ticks.callback):delete N.scales.x.ticks.callback,P=l.xAxis.forceShowXAxis?l.xAxis.data.map((i=>i.toString())):H&&T&&V?L:l.xAxis.data.map((i=>i.toString())),Z=l.noDummyValues?l.lineAxis.data:T?D:l.lineAxis.data,l.lineAxis2&&(G=l.noDummyValues?l.lineAxis2.data:V?D:l.lineAxis2.data),W=l.noDummyValues?l.barAxis.data:H?D:l.barAxis.data;const E={labels:P,datasets:[{yAxisID:"line",type:"line",data:Z,borderColor:l.lineAxis.graphColor||"rgba(0,0,0,0)",backgroundColor:l.lineAxis.graphColor,borderWidth:2,fill:!1,pointRadius:l.pointRadius||1},...l.lineAxis2?[{yAxisID:"line",type:"line",data:G,borderColor:l.lineAxis2.graphColor||"rgba(0,0,0,0)",borderWidth:2,fill:!1,pointRadius:l.pointRadius||1,backgroundColor:l.lineAxis2.graphColor}]:[],{yAxisID:"bar",type:"bar",data:W,backgroundColor:l.barAxis.graphColor||"rgba(0,0,0,0)",barPercentage:.4,categoryPercentage:1,borderRadius:4}]};return i(m,{children:[l.customLegend?e(y,{children:B.map(((o,l)=>{let{legend:a,color:t}=o;return a?i(S,{children:[e(C,{color:t}),e(x,Object.assign({color:b.content.secondary},{children:a}))]},l):null}))}):e(p,Object.assign({position:"center"},{children:B.map(((l,a)=>{let{legend:t,color:r}=l;return t?i(g,{children:[e(u,{color:r}),e(d,Object.assign({color:"#667085"},{children:t}))]},a):e(o,{})}))})),i(v,{children:[l.chartHeading&&e("div",Object.assign({style:{marginBottom:24}},{children:e(c,Object.assign({color:null!==($=l.chartHeading.color)&&void 0!==$?$:b.content.secondary},{children:l.chartHeading.heading}))})),e("div",Object.assign({style:{height:null!==(R=l.graphCanvasHeight)&&void 0!==R?R:500}},{children:e(s,{type:"bar",data:E,options:N})}))]})]})};export{k as VerticalBarAndLinearGraph};
1
+ import{jsxs as i,jsx as e,Fragment as o}from"react/jsx-runtime";import{Chart as a,CategoryScale as l,LinearScale as t,BarElement as r,Tooltip as n}from"chart.js";import{Chart as s}from"react-chartjs-2";import{SmallRegular as d,TitleRegular as c,BodyTiny as x}from"../../../TypographyStyle.js";import{FONTS as A,COLORS as b}from"../../../../constants/Theme.js";import{LegendWrapper as p,LegendContainer as g,LegendColor as u}from"../LineChart/LineChart.styled.js";import{truncateValueForInternationalStore as f,truncateValueForIndianStore as h}from"../utils/calcPercentage.js";import{GraphWrapper as m,GraphContainerWrapper as v,LegendsWrapper as y,LegendMiddleWrapper as S,LegendColorBox as C}from"./VerticalBarAndLinearGraph.styles.js";import{GRAPH_ORIENTATION as j}from"./VerticalBarAndLinearGraphModel.js";a.register(l,t,r,n);const k=a=>{var l,t,r,n,k,I,O,z,$,R;const D=[0,0,0,0,0,0],L=["-","-","-","-","-","-"],H=-1===a.barAxis.data.findIndex((i=>0!==i)),T=-1===a.lineAxis.data.findIndex((i=>0!==i)),V=!a.lineAxis2||-1===a.lineAxis2.data.findIndex((i=>0!==i)),w={min:0,max:2e3,stepSize:200},B=[{legend:a.barAxis.title,color:a.barAxis.graphColor},{legend:a.lineAxis.title,color:a.lineAxis.graphColor},...a.lineAxis2?[{legend:a.lineAxis2.title,color:a.lineAxis2.graphColor}]:[]],N={responsive:!0,plugins:{datalabels:{display:!1},legend:{display:!1},tooltip:{callbacks:{label:i=>{var e;const o=i.raw,l=i.dataset;let t="";"bar"===l.yAxisID?t=a.barAxis.axisSuffix||"":"line"===l.yAxisID?t=a.lineAxis.axisSuffix||"":"line2"===l.yAxisID&&(t=(null===(e=a.lineAxis2)||void 0===e?void 0:e.axisSuffix)||"");let r=o;return a.orientation===j.HORIZONTAL&&(r=a.isInternationalStore?f(o):h(o)),`${r}${t}`}}}},scales:{x:{title:{display:!!a.xAxis.title,text:a.xAxis.title,color:a.xAxis.titleColor,font:{size:A.caption.fontSize}},grid:{display:!1,borderColor:b.background.base},ticks:{fontSize:A.caption.fontSize,color:null!==(l=a.xAxis.labelColor)&&void 0!==l?l:b.content.secondary,callback:(null===(t=a.xAxis)||void 0===t?void 0:t.axisSuffix)?i=>`${i}${a.xAxis.axisSuffix}`:void 0}},bar:{position:"left",title:{display:!!a.barAxis.title,text:a.barAxis.title,color:a.barAxis.titleColor,font:{size:A.caption.fontSize}},grid:{borderColor:"white",color:b.background.base},max:null===(r=null==a?void 0:a.barAxis)||void 0===r?void 0:r.max,ticks:Object.assign(Object.assign({fontSize:A.caption.fontSize,color:null!==(n=a.barAxis.labelColor)&&void 0!==n?n:b.content.secondary},H?w:{}),{callback:a.orientation===j.HORIZONTAL?i=>{var e;let o;o=a.isInternationalStore?f(i):h(i);return`${o}${(null===(e=a.barAxis)||void 0===e?void 0:e.axisSuffix)||""}`}:(null===(k=a.barAxis)||void 0===k?void 0:k.axisSuffix)?i=>`${i}${a.barAxis.axisSuffix}`:void 0})},line:{position:"right",title:{display:!!a.lineAxis.title,text:a.lineAxis.title,color:a.lineAxis.titleColor,font:{size:A.caption.fontSize}},max:null===(I=null==a?void 0:a.lineAxis)||void 0===I?void 0:I.max,grid:{display:!1,borderColor:"white",color:b.background.base},ticks:Object.assign(Object.assign({fontSize:A.caption.fontSize,color:null!==(O=a.lineAxis.labelColor)&&void 0!==O?O:b.content.secondary},T?w:{}),{callback:a.orientation===j.HORIZONTAL?i=>{var e;let o;o=a.isInternationalStore?f(i):h(i);return`${o}${(null===(e=a.lineAxis)||void 0===e?void 0:e.axisSuffix)||""}`}:(null===(z=a.lineAxis)||void 0===z?void 0:z.axisSuffix)?i=>`${i}${a.lineAxis.axisSuffix}`:void 0}),display:!0}},maintainAspectRatio:!1};let P,Z,G,W;a.orientation&&a.orientation!==j.VERTICAL?(delete N.scales.bar.ticks.callback,delete N.scales.line.ticks.callback):delete N.scales.x.ticks.callback,P=a.xAxis.forceShowXAxis?a.xAxis.data.map((i=>i.toString())):H&&T&&V?L:a.xAxis.data.map((i=>i.toString())),Z=a.noDummyValues?a.lineAxis.data:T?D:a.lineAxis.data,a.lineAxis2&&(G=a.noDummyValues?a.lineAxis2.data:V?D:a.lineAxis2.data),W=a.noDummyValues?a.barAxis.data:H?D:a.barAxis.data;const E={labels:P,datasets:[{yAxisID:"line",type:"line",data:Z,borderColor:a.lineAxis.graphColor||"rgba(0,0,0,0)",backgroundColor:a.lineAxis.graphColor,borderWidth:2,fill:!1,pointRadius:a.pointRadius||1},...a.lineAxis2?[{yAxisID:"line",type:"line",data:G,borderColor:a.lineAxis2.graphColor||"rgba(0,0,0,0)",borderWidth:2,fill:!1,pointRadius:a.pointRadius||1,backgroundColor:a.lineAxis2.graphColor}]:[],{yAxisID:"bar",type:"bar",data:W,backgroundColor:a.barAxis.graphColor||"rgba(0,0,0,0)",barPercentage:.4,categoryPercentage:1,borderRadius:4}]};return i(m,{children:[a.customLegend?e(y,{children:B.map(((o,a)=>{let{legend:l,color:t}=o;return l?i(S,{children:[e(C,{color:t}),e(x,Object.assign({color:b.content.secondary},{children:l}))]},a):null}))}):e(p,Object.assign({position:"center"},{children:B.map(((a,l)=>{let{legend:t,color:r}=a;return t?i(g,{children:[e(u,{color:r}),e(d,Object.assign({color:"#667085"},{children:t}))]},l):e(o,{})}))})),i(v,{children:[a.chartHeading&&e("div",Object.assign({style:{marginBottom:24}},{children:e(c,Object.assign({color:null!==($=a.chartHeading.color)&&void 0!==$?$:b.content.secondary},{children:a.chartHeading.heading}))})),e("div",Object.assign({style:{height:null!==(R=a.graphCanvasHeight)&&void 0!==R?R:500}},{children:e(s,{type:"bar",data:E,options:N})}))]})]})};export{k as VerticalBarAndLinearGraph};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{Chart as a,CategoryScale as l,LinearScale as i,BarElement as o,Tooltip as n}from"chart.js";import{Bar as s}from"react-chartjs-2";import{SmallRegular as c}from"../../../TypographyStyle.js";import{LegendWrapper as d,LegendContainer as p,LegendColor as b}from"../LineChart/LineChart.styled.js";a.register(l,i,o,n);const h=["#DEEFFF","#FEDEF3","#FEC6C6","#DBAFFF","#FEDEBC"],g=a=>{let{data:l=[],maintainAspectRatio:i=!1,canvasHeight:o=300,barColors:n=h,titleToolTipCallback:g}=a;0===l.length&&(l=[{label:"",current:0,previousLabel:""}]);const m=l.map((e=>e.label)),u=l.map((e=>e.current||0)),y=l.map((e=>e.previous?Math.max((e.previous||0)-e.current,0):0)),x=l.map((e=>e.previousLabel||"")),C=n,f=l.map((e=>({text:e.label,color:C[l.indexOf(e)]}))),k=[{label:"Current Value",data:u,backgroundColor:C.slice(0,l.length),borderColor:"white",borderWidth:1,stack:"combined"},{label:"Previous Value",data:y.map((e=>e||0)),backgroundColor:C.slice(0,l.length).map((e=>((e,t)=>{let r=0,a=0,l=0;return 4===e.length?(r=parseInt(e[1]+e[1],16),a=parseInt(e[2]+e[2],16),l=parseInt(e[3]+e[3],16)):7===e.length&&(r=parseInt(e[1]+e[2],16),a=parseInt(e[3]+e[4],16),l=parseInt(e[5]+e[6],16)),`rgba(${r}, ${a}, ${l}, ${t})`})(e,.3))),borderColor:"white",borderWidth:1,stack:"combined"}],v={labels:m,datasets:k},F={maintainAspectRatio:i,responsive:!0,scales:{x:{stacked:!0,grid:{display:!1},ticks:{display:l.length>0}},y:{stacked:!0,barPercentage:.6,categoryPercentage:.7,ticks:{display:l.length>0},grid:{drawBorder:l.length>0}}},plugins:{legend:{display:!1},tooltip:{callbacks:{title:g||(e=>{const t=e[0].datasetIndex,r=e[0].dataIndex;if(1===t){return`${x[r]} but not ${m[r]}`}return e[0].label}),label:e=>` ${e.raw}`}}}};return e("div",Object.assign({style:{height:i?void 0:o,display:"flex",flexDirection:"column",gap:5,width:"100%"}},{children:[t(d,{children:f.map(((a,l)=>{let{text:i,color:o}=a;return i?e(p,{children:[t(b,{color:o,newStyle:!0}),t(c,Object.assign({color:"#667085"},{children:i}))]},l):t(r,{})}))}),t("div",Object.assign({style:{flex:1}},{children:t(s,{data:v,options:F})}))]}))};export{g as FunnelVerticalBarGraph};
1
+ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import{Chart as r,CategoryScale as l,LinearScale as i,BarElement as o,Tooltip as n}from"chart.js";import{Bar as s}from"react-chartjs-2";import{SmallRegular as c}from"../../../TypographyStyle.js";import{LegendWrapper as d,LegendContainer as p,LegendColor as b}from"../LineChart/LineChart.styled.js";r.register(l,i,o,n);const h=["#DEEFFF","#FEDEF3","#FEC6C6","#DBAFFF","#FEDEBC"],g=r=>{let{data:l=[],maintainAspectRatio:i=!1,canvasHeight:o=300,barColors:n=h,titleToolTipCallback:g}=r;0===l.length&&(l=[{label:"",current:0,previousLabel:""}]);const m=l.map((e=>e.label)),u=l.map((e=>e.current||0)),y=l.map((e=>e.previous?Math.max((e.previous||0)-e.current,0):0)),x=l.map((e=>e.previousLabel||"")),C=n,f=l.map((e=>({text:e.label,color:C[l.indexOf(e)]}))),k=[{label:"Current Value",data:u,backgroundColor:C.slice(0,l.length),borderColor:"white",borderWidth:1,stack:"combined"},{label:"Previous Value",data:y.map((e=>e||0)),backgroundColor:C.slice(0,l.length).map((e=>((e,t)=>{let a=0,r=0,l=0;return 4===e.length?(a=parseInt(e[1]+e[1],16),r=parseInt(e[2]+e[2],16),l=parseInt(e[3]+e[3],16)):7===e.length&&(a=parseInt(e[1]+e[2],16),r=parseInt(e[3]+e[4],16),l=parseInt(e[5]+e[6],16)),`rgba(${a}, ${r}, ${l}, ${t})`})(e,.3))),borderColor:"white",borderWidth:1,stack:"combined"}],v={labels:m,datasets:k},F={maintainAspectRatio:i,responsive:!0,scales:{x:{stacked:!0,grid:{display:!1},ticks:{display:l.length>0}},y:{stacked:!0,barPercentage:.6,categoryPercentage:.7,ticks:{display:l.length>0},grid:{drawBorder:l.length>0}}},plugins:{datalabels:{display:!1},legend:{display:!1},tooltip:{callbacks:{title:g||(e=>{const t=e[0].datasetIndex,a=e[0].dataIndex;if(1===t){return`${x[a]} but not ${m[a]}`}return e[0].label}),label:e=>` ${e.raw}`}}}};return e("div",Object.assign({style:{height:i?void 0:o,display:"flex",flexDirection:"column",gap:5,width:"100%"}},{children:[t(d,{children:f.map(((r,l)=>{let{text:i,color:o}=r;return i?e(p,{children:[t(b,{color:o,newStyle:!0}),t(c,Object.assign({color:"#667085"},{children:i}))]},l):t(a,{})}))}),t("div",Object.assign({style:{flex:1}},{children:t(s,{data:v,options:F})}))]}))};export{g as FunnelVerticalBarGraph};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e}from"react/jsx-runtime";import t from"../../assets/icons/chevronDown.svg.js";import{useState as n,useEffect as r}from"react";import{CountriesData as d}from"./CountryCodePicker.modal.js";import{StyledCountryPickerWrapper as s,StyledCountryPickerOption as i}from"./CountryCodePicker.styled.js";import{DropdownPopover as l}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{BodySecondary as c}from"../TypographyStyle.js";import{COLORS as p}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";const m=m=>{var a,u,y,h,j,v,w;const[g,C]=n(null!==(a=m.selectedCountry)&&void 0!==a?a:{name:"India",dial:"+91",code:"IN"}),b=`https://flagcdn.com/${null===(u=g.code)||void 0===u?void 0:u.toLowerCase()}.svg`;r((()=>{m.selectedCountry&&C(m.selectedCountry)}),[null===(y=m.selectedCountry)||void 0===y?void 0:y.code]);return o(l,Object.assign({version:m.version,isSearchable:!0,width:null!==(h=m.popoverWidth)&&void 0!==h?h:"200px",placement:null!==(j=m.placement)&&void 0!==j?j:"bottom-start",strategy:null!==(v=m.placementStrategy)&&void 0!==v?v:"absolute",options:d.map((t=>{var n,r,d,s;const l=`https://flagcdn.com/${null===(n=t.code)||void 0===n?void 0:n.toLowerCase()}.svg`;return{value:t.code,label:t.dial,searchKey:t.name,customComponent:e(i,{children:[!m.hideFlagImage&&o("img",{src:l,className:"country-flag__option",alt:t.name}),e(c,Object.assign({style:null!==(r=m.countryTextStyle)&&void 0!==r?r:{}},{children:[o("span",Object.assign({style:{color:null!==(d=m.codeColor)&&void 0!==d?d:p.text.primary}},{children:t.code}))," ",o("span",Object.assign({style:{color:null!==(s=m.dialColor)&&void 0!==s?s:p.text.primary}},{children:t.dial}))]}))]}),selected:g.code===t.code}})),disabled:m.disabled,onSelect:o=>{const e=d.filter((e=>e.code===o.value));C(e[0]),m.onCountrySelect(e[0])}},{children:e(s,Object.assign({height:m.height,style:m.containerStyles,onClick:()=>{var o;console.log("hello"),null===(o=m.onDropdownClick)||void 0===o||o.call(m)}},{children:[e("div",Object.assign({className:"content__wrapper"},{children:[!m.hideFlagImage&&o("img",{src:b,className:"country-flag__selected-option",alt:g.name}),o(c,Object.assign({style:null!==(w=m.countryTextStyle)&&void 0!==w?w:{}},{children:g.dial}))]})),o(t,{width:24,height:24,color:p.content.primary})]}))}))};export{m as CountryCodePicker};
1
+ import{jsx as o,jsxs as e}from"react/jsx-runtime";import t from"../../assets/icons/chevronDown.svg.js";import{useState as n,useEffect as r}from"react";import{CountriesData as d}from"./CountryCodePicker.modal.js";import{StyledCountryPickerWrapper as s,StyledCountryPickerOption as i}from"./CountryCodePicker.styled.js";import{DropdownPopover as l}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"lodash/debounce";import{BodySecondary as c}from"../TypographyStyle.js";import{COLORS as p}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";const m=m=>{var a,u,y,h,j,v,w;const[g,C]=n(null!==(a=m.selectedCountry)&&void 0!==a?a:{name:"India",dial:"+91",code:"IN"}),b=`https://flagcdn.com/${null===(u=g.code)||void 0===u?void 0:u.toLowerCase()}.svg`;r((()=>{m.selectedCountry&&C(m.selectedCountry)}),[null===(y=m.selectedCountry)||void 0===y?void 0:y.code]);return o(l,Object.assign({version:m.version,isSearchable:!0,width:null!==(h=m.popoverWidth)&&void 0!==h?h:"200px",placement:null!==(j=m.placement)&&void 0!==j?j:"bottom-start",strategy:null!==(v=m.placementStrategy)&&void 0!==v?v:"absolute",options:d.map((t=>{var n,r,d,s;const l=`https://flagcdn.com/${null===(n=t.code)||void 0===n?void 0:n.toLowerCase()}.svg`;return{value:t.code,label:t.dial,searchKey:t.name,customComponent:e(i,{children:[!m.hideFlagImage&&o("img",{src:l,className:"country-flag__option",alt:t.name}),e(c,Object.assign({style:null!==(r=m.countryTextStyle)&&void 0!==r?r:{}},{children:[o("span",Object.assign({style:{color:null!==(d=m.codeColor)&&void 0!==d?d:p.text.primary}},{children:t.code}))," ",o("span",Object.assign({style:{color:null!==(s=m.dialColor)&&void 0!==s?s:p.text.primary}},{children:t.dial}))]}))]}),selected:g.code===t.code}})),disabled:m.disabled,onSelect:o=>{const e=d.filter((e=>e.code===o.value));C(e[0]),m.onCountrySelect(e[0])}},{children:e(s,Object.assign({height:m.height,style:m.containerStyles,onClick:()=>{var o;console.log("hello"),null===(o=m.onDropdownClick)||void 0===o||o.call(m)}},{children:[e("div",Object.assign({className:"content__wrapper"},{children:[!m.hideFlagImage&&o("img",{src:b,className:"country-flag__selected-option",alt:g.name}),o(c,Object.assign({style:null!==(w=m.countryTextStyle)&&void 0!==w?w:{}},{children:g.dial}))]})),o(t,{width:24,height:24,color:p.content.primary})]}))}))};export{m as CountryCodePicker};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as e,Fragment as t}from"react/jsx-runtime";import n from"../../assets/icons/chevronDown.svg.js";import{useState as r,useMemo as s}from"react";import{CountriesData as d}from"./CountryCodePicker.modal.js";import{StyledCountryOption as i,StyledCountryPickerContainer as c}from"./CountryPicker.styled.js";import{DropdownPopover as p}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{BodySecondary as l}from"../TypographyStyle.js";import{COLORS as m}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";const a=a=>{let{version:u,onCountrySelect:y,selectedCountry:h,popoverWidth:j="300px",height:w,placement:g="bottom-start",placementStrategy:v="absolute",disabled:b=!1,hideFlagImage:O=!1,containerStyles:f,placeholder:C="Select a country",showCountryCode:D=!0,countryTextStyle:S,onDropdownClick:x}=a;var I;const[k,B]=r(h),M=null!=h?h:k,L=M?`https://flagcdn.com/${null===(I=M.code)||void 0===I?void 0:I.toLowerCase()}.svg`:void 0,N=s((()=>d.map((t=>{var n;const r=`https://flagcdn.com/${null===(n=t.code)||void 0===n?void 0:n.toLowerCase()}.svg`;return{value:t.code,label:t.name,searchKey:t.name,customComponent:o(i,{children:[!O&&e("img",{src:r,className:"country-flag",alt:t.name}),o("div",Object.assign({className:"country-info"},{children:[e(l,Object.assign({style:Object.assign({color:m.text.primary},S)},{children:t.name})),D&&e(l,Object.assign({style:{color:m.text.secondary,fontSize:"12px"}},{children:t.code}))]}))]}),selected:(null==M?void 0:M.code)===t.code}}))),[null==M?void 0:M.code,O,D,S]);return e(p,Object.assign({version:u,isSearchable:!0,width:j,placement:g,strategy:v,options:N,disabled:b,onSelect:o=>(o=>{const e=d.find((e=>e.code===o.value));e&&(void 0===h&&B(e),y(e))})(o)},{children:o(c,Object.assign({height:w,style:f,onClick:x,disabled:b},{children:[e("div",Object.assign({className:"content__wrapper"},{children:M?o(t,{children:[!O&&L&&e("img",{src:L,className:"country-flag",alt:M.name}),e(l,Object.assign({style:S},{children:M.name}))]}):e(l,Object.assign({style:Object.assign({color:m.text.disabled},S)},{children:C}))})),e(n,{width:24,height:24,color:b?m.text.disabled:m.content.primary})]}))}))};export{a as CountryPicker};
1
+ import{jsxs as o,jsx as e,Fragment as t}from"react/jsx-runtime";import n from"../../assets/icons/chevronDown.svg.js";import{useState as r,useMemo as s}from"react";import{CountriesData as d}from"./CountryCodePicker.modal.js";import{StyledCountryOption as i,StyledCountryPickerContainer as c}from"./CountryPicker.styled.js";import{DropdownPopover as p}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"lodash/debounce";import{BodySecondary as l}from"../TypographyStyle.js";import{COLORS as m}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";const a=a=>{let{version:u,onCountrySelect:h,selectedCountry:y,popoverWidth:j="300px",height:w,placement:g="bottom-start",placementStrategy:b="absolute",disabled:v=!1,hideFlagImage:O=!1,containerStyles:f,placeholder:C="Select a country",showCountryCode:D=!0,countryTextStyle:S,onDropdownClick:x}=a;var I;const[k,B]=r(y),M=null!=y?y:k,L=M?`https://flagcdn.com/${null===(I=M.code)||void 0===I?void 0:I.toLowerCase()}.svg`:void 0,N=s((()=>d.map((t=>{var n;const r=`https://flagcdn.com/${null===(n=t.code)||void 0===n?void 0:n.toLowerCase()}.svg`;return{value:t.code,label:t.name,searchKey:t.name,customComponent:o(i,{children:[!O&&e("img",{src:r,className:"country-flag",alt:t.name}),o("div",Object.assign({className:"country-info"},{children:[e(l,Object.assign({style:Object.assign({color:m.text.primary},S)},{children:t.name})),D&&e(l,Object.assign({style:{color:m.text.secondary,fontSize:"12px"}},{children:t.code}))]}))]}),selected:(null==M?void 0:M.code)===t.code}}))),[null==M?void 0:M.code,O,D,S]);return e(p,Object.assign({version:u,isSearchable:!0,width:j,placement:g,strategy:b,options:N,disabled:v,onSelect:o=>(o=>{const e=d.find((e=>e.code===o.value));e&&(void 0===y&&B(e),h(e))})(o)},{children:o(c,Object.assign({height:w,style:f,onClick:x,disabled:v},{children:[e("div",Object.assign({className:"content__wrapper"},{children:M?o(t,{children:[!O&&L&&e("img",{src:L,className:"country-flag",alt:M.name}),e(l,Object.assign({style:S},{children:M.name}))]}):e(l,Object.assign({style:Object.assign({color:m.text.disabled},S)},{children:C}))})),e(n,{width:24,height:24,color:v?m.text.disabled:m.content.primary})]}))}))};export{a as CountryPicker};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{format as t,isToday as r}from"date-fns";import{useState as n,useEffect as s}from"react";import i from"./DateSelector/DateSelector.js";import{DropdownPopover as m}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{BodySecondary as p}from"../TypographyStyle.js";import"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import{Input as d}from"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import c from"../../utils/DateUtils.js";import l from"../../assets/icons/chevronDown.svg.js";import a from"../../assets/icons/clock.svg.js";import{CustomDateTimeStyle as u}from"./CustomDateTime.styled.js";const j=e=>{const o=[];for(let t=0;t<2;t++)for(let r=0;r<12;r++){let n;n=0===r?"12":r<10?`0${r}`:`${r}`;const s=`${n}:00 ${0===t?"AM":"PM"}`,i=`${n}:30 ${0===t?"AM":"PM"}`;o.push({label:s,value:s,selected:s===e},{label:i,value:i,selected:i===e})}return o},w=w=>{const[D,f]=n(w.time),[h,v]=n(w.date);s((()=>{w.setError(void 0);const e=c.convert12HourTimeTo24Hour(D),o=t(new Date,"HH:mm:ss");if(r(h)&&e<o)return void w.setError("Selected time should be later than current time");w.setError(void 0);const[n,s]=e.split(":"),i=new Date(h.getTime());i.setHours(+n,+s),w.onChange(i)}),[h,D]);return e(u,{children:[e("div",Object.assign({style:{display:"flex",gap:16}},{children:[o("div",Object.assign({style:{flex:1}},{children:o(i,{customDate:h,setCustomDate:v,placement:w.placement,minDate:w.minDate})})),o("div",Object.assign({style:{flex:1}},{children:o(m,Object.assign({options:j(D),onSelect:e=>{f(e.value)}},{children:o(d,{value:D,leftIcon:{icon:a},rightIcon:{icon:l},onChangeText:e=>(e=>{if(c.timeFormatValidation(e)){const o=c.convert12HourTimeTo24Hour(e),n=t(new Date,"HH:mm:ss");if(r(h)&&o<n)return void w.setError("Selected time should be later than current time");w.setError(void 0),f(e)}else w.setError('Format of time should be "HH:MM AM" or "HH:MM PM"')})(e)})}))}))]})),w.error&&o(p,Object.assign({style:{paddingTop:8}},{children:w.error}))]})};export{w as CustomDateTime};
1
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{format as t,isToday as r}from"date-fns";import{useState as n,useEffect as s}from"react";import i from"./DateSelector/DateSelector.js";import{DropdownPopover as m}from"../dropdown/DropdownPopover/index.js";import"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"lodash/debounce";import{BodySecondary as p}from"../TypographyStyle.js";import"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import{Input as d}from"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import c from"../../utils/DateUtils.js";import l from"../../assets/icons/chevronDown.svg.js";import a from"../../assets/icons/clock.svg.js";import{CustomDateTimeStyle as u}from"./CustomDateTime.styled.js";const j=e=>{const o=[];for(let t=0;t<2;t++)for(let r=0;r<12;r++){let n;n=0===r?"12":r<10?`0${r}`:`${r}`;const s=`${n}:00 ${0===t?"AM":"PM"}`,i=`${n}:30 ${0===t?"AM":"PM"}`;o.push({label:s,value:s,selected:s===e},{label:i,value:i,selected:i===e})}return o},w=w=>{const[D,f]=n(w.time),[h,v]=n(w.date);s((()=>{w.setError(void 0);const e=c.convert12HourTimeTo24Hour(D),o=t(new Date,"HH:mm:ss");if(r(h)&&e<o)return void w.setError("Selected time should be later than current time");w.setError(void 0);const[n,s]=e.split(":"),i=new Date(h.getTime());i.setHours(+n,+s),w.onChange(i)}),[h,D]);return e(u,{children:[e("div",Object.assign({style:{display:"flex",gap:16}},{children:[o("div",Object.assign({style:{flex:1}},{children:o(i,{customDate:h,setCustomDate:v,placement:w.placement,minDate:w.minDate})})),o("div",Object.assign({style:{flex:1}},{children:o(m,Object.assign({options:j(D),onSelect:e=>{f(e.value)}},{children:o(d,{value:D,leftIcon:{icon:a},rightIcon:{icon:l},onChangeText:e=>(e=>{if(c.timeFormatValidation(e)){const o=c.convert12HourTimeTo24Hour(e),n=t(new Date,"HH:mm:ss");if(r(h)&&o<n)return void w.setError("Selected time should be later than current time");w.setError(void 0),f(e)}else w.setError('Format of time should be "HH:MM AM" or "HH:MM PM"')})(e)})}))}))]})),w.error&&o(p,Object.assign({style:{paddingTop:8}},{children:w.error}))]})};export{w as CustomDateTime};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import r from"../../../assets/icons/calendar.svg.js";import n from"../../../assets/icons/chevronDown.svg.js";import s,{useState as p}from"react";import{usePopper as i}from"react-popper";import{DatePicker as d}from"../../datePicker/DatePicker.js";import"react-calendar";import{useOutside as m}from"../../../hooks/useOutside.js";import a from"../../../utils/DateUtils.js";import"../../../constants/Theme.js";import"../../TypographyStyle.js";import"../../datePicker/DatePickerWrapper.styled.js";import"../../datePicker/model.js";import"../../dropdown/DropdownPopover/index.js";import"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../checkBox/CheckBox.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../button/Button.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import"../../input/Input.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../datePicker/DatePicker.styled.js";import{OpenDropdownContainer as c}from"../../dropdown/Common.styled.js";import{DropShadow as l}from"../../dropShadow/DropShadow.js";const j=j=>{const[u,w]=p(null),[D,y]=p(null),[h,f]=p(!1),{styles:g,attributes:O}=i(u,D,{placement:j.placement}),b=s.useRef();return m(b,(()=>{f(!1)})),e(o,{children:[e("div",Object.assign({className:"date-preview",ref:w,onClick:()=>{f(!h)}},{children:[t(r,{width:24,height:24}),t("span",Object.assign({style:{marginLeft:8}},{children:a.onlyDateFormat(j.customDate,"dd MMM yyyy")})),t(n,{style:{marginLeft:"auto"},width:22,height:22})]})),h&&t(c,Object.assign({ref:y,style:Object.assign(Object.assign({},g.popper),{zIndex:3})},O.popper,{children:t("div",Object.assign({ref:b},{children:t(l,Object.assign({level:"z2",position:"down",style:{borderRadius:4}},{children:t(d,{selectedDate:j.customDate||new Date,selectRange:!1,onSelectDate:e=>{f(!1),j.setCustomDate(e)},minDate:j.minDate})}))}))}))]})};export{j as default};
1
+ import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import r from"../../../assets/icons/calendar.svg.js";import n from"../../../assets/icons/chevronDown.svg.js";import s,{useState as p}from"react";import{usePopper as i}from"react-popper";import{DatePicker as d}from"../../datePicker/DatePicker.js";import"react-calendar";import{useOutside as m}from"../../../hooks/useOutside.js";import a from"../../../utils/DateUtils.js";import"../../../constants/Theme.js";import"../../TypographyStyle.js";import"../../datePicker/DatePickerWrapper.styled.js";import"../../datePicker/model.js";import"../../dropdown/DropdownPopover/index.js";import"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import"lodash/debounce";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../checkBox/CheckBox.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../button/Button.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import"../../input/Input.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../datePicker/DatePicker.styled.js";import{OpenDropdownContainer as c}from"../../dropdown/Common.styled.js";import{DropShadow as l}from"../../dropShadow/DropShadow.js";const j=j=>{const[u,w]=p(null),[D,h]=p(null),[y,f]=p(!1),{styles:g,attributes:O}=i(u,D,{placement:j.placement}),b=s.useRef();return m(b,(()=>{f(!1)})),e(o,{children:[e("div",Object.assign({className:"date-preview",ref:w,onClick:()=>{f(!y)}},{children:[t(r,{width:24,height:24}),t("span",Object.assign({style:{marginLeft:8}},{children:a.onlyDateFormat(j.customDate,"dd MMM yyyy")})),t(n,{style:{marginLeft:"auto"},width:22,height:22})]})),y&&t(c,Object.assign({ref:h,style:Object.assign(Object.assign({},g.popper),{zIndex:3})},O.popper,{children:t("div",Object.assign({ref:b},{children:t(l,Object.assign({level:"z2",position:"down",style:{borderRadius:4}},{children:t(d,{selectedDate:j.customDate||new Date,selectRange:!1,onSelectDate:e=>{f(!1),j.setCustomDate(e)},minDate:j.minDate})}))}))}))]})};export{j as default};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useMemo as e}from"react";import"../dropdown/DropdownPopover/index.js";import{Dropdown as r}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"../TypographyStyle.js";import"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{TimePickerContainer as n,TimeInputWrapper as p,TimeLabel as i}from"./DatePicker.styled.js";const d=d=>{let{fromTime:l="00:00",toTime:s="23:59",onFromTimeChange:a,onToTimeChange:m,timeInterval:c=30}=d;const u=e((()=>{const t=[];for(let o=0;o<1440;o+=c){const e=Math.floor(o/60),r=o%60,n=e>=12?"PM":"AM",p=`${0===e?12:e>12?e-12:e}:${r.toString().padStart(2,"0")} ${n}`,i=`${e.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`;t.push({label:p,value:i,selected:i===l})}if(l&&!t.find((t=>t.value===l))){const[o,e]=l.split(":").map(Number),r=o>=12?"PM":"AM",n=`${0===o?12:o>12?o-12:o}:${e.toString().padStart(2,"0")} ${r}`;t.push({label:n,value:l,selected:!0}),t.sort(((t,o)=>t.value.localeCompare(o.value)))}return t}),[c,l]),w=e((()=>{const t=[];for(let o=0;o<1440;o+=c){const e=Math.floor(o/60),r=o%60,n=e>=12?"PM":"AM",p=`${0===e?12:e>12?e-12:e}:${r.toString().padStart(2,"0")} ${n}`,i=`${e.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`;t.push({label:p,value:i,selected:i===s})}if(s&&!t.find((t=>t.value===s))){const[o,e]=s.split(":").map(Number),r=o>=12?"PM":"AM",n=`${0===o?12:o>12?o-12:o}:${e.toString().padStart(2,"0")} ${r}`;t.push({label:n,value:s,selected:!0}),t.sort(((t,o)=>t.value.localeCompare(o.value)))}return t}),[c,s]),S=(t,o)=>{if(t)return o.find((o=>o.value===t))},h=S(l,u),j=S(s,w);return t(n,{children:[t(p,{children:[o(i,{children:"From"}),o(r,{placeHolder:"HH:MM",options:u,defaultOptions:h?[h]:[],onSelect:t=>{!Array.isArray(t)&&"value"in t&&(null==a||a(t.value))},size:"small","data-test":"time-picker-from",width:"154px",placement:"bottom-start"})]}),t(p,{children:[o(i,{children:"To"}),o(r,{placeHolder:"HH:MM",options:w,defaultOptions:j?[j]:[],onSelect:t=>{!Array.isArray(t)&&"value"in t&&(null==m||m(t.value))},size:"small","data-test":"time-picker-to",width:"154px",placement:"bottom-start"})]})]})};export{d as TimePicker};
1
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useMemo as e}from"react";import"../dropdown/DropdownPopover/index.js";import{Dropdown as r}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"lodash/debounce";import"../TypographyStyle.js";import"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{TimePickerContainer as n,TimeInputWrapper as p,TimeLabel as i}from"./DatePicker.styled.js";const d=d=>{let{fromTime:l="00:00",toTime:s="23:59",onFromTimeChange:a,onToTimeChange:m,timeInterval:c=30}=d;const u=e((()=>{const t=[];for(let o=0;o<1440;o+=c){const e=Math.floor(o/60),r=o%60,n=e>=12?"PM":"AM",p=`${0===e?12:e>12?e-12:e}:${r.toString().padStart(2,"0")} ${n}`,i=`${e.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`;t.push({label:p,value:i,selected:i===l})}if(l&&!t.find((t=>t.value===l))){const[o,e]=l.split(":").map(Number),r=o>=12?"PM":"AM",n=`${0===o?12:o>12?o-12:o}:${e.toString().padStart(2,"0")} ${r}`;t.push({label:n,value:l,selected:!0}),t.sort(((t,o)=>t.value.localeCompare(o.value)))}return t}),[c,l]),w=e((()=>{const t=[];for(let o=0;o<1440;o+=c){const e=Math.floor(o/60),r=o%60,n=e>=12?"PM":"AM",p=`${0===e?12:e>12?e-12:e}:${r.toString().padStart(2,"0")} ${n}`,i=`${e.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`;t.push({label:p,value:i,selected:i===s})}if(s&&!t.find((t=>t.value===s))){const[o,e]=s.split(":").map(Number),r=o>=12?"PM":"AM",n=`${0===o?12:o>12?o-12:o}:${e.toString().padStart(2,"0")} ${r}`;t.push({label:n,value:s,selected:!0}),t.sort(((t,o)=>t.value.localeCompare(o.value)))}return t}),[c,s]),S=(t,o)=>{if(t)return o.find((o=>o.value===t))},h=S(l,u),j=S(s,w);return t(n,{children:[t(p,{children:[o(i,{children:"From"}),o(r,{placeHolder:"HH:MM",options:u,defaultOptions:h?[h]:[],onSelect:t=>{!Array.isArray(t)&&"value"in t&&(null==a||a(t.value))},size:"small","data-test":"time-picker-from",width:"154px",placement:"bottom-start"})]}),t(p,{children:[o(i,{children:"To"}),o(r,{placeHolder:"HH:MM",options:w,defaultOptions:j?[j]:[],onSelect:t=>{!Array.isArray(t)&&"value"in t&&(null==m||m(t.value))},size:"small","data-test":"time-picker-to",width:"154px",placement:"bottom-start"})]})]})};export{d as TimePicker};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{format as n}from"date-fns";import{useState as r,useEffect as i}from"react";import{CustomDateTime as s}from"../../custom-date-time/CustomDateTime.js";import{COUPON_EXPIRATION as a}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as p}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import{BodySecondary as d}from"../../TypographyStyle.js";import"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../checkBox/CheckBox.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../button/Button.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import{Input as c}from"../../input/Input.js";import"../../dropdown/MenuItem/MenuItem.js";const l=l=>{var m;const[u,D]=r(),[x,f]=r(),j=(new Date).setDate((new Date).getDate()+1),w=()=>{try{const e=l.discountData.expireAt;if(!e)return j;let t;return"object"==typeof e&&"seconds"in e?t=new Date(1e3*e.seconds):e instanceof Date?t=e:"number"==typeof e||"string"==typeof e?t=new Date(e):(console.warn("safeToDate: unknown type",e),t=j),isNaN(t.getTime())?(console.warn("safeToDate: Invalid date for value:",e),j):t}catch(e){return console.error("safeToDate error:",e),j}},I=[{selected:l.selectedExpiration===a.DYNAMIC_EXPIRATION,label:"After a certain no. of days",value:a.DYNAMIC_EXPIRATION},{selected:l.selectedExpiration===a.FIXED_EXPIRATION,label:"Fixed expiry date",value:a.FIXED_EXPIRATION}];i((()=>{(void 0===l.selectedExpiration||null===l.selectedExpiration||u||x)&&l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAfter:void 0,expireAt:void 0})),l.selectedExpiration&&(u||x)&&(l.selectedExpiration===a.FIXED_EXPIRATION?f(void 0):D(void 0))}),[l.selectedExpiration,u,x]);return e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:13,margin:"16px 0 0 28px"}},{children:[t("div",{children:!l.hideExpirationOptions&&e(o,{children:[t(d,Object.assign({style:{marginBottom:8}},{children:"Expiration"})),t("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:t(p,{width:"268px",options:I,placement:"bottom-start",onSelect:e=>{const t=e.value;l.setSelectedExpiration(t),l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAt:void 0,expireAfter:void 0}))},truncatedText:!1})}))]})}),l.selectedExpiration===a.DYNAMIC_EXPIRATION&&t(c,{value:null===(m=l.discountData.expireAfter)||void 0===m?void 0:m.toString(),placeholder:"Eg. 5",labelText:"No. of days before coupon expires",width:"268px",type:"number",onChangeText:e=>{(e=>{f(void 0);const t=Number.parseInt(e);t>0?l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAfter:t,expireAt:void 0})):f("Please enter valid input")})(e)},isRequired:!0,errorMessage:l.inValidCouponExpiry?"Required Field":x,state:l.inValidCouponExpiry?"invalid":"none"}),l.selectedExpiration===a.FIXED_EXPIRATION&&e(o,{children:[t(d,{children:"Expiring on"}),t(s,{placement:"bottom-start",time:(()=>{try{return n(w(),"hh:mm a")}catch(e){return console.error("formatTime error:",e),""}})(),date:new Date(w()),error:u,setError:D,onChange:e=>{l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAt:e,expireAfter:void 0}))},minDate:new Date(j)})]})]}))};export{l as CouponExpiration};
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{format as n}from"date-fns";import{useState as r,useEffect as i}from"react";import{CustomDateTime as s}from"../../custom-date-time/CustomDateTime.js";import{COUPON_EXPIRATION as a}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as p}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import"lodash/debounce";import{BodySecondary as d}from"../../TypographyStyle.js";import"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../checkBox/CheckBox.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../button/Button.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import{Input as c}from"../../input/Input.js";import"../../dropdown/MenuItem/MenuItem.js";const l=l=>{var m;const[u,D]=r(),[x,f]=r(),j=(new Date).setDate((new Date).getDate()+1),w=()=>{try{const e=l.discountData.expireAt;if(!e)return j;let t;return"object"==typeof e&&"seconds"in e?t=new Date(1e3*e.seconds):e instanceof Date?t=e:"number"==typeof e||"string"==typeof e?t=new Date(e):(console.warn("safeToDate: unknown type",e),t=j),isNaN(t.getTime())?(console.warn("safeToDate: Invalid date for value:",e),j):t}catch(e){return console.error("safeToDate error:",e),j}},I=[{selected:l.selectedExpiration===a.DYNAMIC_EXPIRATION,label:"After a certain no. of days",value:a.DYNAMIC_EXPIRATION},{selected:l.selectedExpiration===a.FIXED_EXPIRATION,label:"Fixed expiry date",value:a.FIXED_EXPIRATION}];i((()=>{(void 0===l.selectedExpiration||null===l.selectedExpiration||u||x)&&l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAfter:void 0,expireAt:void 0})),l.selectedExpiration&&(u||x)&&(l.selectedExpiration===a.FIXED_EXPIRATION?f(void 0):D(void 0))}),[l.selectedExpiration,u,x]);return e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:13,margin:"16px 0 0 28px"}},{children:[t("div",{children:!l.hideExpirationOptions&&e(o,{children:[t(d,Object.assign({style:{marginBottom:8}},{children:"Expiration"})),t("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:t(p,{width:"268px",options:I,placement:"bottom-start",onSelect:e=>{const t=e.value;l.setSelectedExpiration(t),l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAt:void 0,expireAfter:void 0}))},truncatedText:!1})}))]})}),l.selectedExpiration===a.DYNAMIC_EXPIRATION&&t(c,{value:null===(m=l.discountData.expireAfter)||void 0===m?void 0:m.toString(),placeholder:"Eg. 5",labelText:"No. of days before coupon expires",width:"268px",type:"number",onChangeText:e=>{(e=>{f(void 0);const t=Number.parseInt(e);t>0?l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAfter:t,expireAt:void 0})):f("Please enter valid input")})(e)},isRequired:!0,errorMessage:l.inValidCouponExpiry?"Required Field":x,state:l.inValidCouponExpiry?"invalid":"none"}),l.selectedExpiration===a.FIXED_EXPIRATION&&e(o,{children:[t(d,{children:"Expiring on"}),t(s,{placement:"bottom-start",time:(()=>{try{return n(w(),"hh:mm a")}catch(e){return console.error("formatTime error:",e),""}})(),date:new Date(w()),error:u,setError:D,onChange:e=>{l.setDiscountData(Object.assign(Object.assign({},l.discountData),{expireAt:e,expireAfter:void 0}))},minDate:new Date(j)})]})]}))};export{l as CouponExpiration};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{ApplicationType as o}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as n,useEffect as l}from"react";import{DISCOUNT_TYPES as r,MIN_PURCHASE_REQUIREMENT as d,DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as c,initialStaticCouponErrorState as s,initialDynamicCouponErrorState as u,COUPON_EXPIRATION as p,DISCOUNT_TARGET_TYPES as C,DISCOUNT_TARGET_SELECTION as b,DISCOUNT_VALUE_TYPES as v}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as y}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as P,BodyCaption as m,TitleRegular as I}from"../TypographyStyle.js";import{DEFAULT_THEME as S}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as h}from"../modals/styledModal.js";import{ProductPickerContent as O}from"../product-picker/ProductPickerModal.js";import{Tag as E}from"../tag/Tag.js";import{Tooltip as T}from"../tooltips/Tooltip.js";import f from"../../assets/icons/gift_icon.svg.js";import g from"../../assets/icons/percentage_icon.svg.js";import V from"../../assets/icons/shipping_icon.svg.js";import D from"../../assets/icons/triangle_error.svg.js";import _ from"../../assets/icons/warning.svg.js";import{ProductPickerModal as A}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as N}from"../variable-picker-v3/model.js";import{VariablePicker as k}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as j,CouponTypeContainerStyled as F,VariablePickerContainer as x}from"./DiscountModal.styled.js";import{validateDiscountData as R,descriptionBuilder as M}from"./DiscountUtils.js";import w,{DISCOUNT_PRODUCTS as q}from"./DynamicCoupon/DynamicCoupon.js";import U from"./StaticCoupon/StaticCoupon.js";const L=L=>{var B,G,Y,X,Q,H,z,K,$,Z,J;const W=[{id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:L.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e(g,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:r.BUY_X_GET_Y,icon:i=>e(f,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:r.FREE_SHIPPING,icon:i=>e(V,{width:24,height:24,color:i})}],[ee,ie]=n(),[te,oe]=n(),[ne,le]=n(),[re,de]=n(null!==(B=L.data)&&void 0!==B?B:"string"==typeof L.hideOption?{isStaticCoupon:"dynamic"===L.hideOption}:{isStaticCoupon:!0}),[ae,ce]=n(!0),[se,ue]=n(),[pe,Ce]=n((null===(G=L.data)||void 0===G?void 0:G.minAmount)?d.AMOUNT:(null===(Y=L.data)||void 0===Y?void 0:Y.minQuantity)?d.QUANTITY:d.NA),[be,ve]=n(a.ENTIRE_ORDER),[ye,Pe]=n(c.SPECIFIC_PRODUCTS),[me,Ie]=n(c.SPECIFIC_PRODUCTS),[Se,he]=n(void 0),[Oe,Ee]=n(void 0),[Te,fe]=n(void 0),[ge,Ve]=n(void 0),[De,_e]=n(void 0),[Ae,Ne]=n(void 0),[ke,je]=n(0),[Fe,xe]=n(""),[Re,Me]=n(W[0]),[we,qe]=n(!1),[Ue,Le]=n(s),[Be,Ge]=n(u),[Ye,Xe]=n(L.getDetailedDescription?p.FIXED_EXPIRATION:p.DYNAMIC_EXPIRATION),Qe=[{value:r.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:se===r.AMOUNT_OFF_ORDER},{value:r.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:se===r.AMOUNT_OFF_PRODUCTS},{value:r.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:se===r.BUY_X_GET_Y},{value:r.FREE_SHIPPING,label:"Free shipping",selected:se===r.FREE_SHIPPING}];l((()=>{L.makeExpiryMandatory&&qe(!0)}),[L.makeExpiryMandatory]),l((()=>{var e,i,t,o,n,l,d,s;let u;const{tempCouponData:C,discountType:b}=He();ue(b);const y=(e,i)=>{Me(C.valueType===v.FIXED_AMOUNT?W[e]:W[i])},P=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==C?void 0:C.expireAfter)||(null==C?void 0:C.expireAt))&&(qe(!0),(null==C?void 0:C.expireAt)&&Xe(p.FIXED_EXPIRATION),(null==C?void 0:C.expireAfter)&&Xe(p.DYNAMIC_EXPIRATION)),b){case r.AMOUNT_OFF_ORDER:y(0,1),ve(a.ENTIRE_ORDER);break;case r.AMOUNT_OFF_PRODUCTS:y(0,1),(null===(e=C.entitledCollectionIds)||void 0===e?void 0:e.length)?ve(a.SPECIFIC_COLLECTIONS):(null===(i=C.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=C.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(ve(a.SPECIFIC_PRODUCTS),P(null===(o=C.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,Ve)):ve(a.ENTIRE_ORDER);break;case r.BUY_X_GET_Y:Me(W[2]),(null===(n=C.entitledCollectionIds)||void 0===n?void 0:n.length)?Ie(c.SPECIFIC_COLLECTIONS):(Ie(c.SPECIFIC_PRODUCTS),P(null===(l=C.productVariableConf)||void 0===l?void 0:l.entitledProductVariable,Ve)),(null===(d=C.prerequisiteCollectionIds)||void 0===d?void 0:d.length)?Pe(c.SPECIFIC_COLLECTIONS):(Pe(c.SPECIFIC_PRODUCTS),P(null===(s=C.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,_e));break;case r.FREE_SHIPPING:Me(W[3])}de(Object.assign({},C)),L.hideProbability||(u=$e()),ce(R(C,pe,b,L.hideProbability||!1,u,!!C.isStaticCoupon,L.getDetailedDescription||!1)),L.hideProbability||$e()}),[]),l((()=>{let e;L.hideProbability||(e=$e()),ce(R(re,pe,se,L.hideProbability||!1,e,!!re.isStaticCoupon,L.getDetailedDescription||!1))}),[re,ke,se,pe]),l((()=>{var e,i,t,o,n,l,r;if(!L.newPickerConf&&((null===(e=L.products)||void 0===e?void 0:e.length)||(null===(i=L.collection)||void 0===i?void 0:i.length))){if(L.products&&(null===(t=L.products)||void 0===t?void 0:t.length)){if(null===(o=L.data)||void 0===o?void 0:o.entitledProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ee(e)}if(null===(n=L.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));he(e)}}if(L.collection&&L.collection.length){if(null===(l=L.data)||void 0===l?void 0:l.entitledCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ne(e)}if(null===(r=L.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));fe(e)}}}}),[L.products,L.collection]),l((()=>{var e,i,t,o,n,l,r,d;(null===(i=null===(e=L.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Ee(L.data.productsConf.entitledProducts),(null===(o=null===(t=L.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&he(L.data.productsConf.prerequisiteProducts),(null===(l=null===(n=L.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ne(L.data.collectionsConf.entitledCollections),(null===(d=null===(r=L.data)||void 0===r?void 0:r.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&fe(L.data.collectionsConf.prerequisiteCollections)}),[null===(X=L.data)||void 0===X?void 0:X.productsConf,null===(Q=L.data)||void 0===Q?void 0:Q.collectionsConf]),l((()=>{if(!Oe)return;if(L.newPickerConf){const e=[];return Object.values(Oe).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}const e=Oe.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}),[Oe]),l((()=>{if(!Se)return;if(L.newPickerConf){const e=[];return Object.values(Se).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}const e=Se.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}),[Se]),l((()=>{if(!Ae)return;if(L.newPickerConf){(null==Ae?void 0:Ae.isCustom)&&delete Ae.isCustom;const e=Object.keys(Ae).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}const e=Ae.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}),[Ae]),l((()=>{if(!Te)return;if(L.newPickerConf){(null==Te?void 0:Te.isCustom)&&delete Te.isCustom;const e=Object.keys(Te).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}const e=Te.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}),[Te]);const He=()=>{var e,i,t,o;let n,l=re;return re.isStaticCoupon?re.isStaticCoupon&&L.getDetailedDescription&&(re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(t=re.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(o=re.prerequisiteCollectionIds)||void 0===o?void 0:o.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER)):re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(e=re.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=re.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER),{discountType:n,tempCouponData:l}},ze=()=>{Le(s),Ge(u)},Ke=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=re.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":re.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(xe(n>1?"Please add discount details":o),!0)},$e=()=>{if(!L.quadrant||!L.probability)return;const e=[...L.probability];let i=[];e.length>=L.quadrant&&e.splice(L.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(re.probability||0);return je(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ze=e=>{var i,t,o,n,l,d,a,c,s,u,p,y,P,m,I,S;const h=e.value;ue(h),he([]),Ee([]),fe([]),Ne([]),h===r.FREE_SHIPPING?de({value:100,targetSelection:b.ALL,targetType:C.SHIPPING_LINE,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(i=re.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=re.expireAfter)&&void 0!==t?t:void 0,probability:re.probability,minQuantity:null!==(o=re.minQuantity)&&void 0!==o?o:void 0,minAmount:null!==(n=re.minAmount)&&void 0!==n?n:void 0}):h===r.BUY_X_GET_Y?de({value:100,targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(l=re.expireAt)&&void 0!==l?l:void 0,expireAfter:null!==(d=re.expireAfter)&&void 0!==d?d:void 0,probability:re.probability,minQuantity:void 0,minAmount:void 0}):h===r.AMOUNT_OFF_ORDER?de({targetSelection:b.ALL,targetType:C.LINE_ITEM,valueType:null!==(a=re.valueType)&&void 0!==a?a:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(c=re.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=re.expireAfter)&&void 0!==s?s:void 0,probability:re.probability,value:re.value,minQuantity:null!==(u=re.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=re.minAmount)&&void 0!==p?p:void 0}):h===r.AMOUNT_OFF_PRODUCTS&&de({targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:null!==(y=re.valueType)&&void 0!==y?y:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(P=re.expireAt)&&void 0!==P?P:void 0,expireAfter:null!==(m=re.expireAfter)&&void 0!==m?m:void 0,probability:re.probability,value:re.value,minQuantity:null!==(I=re.minQuantity)&&void 0!==I?I:void 0,minAmount:null!==(S=re.minAmount)&&void 0!==S?S:void 0})},Je=i=>i&&e(E,{theme:"light",tagText:i,type:"negative",LeadingIcon:_});return i(h,Object.assign({width:(ne||ee)&&L.newPickerConf?"25px":"640px",open:L.isOpen,hideCrossButton:!!te,headingTitle:ee?"Select Products":L.title,headingSubtitle:ee?void 0:L.subTitle,footerLeftCustomElement:Fe?Je(Fe):L.errorMsg?Je(L.errorMsg):!L.quadrant||L.hideProbability?e(t,{}):ke<=1?e(E,{theme:"light",tagText:`Current probability sum: ${ke}`,type:"white"}):e(T,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e("div",{children:e(E,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${ke}`,type:"negative",LeadingIcon:D})})})),headerRightCustomElement:L.allowStaticCoupon||ee?void 0:e(y,{options:Qe,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ze(e)}}),onClose:L.onClose,footerContainerStyle:{borderTop:`1px solid ${S.colorsV2.stroke.primary}`},primaryButton:ee?{buttonType:"primary",onClick:()=>{ie(void 0)},buttonText:"Add"}:ne?{buttonType:"primary",onClick:()=>{le(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(H=L.loading)&&void 0!==H&&H,onClick:()=>{var e,i,t,o,n,l,s,u,p,C;if(ze(),re.isStaticCoupon&&!L.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=re,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!L.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(Ke(r))return void Le(r);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:re.title})}else if(re.isStaticCoupon&&L.getDetailedDescription){const{isStaticCoupon:l,couponCode:s,title:u,quadrant:p,probability:C}=re,b={invalidDiscountCode:!s,invalidCouponTitle:!u,invalidCouponDescription:!1,inValidProbability:!L.hideProbability&&(null!=C?C:-1)<0||(null!=C?C:0)>1||Number.isNaN(null!=C?C:0)};if(Ke(b))return void Le(b);const v={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(e=re.probability)&&void 0!==e?e:-1)<=0||(null!==(i=re.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=re.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:e,minQuantity:i}=re;v.inValidMinimumAmount=pe===d.AMOUNT&&!e,v.inValidMinimumQuantity=pe===d.QUANTITY&&!i}if(we&&(v.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(v.inValidBuyXValue=!0),re.entitledQuantity||(v.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Se||Object.keys(Se).length||De||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(v.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidGetYCollectionSelection=!0)),Ke(v))return void Ge(v);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{couponCode:s,isStaticCoupon:l,quadrant:p,description:M(re,L.currency,null!==(o=L.products)&&void 0!==o?o:[],null!==(n=L.collection)&&void 0!==n?n:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}else{const e={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(l=re.probability)&&void 0!==l?l:-1)<=0||(null!==(s=re.probability)&&void 0!==s?s:-1)>1||Number.isNaN(null!==(u=re.probability)&&void 0!==u?u:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:i,minQuantity:t}=re;e.inValidMinimumAmount=pe===d.AMOUNT&&!i,e.inValidMinimumQuantity=pe===d.QUANTITY&&!t}if(we&&(e.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(e.inValidBuyXValue=!0),re.entitledQuantity||(e.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Se||Object.keys(Se).length||De||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(e.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidGetYCollectionSelection=!0)),Ke(e))return void Ge(e);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{isStaticCoupon:re.isStaticCoupon,description:M(re,L.currency,null!==(p=L.products)&&void 0!==p?p:[],null!==(C=L.collection)&&void 0!==C?C:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}}},secondaryButton:ee?{buttonType:"tertiaryGray",onClick:()=>{ie(void 0)},buttonText:"Back"}:ne?{buttonType:"tertiaryGray",onClick:()=>{le(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:L.onClose,buttonText:"Cancel"}},{children:[!ee&&!ne&&i(j,{children:[L.allowStaticCoupon&&!ee&&!L.hideOption&&i(F,Object.assign({selectedDiv:re.isStaticCoupon?1:2},{children:["static"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{re.isStaticCoupon||(de({isStaticCoupon:!0,quadrant:re.quadrant}),xe(""),ze())}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?S.colorsV2.content.brand:void 0}},{children:"Static Code"})),e(m,Object.assign({style:re.isStaticCoupon?{color:S.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;re.isStaticCoupon&&(ue(r.AMOUNT_OFF_ORDER),de({isStaticCoupon:!1,quadrant:re.quadrant,targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),xe(""),ze(),Me({id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i}},{children:L.currency||""}))}),qe(null!==(i=L.makeExpiryMandatory)&&void 0!==i&&i),Ce(d.NA))}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?void 0:S.colorsV2.content.brand}},{children:"Dynamic Code"})),e(m,Object.assign({style:re.isStaticCoupon?{}:{color:S.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!L.getDetailedDescription&&e(I,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",re.isStaticCoupon&&!ee&&!L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency}),re.isStaticCoupon&&!ee&&L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency,getDetailedDescription:!0,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideExpiration:L.hideExpiration||!1,onChangeCouponType:Ze,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[],setEntitledProducts:Ee,setPrerequisiteProducts:he,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setEntitledCollections:Ne,setPrerequisiteCollections:fe,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setIsCollectionPickerOpen:le,productPickerOpen:ee,productVariablePickerOpen:te,collectionPickerOpen:ne,useNewPicker:!!L.newPickerConf,selectedDiscountDetails:Re,setSelectedDiscountDetails:Me,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory}),!re.isStaticCoupon&&!ee&&!ne&&e(w,{currency:L.currency,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[],setEntitledProducts:Ee,setPrerequisiteProducts:he,discountData:re,productPickerOpen:ee,productVariablePickerOpen:te,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setDiscountData:de,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideProbability:L.hideProbability||!1,hideExpiration:L.hideExpiration||!1,allowStaticCoupon:L.allowStaticCoupon,onChangeCouponType:Ze,collectionPickerOpen:ne,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setIsCollectionPickerOpen:le,setEntitledCollections:Ne,setPrerequisiteCollections:fe,useNewPicker:!!L.newPickerConf,setSelectedDiscountDetails:Me,selectedDiscountDetails:Re,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory})]}),!!ee&&i(t,{children:[!L.newPickerConf&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(O,{show:!0,onSave:()=>{},products:null!==(z=L.products)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{ie(void 0)},selectedProducts:null!==(K=ee===q.ENTITLED?Oe:Se)&&void 0!==K?K:[],setSelectedProducts:ee===q.ENTITLED?Ee:he,onSearchKeyChange:L.onProductSearch})})),L.newPickerConf&&e(A,{visible:!0,onClose:()=>ie(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.fetchCollections)?L.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=L.newPickerConf)||void 0===l?void 0:l.fetchProducts)?L.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:ee===q.ENTITLED?Oe:Se,onAdd:e=>{ee===q.ENTITLED?Ee(e):he(e),ie(void 0)},zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=L.newPickerConf)||void 0===n?void 0:n.searchInCollection)?L.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.searchProducts)?L.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!ne&&e("div",Object.assign({style:{padding:"12px 0"}},{children:i(t,{children:[L.newPickerConf&&e(A,{visible:!0,onClose:()=>le(void 0),collectionFetcher:L.newPickerConf.fetchCollections,productFetcher:L.newPickerConf.fetchProducts,selectedItems:ne===q.ENTITLED?Ae:Te,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),ne===q.ENTITLED?Ne(e):fe(e),le(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:L.newPickerConf.searchInCollection,searchFetcher:L.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!L.newPickerConf&&e(O,{show:!0,onSave:()=>{},products:null!==($=L.collection)&&void 0!==$?$:[],title:"Select Products",onClose:()=>{le(void 0)},selectedProducts:null!==(Z=ne===q.ENTITLED?Ae:Te)&&void 0!==Z?Z:[],setSelectedProducts:ne===q.ENTITLED?Ne:fe,onSearchKeyChange:L.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),te&&e(x,{children:e("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e(k,{type:N.EMBEDDED,data:null!==(J=L.productVariableList)&&void 0!==J?J:[],showHeader:!0,onSelect:e=>{if(te===q.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;Ve({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}if(te===q.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;_e({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}},onClose:()=>{oe(void 0)}})}))})]}))};export{L as DiscountModal};
1
+ import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{ApplicationType as o}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as n,useEffect as l}from"react";import{DISCOUNT_TYPES as r,MIN_PURCHASE_REQUIREMENT as d,DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as c,initialStaticCouponErrorState as s,initialDynamicCouponErrorState as u,COUPON_EXPIRATION as p,DISCOUNT_TARGET_TYPES as C,DISCOUNT_TARGET_SELECTION as b,DISCOUNT_VALUE_TYPES as v}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as y}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import"lodash/debounce";import{TitleSmall as P,BodyCaption as m,TitleRegular as I}from"../TypographyStyle.js";import{DEFAULT_THEME as h}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as S}from"../modals/styledModal.js";import{ProductPickerContent as O}from"../product-picker/ProductPickerModal.js";import{Tag as E}from"../tag/Tag.js";import{Tooltip as T}from"../tooltips/Tooltip.js";import f from"../../assets/icons/gift_icon.svg.js";import g from"../../assets/icons/percentage_icon.svg.js";import V from"../../assets/icons/shipping_icon.svg.js";import D from"../../assets/icons/triangle_error.svg.js";import _ from"../../assets/icons/warning.svg.js";import{ProductPickerModal as A}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as N}from"../variable-picker-v3/model.js";import{VariablePicker as k}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as j,CouponTypeContainerStyled as F,VariablePickerContainer as x}from"./DiscountModal.styled.js";import{validateDiscountData as R,descriptionBuilder as M}from"./DiscountUtils.js";import w,{DISCOUNT_PRODUCTS as q}from"./DynamicCoupon/DynamicCoupon.js";import U from"./StaticCoupon/StaticCoupon.js";const L=L=>{var B,G,Y,X,Q,H,z,K,$,Z,J;const W=[{id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:L.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e(g,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:r.BUY_X_GET_Y,icon:i=>e(f,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:r.FREE_SHIPPING,icon:i=>e(V,{width:24,height:24,color:i})}],[ee,ie]=n(),[te,oe]=n(),[ne,le]=n(),[re,de]=n(null!==(B=L.data)&&void 0!==B?B:"string"==typeof L.hideOption?{isStaticCoupon:"dynamic"===L.hideOption}:{isStaticCoupon:!0}),[ae,ce]=n(!0),[se,ue]=n(),[pe,Ce]=n((null===(G=L.data)||void 0===G?void 0:G.minAmount)?d.AMOUNT:(null===(Y=L.data)||void 0===Y?void 0:Y.minQuantity)?d.QUANTITY:d.NA),[be,ve]=n(a.ENTIRE_ORDER),[ye,Pe]=n(c.SPECIFIC_PRODUCTS),[me,Ie]=n(c.SPECIFIC_PRODUCTS),[he,Se]=n(void 0),[Oe,Ee]=n(void 0),[Te,fe]=n(void 0),[ge,Ve]=n(void 0),[De,_e]=n(void 0),[Ae,Ne]=n(void 0),[ke,je]=n(0),[Fe,xe]=n(""),[Re,Me]=n(W[0]),[we,qe]=n(!1),[Ue,Le]=n(s),[Be,Ge]=n(u),[Ye,Xe]=n(L.getDetailedDescription?p.FIXED_EXPIRATION:p.DYNAMIC_EXPIRATION),Qe=[{value:r.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:se===r.AMOUNT_OFF_ORDER},{value:r.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:se===r.AMOUNT_OFF_PRODUCTS},{value:r.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:se===r.BUY_X_GET_Y},{value:r.FREE_SHIPPING,label:"Free shipping",selected:se===r.FREE_SHIPPING}];l((()=>{L.makeExpiryMandatory&&qe(!0)}),[L.makeExpiryMandatory]),l((()=>{var e,i,t,o,n,l,d,s;let u;const{tempCouponData:C,discountType:b}=He();ue(b);const y=(e,i)=>{Me(C.valueType===v.FIXED_AMOUNT?W[e]:W[i])},P=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==C?void 0:C.expireAfter)||(null==C?void 0:C.expireAt))&&(qe(!0),(null==C?void 0:C.expireAt)&&Xe(p.FIXED_EXPIRATION),(null==C?void 0:C.expireAfter)&&Xe(p.DYNAMIC_EXPIRATION)),b){case r.AMOUNT_OFF_ORDER:y(0,1),ve(a.ENTIRE_ORDER);break;case r.AMOUNT_OFF_PRODUCTS:y(0,1),(null===(e=C.entitledCollectionIds)||void 0===e?void 0:e.length)?ve(a.SPECIFIC_COLLECTIONS):(null===(i=C.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=C.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(ve(a.SPECIFIC_PRODUCTS),P(null===(o=C.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,Ve)):ve(a.ENTIRE_ORDER);break;case r.BUY_X_GET_Y:Me(W[2]),(null===(n=C.entitledCollectionIds)||void 0===n?void 0:n.length)?Ie(c.SPECIFIC_COLLECTIONS):(Ie(c.SPECIFIC_PRODUCTS),P(null===(l=C.productVariableConf)||void 0===l?void 0:l.entitledProductVariable,Ve)),(null===(d=C.prerequisiteCollectionIds)||void 0===d?void 0:d.length)?Pe(c.SPECIFIC_COLLECTIONS):(Pe(c.SPECIFIC_PRODUCTS),P(null===(s=C.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,_e));break;case r.FREE_SHIPPING:Me(W[3])}de(Object.assign({},C)),L.hideProbability||(u=$e()),ce(R(C,pe,b,L.hideProbability||!1,u,!!C.isStaticCoupon,L.getDetailedDescription||!1)),L.hideProbability||$e()}),[]),l((()=>{let e;L.hideProbability||(e=$e()),ce(R(re,pe,se,L.hideProbability||!1,e,!!re.isStaticCoupon,L.getDetailedDescription||!1))}),[re,ke,se,pe]),l((()=>{var e,i,t,o,n,l,r;if(!L.newPickerConf&&((null===(e=L.products)||void 0===e?void 0:e.length)||(null===(i=L.collection)||void 0===i?void 0:i.length))){if(L.products&&(null===(t=L.products)||void 0===t?void 0:t.length)){if(null===(o=L.data)||void 0===o?void 0:o.entitledProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ee(e)}if(null===(n=L.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Se(e)}}if(L.collection&&L.collection.length){if(null===(l=L.data)||void 0===l?void 0:l.entitledCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ne(e)}if(null===(r=L.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));fe(e)}}}}),[L.products,L.collection]),l((()=>{var e,i,t,o,n,l,r,d;(null===(i=null===(e=L.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Ee(L.data.productsConf.entitledProducts),(null===(o=null===(t=L.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&Se(L.data.productsConf.prerequisiteProducts),(null===(l=null===(n=L.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ne(L.data.collectionsConf.entitledCollections),(null===(d=null===(r=L.data)||void 0===r?void 0:r.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&fe(L.data.collectionsConf.prerequisiteCollections)}),[null===(X=L.data)||void 0===X?void 0:X.productsConf,null===(Q=L.data)||void 0===Q?void 0:Q.collectionsConf]),l((()=>{if(!Oe)return;if(L.newPickerConf){const e=[];return Object.values(Oe).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}const e=Oe.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}),[Oe]),l((()=>{if(!he)return;if(L.newPickerConf){const e=[];return Object.values(he).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}const e=he.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}),[he]),l((()=>{if(!Ae)return;if(L.newPickerConf){(null==Ae?void 0:Ae.isCustom)&&delete Ae.isCustom;const e=Object.keys(Ae).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}const e=Ae.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}),[Ae]),l((()=>{if(!Te)return;if(L.newPickerConf){(null==Te?void 0:Te.isCustom)&&delete Te.isCustom;const e=Object.keys(Te).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}const e=Te.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}),[Te]);const He=()=>{var e,i,t,o;let n,l=re;return re.isStaticCoupon?re.isStaticCoupon&&L.getDetailedDescription&&(re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(t=re.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(o=re.prerequisiteCollectionIds)||void 0===o?void 0:o.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER)):re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(e=re.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=re.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER),{discountType:n,tempCouponData:l}},ze=()=>{Le(s),Ge(u)},Ke=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=re.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":re.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(xe(n>1?"Please add discount details":o),!0)},$e=()=>{if(!L.quadrant||!L.probability)return;const e=[...L.probability];let i=[];e.length>=L.quadrant&&e.splice(L.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(re.probability||0);return je(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ze=e=>{var i,t,o,n,l,d,a,c,s,u,p,y,P,m,I,h;const S=e.value;ue(S),Se([]),Ee([]),fe([]),Ne([]),S===r.FREE_SHIPPING?de({value:100,targetSelection:b.ALL,targetType:C.SHIPPING_LINE,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(i=re.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=re.expireAfter)&&void 0!==t?t:void 0,probability:re.probability,minQuantity:null!==(o=re.minQuantity)&&void 0!==o?o:void 0,minAmount:null!==(n=re.minAmount)&&void 0!==n?n:void 0}):S===r.BUY_X_GET_Y?de({value:100,targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(l=re.expireAt)&&void 0!==l?l:void 0,expireAfter:null!==(d=re.expireAfter)&&void 0!==d?d:void 0,probability:re.probability,minQuantity:void 0,minAmount:void 0}):S===r.AMOUNT_OFF_ORDER?de({targetSelection:b.ALL,targetType:C.LINE_ITEM,valueType:null!==(a=re.valueType)&&void 0!==a?a:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(c=re.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=re.expireAfter)&&void 0!==s?s:void 0,probability:re.probability,value:re.value,minQuantity:null!==(u=re.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=re.minAmount)&&void 0!==p?p:void 0}):S===r.AMOUNT_OFF_PRODUCTS&&de({targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:null!==(y=re.valueType)&&void 0!==y?y:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(P=re.expireAt)&&void 0!==P?P:void 0,expireAfter:null!==(m=re.expireAfter)&&void 0!==m?m:void 0,probability:re.probability,value:re.value,minQuantity:null!==(I=re.minQuantity)&&void 0!==I?I:void 0,minAmount:null!==(h=re.minAmount)&&void 0!==h?h:void 0})},Je=i=>i&&e(E,{theme:"light",tagText:i,type:"negative",LeadingIcon:_});return i(S,Object.assign({width:(ne||ee)&&L.newPickerConf?"25px":"640px",open:L.isOpen,hideCrossButton:!!te,headingTitle:ee?"Select Products":L.title,headingSubtitle:ee?void 0:L.subTitle,footerLeftCustomElement:Fe?Je(Fe):L.errorMsg?Je(L.errorMsg):!L.quadrant||L.hideProbability?e(t,{}):ke<=1?e(E,{theme:"light",tagText:`Current probability sum: ${ke}`,type:"white"}):e(T,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e("div",{children:e(E,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${ke}`,type:"negative",LeadingIcon:D})})})),headerRightCustomElement:L.allowStaticCoupon||ee?void 0:e(y,{options:Qe,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ze(e)}}),onClose:L.onClose,footerContainerStyle:{borderTop:`1px solid ${h.colorsV2.stroke.primary}`},primaryButton:ee?{buttonType:"primary",onClick:()=>{ie(void 0)},buttonText:"Add"}:ne?{buttonType:"primary",onClick:()=>{le(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(H=L.loading)&&void 0!==H&&H,onClick:()=>{var e,i,t,o,n,l,s,u,p,C;if(ze(),re.isStaticCoupon&&!L.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=re,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!L.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(Ke(r))return void Le(r);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:re.title})}else if(re.isStaticCoupon&&L.getDetailedDescription){const{isStaticCoupon:l,couponCode:s,title:u,quadrant:p,probability:C}=re,b={invalidDiscountCode:!s,invalidCouponTitle:!u,invalidCouponDescription:!1,inValidProbability:!L.hideProbability&&(null!=C?C:-1)<0||(null!=C?C:0)>1||Number.isNaN(null!=C?C:0)};if(Ke(b))return void Le(b);const v={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(e=re.probability)&&void 0!==e?e:-1)<=0||(null!==(i=re.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=re.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:e,minQuantity:i}=re;v.inValidMinimumAmount=pe===d.AMOUNT&&!e,v.inValidMinimumQuantity=pe===d.QUANTITY&&!i}if(we&&(v.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(v.inValidBuyXValue=!0),re.entitledQuantity||(v.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||De||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(v.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidGetYCollectionSelection=!0)),Ke(v))return void Ge(v);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{couponCode:s,isStaticCoupon:l,quadrant:p,description:M(re,L.currency,null!==(o=L.products)&&void 0!==o?o:[],null!==(n=L.collection)&&void 0!==n?n:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=he?he:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}else{const e={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(l=re.probability)&&void 0!==l?l:-1)<=0||(null!==(s=re.probability)&&void 0!==s?s:-1)>1||Number.isNaN(null!==(u=re.probability)&&void 0!==u?u:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:i,minQuantity:t}=re;e.inValidMinimumAmount=pe===d.AMOUNT&&!i,e.inValidMinimumQuantity=pe===d.QUANTITY&&!t}if(we&&(e.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(e.inValidBuyXValue=!0),re.entitledQuantity||(e.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||De||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(e.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidGetYCollectionSelection=!0)),Ke(e))return void Ge(e);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{isStaticCoupon:re.isStaticCoupon,description:M(re,L.currency,null!==(p=L.products)&&void 0!==p?p:[],null!==(C=L.collection)&&void 0!==C?C:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=he?he:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}}},secondaryButton:ee?{buttonType:"tertiaryGray",onClick:()=>{ie(void 0)},buttonText:"Back"}:ne?{buttonType:"tertiaryGray",onClick:()=>{le(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:L.onClose,buttonText:"Cancel"}},{children:[!ee&&!ne&&i(j,{children:[L.allowStaticCoupon&&!ee&&!L.hideOption&&i(F,Object.assign({selectedDiv:re.isStaticCoupon?1:2},{children:["static"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{re.isStaticCoupon||(de({isStaticCoupon:!0,quadrant:re.quadrant}),xe(""),ze())}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?h.colorsV2.content.brand:void 0}},{children:"Static Code"})),e(m,Object.assign({style:re.isStaticCoupon?{color:h.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;re.isStaticCoupon&&(ue(r.AMOUNT_OFF_ORDER),de({isStaticCoupon:!1,quadrant:re.quadrant,targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),xe(""),ze(),Me({id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i}},{children:L.currency||""}))}),qe(null!==(i=L.makeExpiryMandatory)&&void 0!==i&&i),Ce(d.NA))}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?void 0:h.colorsV2.content.brand}},{children:"Dynamic Code"})),e(m,Object.assign({style:re.isStaticCoupon?{}:{color:h.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!L.getDetailedDescription&&e(I,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",re.isStaticCoupon&&!ee&&!L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency}),re.isStaticCoupon&&!ee&&L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency,getDetailedDescription:!0,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideExpiration:L.hideExpiration||!1,onChangeCouponType:Ze,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=he?he:[],setEntitledProducts:Ee,setPrerequisiteProducts:Se,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setEntitledCollections:Ne,setPrerequisiteCollections:fe,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setIsCollectionPickerOpen:le,productPickerOpen:ee,productVariablePickerOpen:te,collectionPickerOpen:ne,useNewPicker:!!L.newPickerConf,selectedDiscountDetails:Re,setSelectedDiscountDetails:Me,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory}),!re.isStaticCoupon&&!ee&&!ne&&e(w,{currency:L.currency,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=he?he:[],setEntitledProducts:Ee,setPrerequisiteProducts:Se,discountData:re,productPickerOpen:ee,productVariablePickerOpen:te,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setDiscountData:de,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideProbability:L.hideProbability||!1,hideExpiration:L.hideExpiration||!1,allowStaticCoupon:L.allowStaticCoupon,onChangeCouponType:Ze,collectionPickerOpen:ne,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setIsCollectionPickerOpen:le,setEntitledCollections:Ne,setPrerequisiteCollections:fe,useNewPicker:!!L.newPickerConf,setSelectedDiscountDetails:Me,selectedDiscountDetails:Re,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory})]}),!!ee&&i(t,{children:[!L.newPickerConf&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(O,{show:!0,onSave:()=>{},products:null!==(z=L.products)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{ie(void 0)},selectedProducts:null!==(K=ee===q.ENTITLED?Oe:he)&&void 0!==K?K:[],setSelectedProducts:ee===q.ENTITLED?Ee:Se,onSearchKeyChange:L.onProductSearch})})),L.newPickerConf&&e(A,{visible:!0,onClose:()=>ie(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.fetchCollections)?L.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=L.newPickerConf)||void 0===l?void 0:l.fetchProducts)?L.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:ee===q.ENTITLED?Oe:he,onAdd:e=>{ee===q.ENTITLED?Ee(e):Se(e),ie(void 0)},zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=L.newPickerConf)||void 0===n?void 0:n.searchInCollection)?L.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.searchProducts)?L.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!ne&&e("div",Object.assign({style:{padding:"12px 0"}},{children:i(t,{children:[L.newPickerConf&&e(A,{visible:!0,onClose:()=>le(void 0),collectionFetcher:L.newPickerConf.fetchCollections,productFetcher:L.newPickerConf.fetchProducts,selectedItems:ne===q.ENTITLED?Ae:Te,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),ne===q.ENTITLED?Ne(e):fe(e),le(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:L.newPickerConf.searchInCollection,searchFetcher:L.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!L.newPickerConf&&e(O,{show:!0,onSave:()=>{},products:null!==($=L.collection)&&void 0!==$?$:[],title:"Select Products",onClose:()=>{le(void 0)},selectedProducts:null!==(Z=ne===q.ENTITLED?Ae:Te)&&void 0!==Z?Z:[],setSelectedProducts:ne===q.ENTITLED?Ne:fe,onSearchKeyChange:L.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),te&&e(x,{children:e("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e(k,{type:N.EMBEDDED,data:null!==(J=L.productVariableList)&&void 0!==J?J:[],showHeader:!0,onSelect:e=>{if(te===q.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;Ve({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}if(te===q.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;_e({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}},onClose:()=>{oe(void 0)}})}))})]}))};export{L as DiscountModal};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../_virtual/_tslib.js";import{jsxs as i,jsx as t,Fragment as o}from"react/jsx-runtime";import n from"../../../assets/icons/info.svg.js";import{Alert as l}from"../../alerts/Alert.js";import{ALERT_TYPES as s,CONTENT_POSITION as r}from"../../alerts/AlertHelper.js";import{Button as a}from"../../button/Button.js";import{CheckBox as d}from"../../checkBox/CheckBox.js";import{DISCOUNT_APPLIES_TO as c,OFFER_APPLIES_TO as u,DISCOUNT_TYPES as p,COUPON_EXPIRATION as m,DISCOUNT_VALUE_TYPES as C,DISCOUNT_TARGET_TYPES as E,DISCOUNT_TARGET_SELECTION as v}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as D}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"react";import"../../zeroState/ZeroState.js";import{BodySecondary as b,TitleRegular as g,TitleSmall as T}from"../../TypographyStyle.js";import{DEFAULT_THEME as h}from"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import{Input as y}from"../../input/Input.js";import O from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import{RadioButton as P}from"../../radioButton/RadioButton.js";import I from"../../../assets/icons/cubeIcon.svg.js";import V from"../../../assets/icons/delete.svg.js";import S from"../../../assets/icons/edit.svg.js";import j from"../../../assets/icons/plus.svg.js";import{CouponExpiration as f}from"../CouponExpiration/CouponExpiration.js";import{DynamicCouponContainer as x}from"../DiscountModal.styled.js";import{DiscountOptionsContainer as R,DiscountDetailsOption as _,AddProductButtonsContainer as N,ProductCollectionCard as A,CubeIconContainer as F,IconContainer as L,ProductVariableCard as w}from"./DynamicCoupon.styled.js";import q from"./MinimumRequirementComponent.js";import U from"./ZeroState.js";var k;!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(k||(k={}));const B=B=>{var M,G,Q,X,Y,$,W,z;const Z=[{selected:B.discountCouponAppliesTo===c.ENTIRE_ORDER,label:"Entire Order",value:c.ENTIRE_ORDER},{selected:B.discountCouponAppliesTo===c.SPECIFIC_PRODUCTS,label:"Specific Product",value:c.SPECIFIC_PRODUCTS},{selected:B.discountCouponAppliesTo===c.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:c.SPECIFIC_COLLECTIONS}],H=[{selected:B.offerAppliesToBuy===u.SPECIFIC_PRODUCTS,label:"Specific Product",value:u.SPECIFIC_PRODUCTS},{selected:B.offerAppliesToBuy===u.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:u.SPECIFIC_COLLECTIONS}],J=[{selected:B.offerAppliesToGet===u.SPECIFIC_PRODUCTS,label:"Specific Product",value:u.SPECIFIC_PRODUCTS},{selected:B.offerAppliesToGet===u.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:u.SPECIFIC_COLLECTIONS}],K=(e,d,u)=>{var p,m,C,E,v,D,g,y,P,f,x,R;let _=[],q=[],U={},M={};B.useNewPicker?(U=d===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,M=null!==(p=d===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==p?p:[],(null==U?void 0:U.isCustom)&&delete U.isCustom,(null==M?void 0:M.isCustom)&&delete M.isCustom,Object.values(U).forEach((e=>{Object.keys(e.products).forEach((i=>{_.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(M).forEach((e=>{"isCustom"!==e&&q.push({id:e,name:M[e].name,image:M[e].image})}))):(_=d===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,q=null!==(m=d===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==m?m:[]);const G=[null===(C=B.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidProductSelection,null===(E=B.dynamicDiscountValidationError)||void 0===E?void 0:E.inValidProductVariableSelection,null===(v=B.dynamicDiscountValidationError)||void 0===v?void 0:v.inValidCollectionSelection],Q=[null===(D=B.dynamicDiscountValidationError)||void 0===D?void 0:D.inValidBuyXCollectionSelection,null===(g=B.dynamicDiscountValidationError)||void 0===g?void 0:g.inValidBuyXProductSelection,null===(y=B.dynamicDiscountValidationError)||void 0===y?void 0:y.inValidBuyXProductVariableSelection],X=[null===(P=B.dynamicDiscountValidationError)||void 0===P?void 0:P.inValidGetYCollectionSelection,null===(f=B.dynamicDiscountValidationError)||void 0===f?void 0:f.inValidGetYProductSelection,null===(x=B.dynamicDiscountValidationError)||void 0===x?void 0:x.inValidGetYProductVariableSelection];let Y=!1;return"couponAppliesTo"===u&&(Y=G.some(Boolean)),"buyX"===u&&(Y=Q.some(Boolean)),"getY"===u&&(Y=X.some(Boolean)),i(o,{children:[i("div",Object.assign({style:{display:"flex",gap:18}},{children:[e===c.SPECIFIC_PRODUCTS&&0===_.length&&(d===k.ENTITLED&&!B.entitledProductVariable||d===k.PREREQUISITE&&!B.preRequisiteProductVariable)&&!(null==q?void 0:q.length)&&i(N,{children:[t("div",Object.assign({style:{width:B.isProductVariableSupported?"284px":"300px",display:"flex"}},{children:t(a,{buttonText:"Add Product(s)",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsProductPickerOpen(d)},error:Y})})),B.isProductVariableSupported&&B.productVariableList&&i(o,{children:[t(b,Object.assign({color:h.colorsV2.content.placeholder},{children:"OR"})),t(a,{buttonText:"Add Product(s) Variable",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsProductVariablePickerOpen(d)},error:Y})]})]}),e===c.SPECIFIC_COLLECTIONS&&0===q.length&&!(null==_?void 0:_.length)&&t("div",Object.assign({style:{width:"300px",display:"flex"}},{children:t(a,{buttonText:"Add collection(s)",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsCollectionPickerOpen(d)},style:{marginTop:"16px"},error:Y})}))]})),Y&&t("div",Object.assign({style:{margin:"8px 0 0"}},{children:t(l,{type:s.NEGATIVE,text:"Required Field",contentPosition:r.START,icon:()=>t(n,{width:16,height:16,color:h.colorsV2.content.negative})})})),_.length||q.length?i("div",{children:[t(b,Object.assign({style:{margin:"8px 0"}},{children:e===c.SPECIFIC_COLLECTIONS?"Collection(s)":"Product(s)"})),i(A,{children:[t(F,{children:t(I,{width:20,height:20,color:h.colorsV2.content.secondary})}),i(T,{children:[e===c.SPECIFIC_PRODUCTS?_.length:q.length," ",e===c.SPECIFIC_PRODUCTS?"Product(s)":"Collection(s)"," ","added"]}),i("div",Object.assign({style:{display:"flex",gap:4}},{children:[t(L,Object.assign({onClick:()=>{e===c.SPECIFIC_PRODUCTS?B.setIsProductPickerOpen(d):B.setIsCollectionPickerOpen(d)}},{children:t(S,{width:24,height:24,color:h.colorsV2.content.placeholder})})),t(L,Object.assign({onClick:()=>{e===c.SPECIFIC_PRODUCTS?d===k.ENTITLED?B.setEntitledProducts([]):B.setPrerequisiteProducts([]):d===k.ENTITLED?B.setEntitledCollections([]):B.setPrerequisiteCollections([])}},{children:t(V,{width:24,height:24,color:h.colorsV2.content.placeholder})}))]}))]})]}):d===k.ENTITLED&&B.entitledProductVariable?i("div",{children:[t(b,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i(w,{children:[t(T,{children:B.entitledProductVariable.displayName}),t("div",Object.assign({style:{display:"flex",gap:4}},{children:t(L,Object.assign({onClick:()=>{B.setEntitledProductVariable(void 0)}},{children:t(O,{width:24,height:24,color:h.colorsV2.content.primary})}))}))]})]}):d===k.PREREQUISITE&&(null===(R=B.preRequisiteProductVariable)||void 0===R?void 0:R.displayName)?i("div",{children:[t(b,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i(w,{children:[t(T,{children:B.preRequisiteProductVariable.displayName}),t("div",Object.assign({style:{display:"flex",gap:4}},{children:t(L,Object.assign({onClick:()=>{B.setPreRequisiteProductVariable(void 0)}},{children:t(O,{width:24,height:24,color:h.colorsV2.content.primary})}))}))]})]}):t(o,{children:" "})]})},ee=(e,o)=>{var n,l,s,r,a,d,p,m,C,E;let v=[],g=[],h={},O={};B.useNewPicker?(h=e===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,O=null!==(n=e===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==n?n:[],(null==h?void 0:h.isCustom)&&delete h.isCustom,(null==O?void 0:O.isCustom)&&delete O.isCustom,Object.values(h).forEach((e=>{Object.keys(e.products).forEach((i=>{v.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(O).forEach((e=>{"isCustom"!==e&&g.push({id:e,name:O[e].name,image:O[e].image})}))):(v=e===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,g=null!==(l=e===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==l?l:[]);const P=e===k.PREREQUISITE?B.offerAppliesToBuy:B.offerAppliesToGet,I=e===k.PREREQUISITE?k.PREREQUISITE:k.ENTITLED,V=P===u.SPECIFIC_PRODUCTS?c.SPECIFIC_PRODUCTS:c.SPECIFIC_COLLECTIONS;return i("div",{children:[t(T,Object.assign({style:{marginBottom:16}},{children:e===k.PREREQUISITE?"Customer buys":"Customer gets"})),i("div",Object.assign({style:{display:"flex"}},{children:[!o&&t("div",{children:i("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:e===k.ENTITLED?null!==(r=null===(s=B.discountData.entitledQuantity)||void 0===s?void 0:s.toString())&&void 0!==r?r:"":null!==(d=null===(a=B.discountData.prerequisiteQuantity)||void 0===a?void 0:a.toString())&&void 0!==d?d:"",type:"number",onChangeText:i=>{e===k.ENTITLED?B.setDiscountData(Object.assign(Object.assign({},B.discountData),{entitledQuantity:parseInt(i)})):B.setDiscountData(Object.assign(Object.assign({},B.discountData),{prerequisiteQuantity:parseInt(i)}))},labelText:"Quantity of products",placeholder:"Eg. 2",width:"300px",errorMessage:e===k.PREREQUISITE&&(null===(p=B.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidBuyXValue)||e===k.ENTITLED&&(null===(m=B.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidGetYValue)?"Required Field":"",state:e===k.PREREQUISITE&&(null===(C=B.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidBuyXValue)||e===k.ENTITLED&&(null===(E=B.dynamicDiscountValidationError)||void 0===E?void 0:E.inValidGetYValue)?"invalid":"none"})})),t("div",{className:"input__wrapper"})]}))}),i("div",{children:[t(b,Object.assign({style:{marginBottom:8}},{children:"Any items from"})),e===k.PREREQUISITE&&t(D,{width:"244px",options:H,placement:"bottom-start",onSelect:e=>{var i,t,o;B.setOfferAppliesToBuy(e.value),B.setPrerequisiteProducts([]),B.setPrerequisiteCollections([]),B.setPreRequisiteProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidBuyXCollectionSelection:!1,inValidBuyXProductSelection:!1,inValidBuyXProductVariableSelection:!1}))),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:null===(i=B.discountData.collectionsConf)||void 0===i?void 0:i.entitledCollections,prerequisiteCollections:{}},productsConf:{entitledProducts:null===(t=B.discountData.productsConf)||void 0===t?void 0:t.entitledProducts,prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:null===(o=B.discountData.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,prerequisiteProductVariable:{}}}))}}),e===k.ENTITLED&&t(D,{width:"244px",options:J,placement:"bottom-start",onSelect:e=>{var i,t,o;B.setOfferAppliesToGet(e.value),B.setEntitledProducts([]),B.setEntitledCollections([]),B.setEntitledProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidGetYCollectionSelection:!1,inValidGetYProductSelection:!1,inValidGetYProductVariableSelection:!1}))),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{entitledCollectionIds:[],entitledProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:null===(i=B.discountData.collectionsConf)||void 0===i?void 0:i.prerequisiteCollections},productsConf:{entitledProducts:{},prerequisiteProducts:null===(t=B.discountData.productsConf)||void 0===t?void 0:t.prerequisiteProducts},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:null===(o=B.discountData.productVariableConf)||void 0===o?void 0:o.prerequisiteProductVariable}}))}})]})]})),K(V,I,e===k.PREREQUISITE?"buyX":"getY")]})};return i(x,Object.assign({style:B.noTopMargin?{marginTop:0}:{}},{children:[i("div",{children:[i("div",Object.assign({style:{display:"flex",gap:16}},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:null!==(M=B.discountData.title)&&void 0!==M?M:"",onChangeText:e=>{var i;B.setDiscountData(Object.assign(Object.assign({},B.discountData),{title:null!==(i=null==e?void 0:e.trim())&&void 0!==i?i:""}))},maxCharLimit:30,labelText:"Discount Coupon Title",placeholder:`Eg. “Flat ${null!==(G=B.currency)&&void 0!==G?G:""} 15 Off”`,hintText:"Will be same for everyone. Can’t be changed later",width:"300px",isRequired:!0,errorMessage:(null===(Q=B.dynamicDiscountValidationError)||void 0===Q?void 0:Q.invalidCouponTitle)?"Required Field":"",state:(null===(X=B.dynamicDiscountValidationError)||void 0===X?void 0:X.invalidCouponTitle)?"invalid":"none"})})),!B.hideProbability&&t(y,{value:null!==($=null===(Y=B.discountData.probability)||void 0===Y?void 0:Y.toString())&&void 0!==$?$:"",type:"number",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability of getting coupon ",hintText:"Enter a decimal value between 0-1",placeholder:"Eg. 0.5",maxCharLimit:4,width:"300px",isRequired:!0,errorMessage:(null===(W=B.dynamicDiscountValidationError)||void 0===W?void 0:W.inValidProbability)?"Required Field":"",state:(null===(z=B.dynamicDiscountValidationError)||void 0===z?void 0:z.inValidProbability)?"invalid":"none"})]})),t("div",{style:{height:"1px",width:"100%",background:h.colorsV2.stroke.primary,margin:"24px 0 8px"}})]}),B.allowStaticCoupon&&t((()=>i("div",{children:[t(g,{children:"Discount Details"}),t(R,{children:B.discountDetailsOptions.map((t=>{return i(_,Object.assign({selected:B.selectedDiscountDetails.id===t.id,onClick:()=>(i=>{if(B.selectedDiscountDetails.id!==i.id)if(B.resetValidationErrors(),B.setValidationErrorMessage(""),B.setDiscountCouponAppliesTo(c.ENTIRE_ORDER),B.setSelectedDiscountDetails(i),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0})),B.setPreRequisiteProductVariable(void 0),B.setEntitledProductVariable(void 0),["percentage","amount"].includes(i.value)){B.onChangeCouponType({label:"Amount off on order",selected:!0,value:p.AMOUNT_OFF_ORDER});const t=Object.assign(Object.assign({},B.discountData),{valueType:"percentage"===i.value?C.PERCENTAGE:C.FIXED_AMOUNT,value:void 0,targetType:E.LINE_ITEM,targetSelection:v.ALL,entitledCollectionIds:[],entitledProductIds:[],prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:{}},productsConf:{entitledProducts:{},prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:{}}}),o=e(t,["entitledQuantity","prerequisiteQuantity"]);B.setDiscountData(o)}else B.onChangeCouponType({label:i.label,selected:!0,value:i.value})})(t)},{children:[t.icon((o=t.id,B.selectedDiscountDetails.id===o?h.colorsV2.stroke.brand:h.colorsV2.text.secondary)),t.label]}),t.id);var o}))})]})),{}),(B.selectedCouponType===p.AMOUNT_OFF_ORDER||B.selectedCouponType===p.AMOUNT_OFF_PRODUCTS)&&(()=>{var e,n,l,s,r,a;return i(o,{children:[t("div",Object.assign({className:"input__rows"},{children:t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:null!==(l=null===(n=null===(e=B.discountData)||void 0===e?void 0:e.value)||void 0===n?void 0:n.toString())&&void 0!==l?l:"",labelText:"Discount amount",type:"number",width:"300px",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:parseInt(e)}))},placeholder:"15",prefixText:B.discountData.valueType===C.FIXED_AMOUNT?null!==(s=B.currency)&&void 0!==s?s:"":void 0,suffixText:B.discountData.valueType===C.PERCENTAGE?"%":void 0,errorMessage:(null===(r=B.dynamicDiscountValidationError)||void 0===r?void 0:r.inValidDiscountAmount)?"Required Field":"",state:(null===(a=B.dynamicDiscountValidationError)||void 0===a?void 0:a.inValidDiscountAmount)?"invalid":"none"})}))})),t("div",Object.assign({style:{paddingTop:"24px",marginTop:16,borderTop:`1px solid ${h.colorsV2.stroke.primary}`}},{children:i("div",Object.assign({className:"input__wrapper"},{children:[t(g,Object.assign({style:{marginBottom:10}},{children:"Applies to"})),t("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:t(D,{width:"300px",options:Z,placement:"bottom-start",onSelect:e=>{const i="value"in e&&e.value===c.ENTIRE_ORDER?{label:"Amount off on order",selected:!0,value:p.AMOUNT_OFF_ORDER}:{label:"Amount off on products",selected:!0,value:p.AMOUNT_OFF_PRODUCTS};B.onChangeCouponType(i),B.setDiscountCouponAppliesTo(e.value),B.setEntitledProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidProductVariableSelection:!1,inValidProductSelection:!1,inValidCollectionSelection:!1})))}})})),(B.discountCouponAppliesTo===c.SPECIFIC_PRODUCTS||B.discountCouponAppliesTo===c.SPECIFIC_COLLECTIONS)&&K(B.discountCouponAppliesTo,k.ENTITLED,"couponAppliesTo")]}))}))]})})(),B.selectedCouponType===p.BUY_X_GET_Y&&(()=>{var e,o,n,l,s;return i(x,Object.assign({style:{border:`1px solid ${h.colorsV2.stroke.primary}`,padding:"16px",borderRadius:"4px",margin:0}},{children:[ee(k.PREREQUISITE),t("div",{style:{width:"100%",height:"1px",backgroundColor:h.colorsV2.stroke.primary,margin:"8px 0"}}),ee(k.ENTITLED),t(b,Object.assign({style:{marginTop:"8px"}},{children:"At a discounted value"})),t("div",{children:t(P,{label:"Free",isActive:100===B.discountData.value,onValueChange:e=>{e?B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:100})):B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0}))}})}),i("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[t(P,{label:"Percentage off",isActive:100!==B.discountData.value,onValueChange:()=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0}))}}),100!==B.discountData.value&&t("div",Object.assign({style:{marginTop:8}},{children:t(y,{value:null!==(n=null===(o=null===(e=B.discountData)||void 0===e?void 0:e.value)||void 0===o?void 0:o.toString())&&void 0!==n?n:"",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:parseInt(e)}))},type:"number",placeholder:"Eg. 50",suffixText:"%",width:"300px",errorMessage:(null===(l=B.dynamicDiscountValidationError)||void 0===l?void 0:l.inValidDiscountAmount)?"Required Field":"",state:(null===(s=B.dynamicDiscountValidationError)||void 0===s?void 0:s.inValidDiscountAmount)?"invalid":"none"})}))]}))]}))})(),!B.selectedCouponType&&t(U,{}),B.allowStaticCoupon&&B.selectedCouponType!==p.BUY_X_GET_Y&&t("div",Object.assign({style:{padding:"24px 0 16px",marginTop:16,borderTop:`1px solid ${h.colorsV2.stroke.primary}`}},{children:t(q,{selectedMinimumRequirement:B.selectedMinimumRequirement,setSelectedMinimumRequirement:B.setSelectedMinimumRequirement,discountData:B.discountData,setDiscountData:B.setDiscountData,currency:B.currency,dynamicDiscountValidationError:B.dynamicDiscountValidationError})})),B.selectedCouponType&&!B.hideExpiration&&i("div",Object.assign({style:{padding:B.selectedCouponType!==p.BUY_X_GET_Y?"24px 0 16px":"8px 0",borderTop:B.selectedCouponType!==p.BUY_X_GET_Y?`1px solid ${h.colorsV2.stroke.primary}`:"none"}},{children:[t(d,{label:"Add expiration",isDisabled:!!B.makeExpiryMandatory,isChecked:B.isAddExpirationChecked,onValueChange:e=>{B.setIsAddExpirationChecked(e),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{expireAfter:void 0,expireAt:void 0})),B.setSelectedExpiration(B.isUsageFromStatic?m.FIXED_EXPIRATION:m.DYNAMIC_EXPIRATION)},boldOnChecked:!0,labelSize:"DEFAULT"}),t(b,Object.assign({style:{color:h.colorsV2.text.secondary,marginLeft:28}},{children:"Make coupon only valid till a certain time"})),B.isAddExpirationChecked&&t(f,{discountData:B.discountData,setDiscountData:B.setDiscountData,isAddExpirationChecked:B.isAddExpirationChecked,inValidCouponExpiry:B.dynamicDiscountValidationError.inValidCouponExpiry,selectedExpiration:B.selectedExpiration,setSelectedExpiration:B.setSelectedExpiration,hideExpirationOptions:B.isUsageFromStatic})]}))]}))};export{k as DISCOUNT_PRODUCTS,B as default};
1
+ import{__rest as e}from"../../../_virtual/_tslib.js";import{jsxs as i,jsx as t,Fragment as o}from"react/jsx-runtime";import n from"../../../assets/icons/info.svg.js";import{Alert as l}from"../../alerts/Alert.js";import{ALERT_TYPES as s,CONTENT_POSITION as r}from"../../alerts/AlertHelper.js";import{Button as a}from"../../button/Button.js";import{CheckBox as d}from"../../checkBox/CheckBox.js";import{DISCOUNT_APPLIES_TO as c,OFFER_APPLIES_TO as u,DISCOUNT_TYPES as p,COUPON_EXPIRATION as m,DISCOUNT_VALUE_TYPES as C,DISCOUNT_TARGET_TYPES as E,DISCOUNT_TARGET_SELECTION as v}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as D}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"react";import"../../zeroState/ZeroState.js";import"lodash/debounce";import{BodySecondary as b,TitleRegular as g,TitleSmall as T}from"../../TypographyStyle.js";import{DEFAULT_THEME as h}from"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../../list-item/ListItem.js";import"../../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../../icon-button/IconButton.js";import{Input as y}from"../../input/Input.js";import O from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import{RadioButton as P}from"../../radioButton/RadioButton.js";import I from"../../../assets/icons/cubeIcon.svg.js";import V from"../../../assets/icons/delete.svg.js";import S from"../../../assets/icons/edit.svg.js";import j from"../../../assets/icons/plus.svg.js";import{CouponExpiration as f}from"../CouponExpiration/CouponExpiration.js";import{DynamicCouponContainer as x}from"../DiscountModal.styled.js";import{DiscountOptionsContainer as R,DiscountDetailsOption as _,AddProductButtonsContainer as N,ProductCollectionCard as A,CubeIconContainer as F,IconContainer as L,ProductVariableCard as w}from"./DynamicCoupon.styled.js";import q from"./MinimumRequirementComponent.js";import U from"./ZeroState.js";var k;!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(k||(k={}));const B=B=>{var M,G,Q,X,Y,$,W,z;const Z=[{selected:B.discountCouponAppliesTo===c.ENTIRE_ORDER,label:"Entire Order",value:c.ENTIRE_ORDER},{selected:B.discountCouponAppliesTo===c.SPECIFIC_PRODUCTS,label:"Specific Product",value:c.SPECIFIC_PRODUCTS},{selected:B.discountCouponAppliesTo===c.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:c.SPECIFIC_COLLECTIONS}],H=[{selected:B.offerAppliesToBuy===u.SPECIFIC_PRODUCTS,label:"Specific Product",value:u.SPECIFIC_PRODUCTS},{selected:B.offerAppliesToBuy===u.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:u.SPECIFIC_COLLECTIONS}],J=[{selected:B.offerAppliesToGet===u.SPECIFIC_PRODUCTS,label:"Specific Product",value:u.SPECIFIC_PRODUCTS},{selected:B.offerAppliesToGet===u.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:u.SPECIFIC_COLLECTIONS}],K=(e,d,u)=>{var p,m,C,E,v,D,g,y,P,f,x,R;let _=[],q=[],U={},M={};B.useNewPicker?(U=d===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,M=null!==(p=d===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==p?p:[],(null==U?void 0:U.isCustom)&&delete U.isCustom,(null==M?void 0:M.isCustom)&&delete M.isCustom,Object.values(U).forEach((e=>{Object.keys(e.products).forEach((i=>{_.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(M).forEach((e=>{"isCustom"!==e&&q.push({id:e,name:M[e].name,image:M[e].image})}))):(_=d===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,q=null!==(m=d===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==m?m:[]);const G=[null===(C=B.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidProductSelection,null===(E=B.dynamicDiscountValidationError)||void 0===E?void 0:E.inValidProductVariableSelection,null===(v=B.dynamicDiscountValidationError)||void 0===v?void 0:v.inValidCollectionSelection],Q=[null===(D=B.dynamicDiscountValidationError)||void 0===D?void 0:D.inValidBuyXCollectionSelection,null===(g=B.dynamicDiscountValidationError)||void 0===g?void 0:g.inValidBuyXProductSelection,null===(y=B.dynamicDiscountValidationError)||void 0===y?void 0:y.inValidBuyXProductVariableSelection],X=[null===(P=B.dynamicDiscountValidationError)||void 0===P?void 0:P.inValidGetYCollectionSelection,null===(f=B.dynamicDiscountValidationError)||void 0===f?void 0:f.inValidGetYProductSelection,null===(x=B.dynamicDiscountValidationError)||void 0===x?void 0:x.inValidGetYProductVariableSelection];let Y=!1;return"couponAppliesTo"===u&&(Y=G.some(Boolean)),"buyX"===u&&(Y=Q.some(Boolean)),"getY"===u&&(Y=X.some(Boolean)),i(o,{children:[i("div",Object.assign({style:{display:"flex",gap:18}},{children:[e===c.SPECIFIC_PRODUCTS&&0===_.length&&(d===k.ENTITLED&&!B.entitledProductVariable||d===k.PREREQUISITE&&!B.preRequisiteProductVariable)&&!(null==q?void 0:q.length)&&i(N,{children:[t("div",Object.assign({style:{width:B.isProductVariableSupported?"284px":"300px",display:"flex"}},{children:t(a,{buttonText:"Add Product(s)",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsProductPickerOpen(d)},error:Y})})),B.isProductVariableSupported&&B.productVariableList&&i(o,{children:[t(b,Object.assign({color:h.colorsV2.content.placeholder},{children:"OR"})),t(a,{buttonText:"Add Product(s) Variable",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsProductVariablePickerOpen(d)},error:Y})]})]}),e===c.SPECIFIC_COLLECTIONS&&0===q.length&&!(null==_?void 0:_.length)&&t("div",Object.assign({style:{width:"300px",display:"flex"}},{children:t(a,{buttonText:"Add collection(s)",buttonType:"dashRegular",LeadingIcon:j,matchParentWidth:!0,onClick:()=>{B.setIsCollectionPickerOpen(d)},style:{marginTop:"16px"},error:Y})}))]})),Y&&t("div",Object.assign({style:{margin:"8px 0 0"}},{children:t(l,{type:s.NEGATIVE,text:"Required Field",contentPosition:r.START,icon:()=>t(n,{width:16,height:16,color:h.colorsV2.content.negative})})})),_.length||q.length?i("div",{children:[t(b,Object.assign({style:{margin:"8px 0"}},{children:e===c.SPECIFIC_COLLECTIONS?"Collection(s)":"Product(s)"})),i(A,{children:[t(F,{children:t(I,{width:20,height:20,color:h.colorsV2.content.secondary})}),i(T,{children:[e===c.SPECIFIC_PRODUCTS?_.length:q.length," ",e===c.SPECIFIC_PRODUCTS?"Product(s)":"Collection(s)"," ","added"]}),i("div",Object.assign({style:{display:"flex",gap:4}},{children:[t(L,Object.assign({onClick:()=>{e===c.SPECIFIC_PRODUCTS?B.setIsProductPickerOpen(d):B.setIsCollectionPickerOpen(d)}},{children:t(S,{width:24,height:24,color:h.colorsV2.content.placeholder})})),t(L,Object.assign({onClick:()=>{e===c.SPECIFIC_PRODUCTS?d===k.ENTITLED?B.setEntitledProducts([]):B.setPrerequisiteProducts([]):d===k.ENTITLED?B.setEntitledCollections([]):B.setPrerequisiteCollections([])}},{children:t(V,{width:24,height:24,color:h.colorsV2.content.placeholder})}))]}))]})]}):d===k.ENTITLED&&B.entitledProductVariable?i("div",{children:[t(b,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i(w,{children:[t(T,{children:B.entitledProductVariable.displayName}),t("div",Object.assign({style:{display:"flex",gap:4}},{children:t(L,Object.assign({onClick:()=>{B.setEntitledProductVariable(void 0)}},{children:t(O,{width:24,height:24,color:h.colorsV2.content.primary})}))}))]})]}):d===k.PREREQUISITE&&(null===(R=B.preRequisiteProductVariable)||void 0===R?void 0:R.displayName)?i("div",{children:[t(b,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i(w,{children:[t(T,{children:B.preRequisiteProductVariable.displayName}),t("div",Object.assign({style:{display:"flex",gap:4}},{children:t(L,Object.assign({onClick:()=>{B.setPreRequisiteProductVariable(void 0)}},{children:t(O,{width:24,height:24,color:h.colorsV2.content.primary})}))}))]})]}):t(o,{children:" "})]})},ee=(e,o)=>{var n,l,s,r,a,d,p,m,C,E;let v=[],g=[],h={},O={};B.useNewPicker?(h=e===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,O=null!==(n=e===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==n?n:[],(null==h?void 0:h.isCustom)&&delete h.isCustom,(null==O?void 0:O.isCustom)&&delete O.isCustom,Object.values(h).forEach((e=>{Object.keys(e.products).forEach((i=>{v.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(O).forEach((e=>{"isCustom"!==e&&g.push({id:e,name:O[e].name,image:O[e].image})}))):(v=e===k.ENTITLED?B.entitledProducts:B.prerequisiteProducts,g=null!==(l=e===k.ENTITLED?B.entitledCollections:B.prerequisiteCollections)&&void 0!==l?l:[]);const P=e===k.PREREQUISITE?B.offerAppliesToBuy:B.offerAppliesToGet,I=e===k.PREREQUISITE?k.PREREQUISITE:k.ENTITLED,V=P===u.SPECIFIC_PRODUCTS?c.SPECIFIC_PRODUCTS:c.SPECIFIC_COLLECTIONS;return i("div",{children:[t(T,Object.assign({style:{marginBottom:16}},{children:e===k.PREREQUISITE?"Customer buys":"Customer gets"})),i("div",Object.assign({style:{display:"flex"}},{children:[!o&&t("div",{children:i("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:e===k.ENTITLED?null!==(r=null===(s=B.discountData.entitledQuantity)||void 0===s?void 0:s.toString())&&void 0!==r?r:"":null!==(d=null===(a=B.discountData.prerequisiteQuantity)||void 0===a?void 0:a.toString())&&void 0!==d?d:"",type:"number",onChangeText:i=>{e===k.ENTITLED?B.setDiscountData(Object.assign(Object.assign({},B.discountData),{entitledQuantity:parseInt(i)})):B.setDiscountData(Object.assign(Object.assign({},B.discountData),{prerequisiteQuantity:parseInt(i)}))},labelText:"Quantity of products",placeholder:"Eg. 2",width:"300px",errorMessage:e===k.PREREQUISITE&&(null===(p=B.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidBuyXValue)||e===k.ENTITLED&&(null===(m=B.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidGetYValue)?"Required Field":"",state:e===k.PREREQUISITE&&(null===(C=B.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidBuyXValue)||e===k.ENTITLED&&(null===(E=B.dynamicDiscountValidationError)||void 0===E?void 0:E.inValidGetYValue)?"invalid":"none"})})),t("div",{className:"input__wrapper"})]}))}),i("div",{children:[t(b,Object.assign({style:{marginBottom:8}},{children:"Any items from"})),e===k.PREREQUISITE&&t(D,{width:"244px",options:H,placement:"bottom-start",onSelect:e=>{var i,t,o;B.setOfferAppliesToBuy(e.value),B.setPrerequisiteProducts([]),B.setPrerequisiteCollections([]),B.setPreRequisiteProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidBuyXCollectionSelection:!1,inValidBuyXProductSelection:!1,inValidBuyXProductVariableSelection:!1}))),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:null===(i=B.discountData.collectionsConf)||void 0===i?void 0:i.entitledCollections,prerequisiteCollections:{}},productsConf:{entitledProducts:null===(t=B.discountData.productsConf)||void 0===t?void 0:t.entitledProducts,prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:null===(o=B.discountData.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,prerequisiteProductVariable:{}}}))}}),e===k.ENTITLED&&t(D,{width:"244px",options:J,placement:"bottom-start",onSelect:e=>{var i,t,o;B.setOfferAppliesToGet(e.value),B.setEntitledProducts([]),B.setEntitledCollections([]),B.setEntitledProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidGetYCollectionSelection:!1,inValidGetYProductSelection:!1,inValidGetYProductVariableSelection:!1}))),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{entitledCollectionIds:[],entitledProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:null===(i=B.discountData.collectionsConf)||void 0===i?void 0:i.prerequisiteCollections},productsConf:{entitledProducts:{},prerequisiteProducts:null===(t=B.discountData.productsConf)||void 0===t?void 0:t.prerequisiteProducts},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:null===(o=B.discountData.productVariableConf)||void 0===o?void 0:o.prerequisiteProductVariable}}))}})]})]})),K(V,I,e===k.PREREQUISITE?"buyX":"getY")]})};return i(x,Object.assign({style:B.noTopMargin?{marginTop:0}:{}},{children:[i("div",{children:[i("div",Object.assign({style:{display:"flex",gap:16}},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:null!==(M=B.discountData.title)&&void 0!==M?M:"",onChangeText:e=>{var i;B.setDiscountData(Object.assign(Object.assign({},B.discountData),{title:null!==(i=null==e?void 0:e.trim())&&void 0!==i?i:""}))},maxCharLimit:30,labelText:"Discount Coupon Title",placeholder:`Eg. “Flat ${null!==(G=B.currency)&&void 0!==G?G:""} 15 Off”`,hintText:"Will be same for everyone. Can’t be changed later",width:"300px",isRequired:!0,errorMessage:(null===(Q=B.dynamicDiscountValidationError)||void 0===Q?void 0:Q.invalidCouponTitle)?"Required Field":"",state:(null===(X=B.dynamicDiscountValidationError)||void 0===X?void 0:X.invalidCouponTitle)?"invalid":"none"})})),!B.hideProbability&&t(y,{value:null!==($=null===(Y=B.discountData.probability)||void 0===Y?void 0:Y.toString())&&void 0!==$?$:"",type:"number",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability of getting coupon ",hintText:"Enter a decimal value between 0-1",placeholder:"Eg. 0.5",maxCharLimit:4,width:"300px",isRequired:!0,errorMessage:(null===(W=B.dynamicDiscountValidationError)||void 0===W?void 0:W.inValidProbability)?"Required Field":"",state:(null===(z=B.dynamicDiscountValidationError)||void 0===z?void 0:z.inValidProbability)?"invalid":"none"})]})),t("div",{style:{height:"1px",width:"100%",background:h.colorsV2.stroke.primary,margin:"24px 0 8px"}})]}),B.allowStaticCoupon&&t((()=>i("div",{children:[t(g,{children:"Discount Details"}),t(R,{children:B.discountDetailsOptions.map((t=>{return i(_,Object.assign({selected:B.selectedDiscountDetails.id===t.id,onClick:()=>(i=>{if(B.selectedDiscountDetails.id!==i.id)if(B.resetValidationErrors(),B.setValidationErrorMessage(""),B.setDiscountCouponAppliesTo(c.ENTIRE_ORDER),B.setSelectedDiscountDetails(i),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0})),B.setPreRequisiteProductVariable(void 0),B.setEntitledProductVariable(void 0),["percentage","amount"].includes(i.value)){B.onChangeCouponType({label:"Amount off on order",selected:!0,value:p.AMOUNT_OFF_ORDER});const t=Object.assign(Object.assign({},B.discountData),{valueType:"percentage"===i.value?C.PERCENTAGE:C.FIXED_AMOUNT,value:void 0,targetType:E.LINE_ITEM,targetSelection:v.ALL,entitledCollectionIds:[],entitledProductIds:[],prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:{}},productsConf:{entitledProducts:{},prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:{}}}),o=e(t,["entitledQuantity","prerequisiteQuantity"]);B.setDiscountData(o)}else B.onChangeCouponType({label:i.label,selected:!0,value:i.value})})(t)},{children:[t.icon((o=t.id,B.selectedDiscountDetails.id===o?h.colorsV2.stroke.brand:h.colorsV2.text.secondary)),t.label]}),t.id);var o}))})]})),{}),(B.selectedCouponType===p.AMOUNT_OFF_ORDER||B.selectedCouponType===p.AMOUNT_OFF_PRODUCTS)&&(()=>{var e,n,l,s,r,a;return i(o,{children:[t("div",Object.assign({className:"input__rows"},{children:t("div",Object.assign({className:"input__wrapper"},{children:t(y,{value:null!==(l=null===(n=null===(e=B.discountData)||void 0===e?void 0:e.value)||void 0===n?void 0:n.toString())&&void 0!==l?l:"",labelText:"Discount amount",type:"number",width:"300px",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:parseInt(e)}))},placeholder:"15",prefixText:B.discountData.valueType===C.FIXED_AMOUNT?null!==(s=B.currency)&&void 0!==s?s:"":void 0,suffixText:B.discountData.valueType===C.PERCENTAGE?"%":void 0,errorMessage:(null===(r=B.dynamicDiscountValidationError)||void 0===r?void 0:r.inValidDiscountAmount)?"Required Field":"",state:(null===(a=B.dynamicDiscountValidationError)||void 0===a?void 0:a.inValidDiscountAmount)?"invalid":"none"})}))})),t("div",Object.assign({style:{paddingTop:"24px",marginTop:16,borderTop:`1px solid ${h.colorsV2.stroke.primary}`}},{children:i("div",Object.assign({className:"input__wrapper"},{children:[t(g,Object.assign({style:{marginBottom:10}},{children:"Applies to"})),t("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:t(D,{width:"300px",options:Z,placement:"bottom-start",onSelect:e=>{const i="value"in e&&e.value===c.ENTIRE_ORDER?{label:"Amount off on order",selected:!0,value:p.AMOUNT_OFF_ORDER}:{label:"Amount off on products",selected:!0,value:p.AMOUNT_OFF_PRODUCTS};B.onChangeCouponType(i),B.setDiscountCouponAppliesTo(e.value),B.setEntitledProductVariable(void 0),B.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidProductVariableSelection:!1,inValidProductSelection:!1,inValidCollectionSelection:!1})))}})})),(B.discountCouponAppliesTo===c.SPECIFIC_PRODUCTS||B.discountCouponAppliesTo===c.SPECIFIC_COLLECTIONS)&&K(B.discountCouponAppliesTo,k.ENTITLED,"couponAppliesTo")]}))}))]})})(),B.selectedCouponType===p.BUY_X_GET_Y&&(()=>{var e,o,n,l,s;return i(x,Object.assign({style:{border:`1px solid ${h.colorsV2.stroke.primary}`,padding:"16px",borderRadius:"4px",margin:0}},{children:[ee(k.PREREQUISITE),t("div",{style:{width:"100%",height:"1px",backgroundColor:h.colorsV2.stroke.primary,margin:"8px 0"}}),ee(k.ENTITLED),t(b,Object.assign({style:{marginTop:"8px"}},{children:"At a discounted value"})),t("div",{children:t(P,{label:"Free",isActive:100===B.discountData.value,onValueChange:e=>{e?B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:100})):B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0}))}})}),i("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[t(P,{label:"Percentage off",isActive:100!==B.discountData.value,onValueChange:()=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:void 0}))}}),100!==B.discountData.value&&t("div",Object.assign({style:{marginTop:8}},{children:t(y,{value:null!==(n=null===(o=null===(e=B.discountData)||void 0===e?void 0:e.value)||void 0===o?void 0:o.toString())&&void 0!==n?n:"",onChangeText:e=>{B.setDiscountData(Object.assign(Object.assign({},B.discountData),{value:parseInt(e)}))},type:"number",placeholder:"Eg. 50",suffixText:"%",width:"300px",errorMessage:(null===(l=B.dynamicDiscountValidationError)||void 0===l?void 0:l.inValidDiscountAmount)?"Required Field":"",state:(null===(s=B.dynamicDiscountValidationError)||void 0===s?void 0:s.inValidDiscountAmount)?"invalid":"none"})}))]}))]}))})(),!B.selectedCouponType&&t(U,{}),B.allowStaticCoupon&&B.selectedCouponType!==p.BUY_X_GET_Y&&t("div",Object.assign({style:{padding:"24px 0 16px",marginTop:16,borderTop:`1px solid ${h.colorsV2.stroke.primary}`}},{children:t(q,{selectedMinimumRequirement:B.selectedMinimumRequirement,setSelectedMinimumRequirement:B.setSelectedMinimumRequirement,discountData:B.discountData,setDiscountData:B.setDiscountData,currency:B.currency,dynamicDiscountValidationError:B.dynamicDiscountValidationError})})),B.selectedCouponType&&!B.hideExpiration&&i("div",Object.assign({style:{padding:B.selectedCouponType!==p.BUY_X_GET_Y?"24px 0 16px":"8px 0",borderTop:B.selectedCouponType!==p.BUY_X_GET_Y?`1px solid ${h.colorsV2.stroke.primary}`:"none"}},{children:[t(d,{label:"Add expiration",isDisabled:!!B.makeExpiryMandatory,isChecked:B.isAddExpirationChecked,onValueChange:e=>{B.setIsAddExpirationChecked(e),B.setDiscountData(Object.assign(Object.assign({},B.discountData),{expireAfter:void 0,expireAt:void 0})),B.setSelectedExpiration(B.isUsageFromStatic?m.FIXED_EXPIRATION:m.DYNAMIC_EXPIRATION)},boldOnChecked:!0,labelSize:"DEFAULT"}),t(b,Object.assign({style:{color:h.colorsV2.text.secondary,marginLeft:28}},{children:"Make coupon only valid till a certain time"})),B.isAddExpirationChecked&&t(f,{discountData:B.discountData,setDiscountData:B.setDiscountData,isAddExpirationChecked:B.isAddExpirationChecked,inValidCouponExpiry:B.dynamicDiscountValidationError.inValidCouponExpiry,selectedExpiration:B.selectedExpiration,setSelectedExpiration:B.setSelectedExpiration,hideExpirationOptions:B.isUsageFromStatic})]}))]}))};export{k as DISCOUNT_PRODUCTS,B as default};