@bikdotai/bik-component-library 0.0.331-discount-modal-beta-4 → 0.0.331

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 (49) hide show
  1. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js +2 -2
  2. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/NumberTime.js +1 -1
  3. package/dist/cjs/components/QueryBuilder/constants/DATE_OPERATORS_OPTIONS.js +1 -1
  4. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  5. package/dist/cjs/components/discount-modal/DiscountModal.d.ts +0 -7
  6. package/dist/cjs/components/discount-modal/DiscountModal.js +1 -1
  7. package/dist/cjs/components/discount-modal/DiscountUtils.d.ts +0 -2
  8. package/dist/cjs/components/discount-modal/DiscountUtils.js +1 -1
  9. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.d.ts +0 -1
  10. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
  11. package/dist/cjs/components/discount-modal/StaticCoupon/StaticCoupon.js +1 -1
  12. package/dist/cjs/components/discount-modal/type.d.ts +2 -11
  13. package/dist/cjs/components/discount-modal/type.js +1 -1
  14. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  15. package/dist/cjs/components/dropdown/type.d.ts +0 -1
  16. package/dist/cjs/components/input/Input.js +1 -1
  17. package/dist/cjs/components/product-picker-v2/modal.d.ts +0 -7
  18. package/dist/cjs/components/product-picker-v2/modal.js +1 -1
  19. package/dist/cjs/components/product-picker-v2/productScreen.d.ts +0 -8
  20. package/dist/cjs/components/product-picker-v2/productScreen.js +1 -1
  21. package/dist/esm/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js +2 -2
  22. package/dist/esm/components/QueryBuilder/components/Connectors/Components/NumberTime.js +1 -1
  23. package/dist/esm/components/QueryBuilder/constants/DATE_OPERATORS_OPTIONS.js +1 -1
  24. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  25. package/dist/esm/components/discount-modal/DiscountModal.d.ts +0 -7
  26. package/dist/esm/components/discount-modal/DiscountModal.js +1 -1
  27. package/dist/esm/components/discount-modal/DiscountUtils.d.ts +0 -2
  28. package/dist/esm/components/discount-modal/DiscountUtils.js +1 -1
  29. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.d.ts +0 -1
  30. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
  31. package/dist/esm/components/discount-modal/StaticCoupon/StaticCoupon.js +1 -1
  32. package/dist/esm/components/discount-modal/type.d.ts +2 -11
  33. package/dist/esm/components/discount-modal/type.js +1 -1
  34. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  35. package/dist/esm/components/dropdown/type.d.ts +0 -1
  36. package/dist/esm/components/input/Input.js +1 -1
  37. package/dist/esm/components/product-picker-v2/modal.d.ts +0 -7
  38. package/dist/esm/components/product-picker-v2/modal.js +1 -1
  39. package/dist/esm/components/product-picker-v2/productScreen.d.ts +0 -8
  40. package/dist/esm/components/product-picker-v2/productScreen.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/cjs/components/product-picker-v2/helpers/ProductHelper.d.ts +0 -33
  43. package/dist/cjs/components/product-picker-v2/helpers/ProductHelper.js +0 -1
  44. package/dist/cjs/components/product-picker-v2/type.d.ts +0 -6
  45. package/dist/cjs/components/product-picker-v2/type.js +0 -1
  46. package/dist/esm/components/product-picker-v2/helpers/ProductHelper.d.ts +0 -33
  47. package/dist/esm/components/product-picker-v2/helpers/ProductHelper.js +0 -1
  48. package/dist/esm/components/product-picker-v2/type.d.ts +0 -6
  49. package/dist/esm/components/product-picker-v2/type.js +0 -1
@@ -1,6 +1,6 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import o from"styled-components";import{BodySecondary as t}from"../../../../TypographyStyle.js";import n from"./IntegerPositiveSingle.js";const i=o.div`
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import t from"styled-components";import{BodySecondary as i}from"../../../../TypographyStyle.js";import o from"./IntegerPositiveSingle.js";const n=t.div`
2
2
  flex-direction: row;
3
3
  display: flex;
4
4
  align-items: center;
5
5
  gap: 8px;
6
- `,s=o=>{let{val:s,onChange:a,errors:l,disabled:p,connectorType:c}=o;return r(i,{children:[e(n,{disabled:p,val:s,onChange:a,errors:l,connectorType:c}),e(t,{children:"time(s)"})]})};var a=r=>e(s,Object.assign({},r));export{a as default};
6
+ `,s=t=>{let{val:s,onChange:a,errors:l,disabled:m}=t;return r(n,{children:[e(o,{disabled:m,val:s,onChange:a,errors:l}),e(i,{children:"time(s)"})]})};var a=r=>e(s,Object.assign({},r));export{a as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{BodySecondary as n}from"../../../../TypographyStyle.js";import t from"./IntegerPositiveSingle.js";const i=i=>{let{val:o,onChange:a,errors:l,nativeID:s,disabled:c,connectorType:d}=i;const p=parseInt(null==o?void 0:o.toString())>1?"days":"day";return r("div",Object.assign({style:{flexDirection:"row",display:"flex",gap:8,alignItems:"center"}},{children:[e(t,{connectorType:d,disabled:c,nativeID:s,val:null!=o?o:1,onChange:a,errors:l}),e("div",{children:e(n,{children:p})})]}))};var o=r=>e(i,Object.assign({},r));export{o as default};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{BodySecondary as t}from"../../../../TypographyStyle.js";import i from"./IntegerPositiveSingle.js";const n=n=>{let{val:a,onChange:l,errors:s,nativeID:o,disabled:d}=n;const c=parseInt(null==a?void 0:a.toString())>1?"days":"day";return r("div",Object.assign({style:{flexDirection:"row",display:"flex",gap:8,alignItems:"center"}},{children:[e(i,{disabled:d,nativeID:o,val:null!=a?a:1,onChange:l,errors:s}),e("div",{children:e(t,{children:c})})]}))};var a=r=>e(n,Object.assign({},r));export{a as default};
@@ -1 +1 @@
1
- const e=[{label:"Commonly used",options:[{selected:!1,value:"today",label:"Today",description:"Events performed in the current day (starting at 00:00 hours)"},{selected:!1,value:"yesterday",label:"Yesterday",description:"Events performed in the previous day (starting at 00:00 hours)"},{selected:!1,value:"last 7 days",label:"Last 7 days",description:"Events performed in the previous 7 complete days along with the current day"},{selected:!1,value:"last 30 days",label:"Last 30 days",description:"Events performed in the previous 30 complete days along with the current day"},{selected:!1,value:"this week",label:"This week",description:"Events performed in the current calendar week (starting Monday), including the current day"},{selected:!1,value:"last week",label:"Last week",description:"Events performed in the previous calendar week (starting Monday)"},{selected:!1,value:"this month",label:"This month",description:"Events performed in the current calendar month, including the current day"},{selected:!0,value:"last month",label:"Last month",description:"Events performed in the current calendar month, including the current day"}]},{label:"Relative",options:[{selected:!1,value:"exactly",label:"Exactly",description:"Events performed precisely in a specific time frame (days, hours, or minutes) before the current time"},{selected:!1,value:"in the last",label:"In the last",description:"Events performed within the period between the current time and a specified time frame (days, hours, or minutes), relative to and before the current time"},{selected:!1,value:"in between last",label:"In between last",description:"Events performed within the range from one specific time frame to another specific time frame, both relative to and before the current time"}]},{label:"Absolute",options:[{selected:!1,value:"on",label:"On",description:"Events performed exactly on a particular date"},{selected:!1,value:"notOn",label:"Not On"},{selected:!1,value:"inBetween",label:"In Between",description:"Events performed between a specified date range"},{selected:!1,value:"notInBetween",label:"Not In Between"},{selected:!1,value:"before",label:"Before",description:"Events performed before a particular date"},{selected:!1,value:"after",label:"After",description:"Events performed after a particular date"}]}];export{e as DATE_OPERATORS_OPTIONS};
1
+ const e=[{label:"Commonly used",options:[{selected:!1,value:"today",label:"Today"},{selected:!1,value:"yesterday",label:"Yesterday"},{selected:!1,value:"last 7 days",label:"Last 7 days"},{selected:!1,value:"last 30 days",label:"Last 30 days"},{selected:!1,value:"this week",label:"This week"},{selected:!1,value:"last week",label:"Last week"},{selected:!1,value:"this month",label:"This month"},{selected:!0,value:"last month",label:"Last month"}]},{label:"Relative",options:[{selected:!1,value:"exactly",label:"Exactly"},{selected:!1,value:"in the last",label:"In the last"},{selected:!1,value:"in between last",label:"In between last"}]},{label:"Absolute",options:[{selected:!1,value:"on",label:"On"},{selected:!1,value:"notOn",label:"Not On"},{selected:!1,value:"inBetween",label:"In Between"},{selected:!1,value:"notInBetween",label:"Not In Between"},{selected:!1,value:"before",label:"Before"},{selected:!1,value:"after",label:"After"}]}];export{e as DATE_OPERATORS_OPTIONS};
@@ -1 +1 @@
1
- import t from"@emotion/styled/base";import{jsx as o,Fragment as e,jsxs as i}from"react/jsx-runtime";import r from"../../../../utils/StringUtils.js";import{COLORS as g}from"../../../../constants/Theme.js";import"../../../../constants/zindex.js";import{useState as I,useEffect as C}from"react";import"../../../checkBox/CheckBox.styled.js";import{TitleMedium as p}from"../../../TypographyStyle.js";import"../../../list-item/ListItem.js";import"../../../pagination/Pagination.js";import"../../../radioButton/RadioButton.styled.js";import"react-dom";import"react-toastify";import"../../../toaster/Toaster.styled.js";import"@tippyjs/react";import"../../../tooltips/TooltipInternal.js";import"../../../spinner/Spinner.js";import"../../../stepper/Stepper.styled.js";import"../../../tag/Tag.js";import"../../../icon-button/IconButton.js";import"../../../template-preview/TemplatePreview.js";import"../../../template-preview/WhatsApp/WhatsAppLikePreview.js";import"../../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js";import"../../../template-preview/models/TemplateMeta.js";import"../../../modals/styledModal.js";import"../../../template-preview/models/Channels.js";import"../../../template-context-mapper/context/templateModalContext.js";import"../../../template-context-mapper/modalElements/Footer.js";import"../../../template-context-mapper/modalElements/Body.js";import"../../../template-context-mapper/modalElements/Header.js";import"../../../zeroState/ZeroState.js";import"../../../dropdown/OpenedDropdown/components/description/Description.styled.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"../../../input/Input.js";import"react-bootstrap";import"../../../floating-action-button/FloatingActionButton.styles.js";import"../../../image-compress/ImageCompress.js";import"../../../progress-bar/ProgressBarComponent.js";import"../../../QueryBuilder/QueryBuilder.js";import"../../../QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";import"../../../QueryBuilder/constants/connectorPosition.js";import"../../../QueryBuilder/constants/connector.js";import"../../../QueryBuilder/types/QueryBuilder.type.js";import"../../../dropdown/Dropdown.js";import"../../../QueryBuilder/components/InputLoader.js";import"../../../QueryBuilder/components/Connectors/Components/EmojiPicker.js";import"react-chips";import"../../../input/ChipInput.styled.js";import"../../../QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js";import"../../../QueryBuilder/components/Connectors/Components/IgPicker.js";import"../../../QueryBuilder/components/Connectors/Components/InTheLast.js";import"../../../QueryBuilder/components/Connectors/Components/InTwoLast.js";import"react-calendar";import"../../../../utils/DateUtils.js";import"../../../datePicker/DatePickerWrapper.styled.js";import"../../../QueryBuilder/components/Connectors/Connector.styled.js";import"../../../QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.styled.js";import"../../../QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.styled.js";import"../../../QueryBuilder/redux/queryBuilder.reducer.js";import"../../../QueryBuilder/redux/queryBuilderCache.reducer.js";import"../../../QueryBuilder/types/QueryBuilderOperator.type.js";import"../../../dropdown/DropdownPopover/index.js";import"../../../dropdown/ChipDropdown.js";import"../../../dropdown/MenuItem/MenuItem.js";import"../../../shimmer/ShimmerComponent/ShimmerStyled.js";import"../../../analytics-card/AnalyticsCard.styled.js";import"../../CommonStyles.js";import"../../../datePicker/DatePicker.styled.js";import"../../AnalyticsMetric.js";import"../LineChart/LineChart.js";import"../linearChipGroupedChart/LinearChipGroupedChart.styled.js";import{PieChart as s}from"./PieChart.js";import"../HorizontalBarGraph/HorizontalGraph.js";import"../StackedBarChart/StackedBarChart.js";import"../VerticalBarGraph/VerticalGraph.js";import"../heatmap/HeatMap.js";import"../VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js";import"../../../avatar/Avatar.js";import"../../../avatar/AvatarHelper.js";import"../../../alerts/Alert.styled.js";import"../../../alerts/AlertHelper.js";import"../../../thumbnail/Thumbnail.js";import"../../../curtain/Curtain.styled.js";import"../../../curtain/CurtainHelper.js";import"../../../switch/Switch.js";import"../../../plans/SubscriptionPlanStyled.js";import"../../../plans/SubscriptionPlanSelector.js";import"../../../tabs/Tabs.js";import"../../../TablePagination/TablePagination.styled.js";import"../../../TablePagination/TablePaginationCard.js";import"../../../states/StateComponent.js";import"../../../../_virtual/_tslib.js";import"../../../WhatsAppTextEditor/WhatsAppTextEditor.js";import"../../../WhatsAppTextEditor/WhatsAppTextEditorHeader.js";import"../../../card-selection-modal/CardSelectionModal.styled.js";import"react-image-crop";import"../../../buttonGroup/ButtonGroupStyle.js";import"../../../accordion/Accordion.style.js";import"../../../accordion/AccordionArrow.js";import"../../../file-uploader/FileUploaderStyle.js";import"../../../colourInput/ColourInput.styled.js";import"../../../bik-layout/CommonStyles.js";import"../../../navigation-hyperlink/NavigationHyperlink.js";import"../../../bik-layout/SidebarStyles.js";import"date-fns";import"react-popper";import"../../../dropdown/Common.styled.js";import"../../../custom-date-time/CustomDateTime.styled.js";import"../../../../node_modules/lodash.debounce/index.js";import"../../../product-picker/ProductPicker.styled.js";import"../../../discount-modal/type.js";import"../../../product-picker-v2/emptyState.js";import"../../../product-picker-v2/style.js";import"lodash";import"../../../product-picker-v2/type.js";import"../../../discount-modal/DiscountModal.styled.js";import"../../../discount-modal/DynamicCoupon/DynamicCoupon.js";import"../../../discount-modal/CouponExpiration/CouponExpiration.js";import"../../../country-code-picker/CountryCodePicker.styled.js";import"../../../carousel/carousel.js";import"../../../carousel-secondary/CarouselSecondary.style.js";import"../../../access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.styles.js";import"../../../radioList/RadioList.styled.js";import"../../../checkList/CheckList.styled.js";import"../../../postPicker/postPicker.js";import"../../../dropdown-button/DropdownButton.style.js";import"../../../side-modal/SideModal.style.js";import"../../../add-variableV2/AddVariableV2.styled.js";import"../../../SearchFilter/types/SearchFilter.type.js";import"../../../SearchFilter/components/DatePickerButton.js";import"../../../SearchFilter/components/DateRangeOnlyButton.js";import"../../../input-with-vars/InputWithVariables.js";import"../../../star-rating/StarRating.js";import"../../../dashboard-review-popup/components/FiveStar.styled.js";import"../../../dashboard-review-popup/components/Form.styled.js";import"../../../dashboard-review-popup/components/ZeroState.js";import"../../../dashboard-review-popup/DashboardReviewPopUp.styled.js";import{Chart as c,ArcElement as a,Legend as A}from"chart.js";import{Doughnut as l}from"react-chartjs-2";c.register(a,A);const d={plugins:{legend:{display:!1},tooltip:{enabled:!0,callbacks:{label:t=>{if(!t.label)return" 0%";const o=t.dataset.data.reduce(((t,o)=>t+o),0),e=parseFloat((t.raw/o*100).toFixed(1));return` ${t.label}: ${e}%`}}}}},n=["#5E07BB","#9E77ED","#D2AEFF","#CDE1FF","#92AFFA","#3935E1"],m=t("div","production"===process.env.NODE_ENV?{target:"elaov7f0"}:{target:"elaov7f0",label:"CartStyled"})("background:",(t=>g.surface.standard),";border:1px solid ",(t=>g.stroke.primary),";border-radius:4px;"+("production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQzhCIiwiZmlsZSI6IlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gXCIuLi8uLi8uLi8uLi9pbmRleFwiO1xyXG5pbXBvcnQgeyBBcmNFbGVtZW50LCBDaGFydCBhcyBDaGFydEpTLCBMZWdlbmQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IERvdWdobnV0IH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcclxuaW1wb3J0IHsgVGl0bGVNZWRpdW0gfSBmcm9tIFwiLi4vLi4vLi4vVHlwb2dyYXBoeVN0eWxlXCI7XHJcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb25zdGFudHMvVGhlbWVcIjtcclxuaW1wb3J0IHsgUGllQ2hhcnQgfSBmcm9tICcuL1BpZUNoYXJ0JztcclxuQ2hhcnRKUy5yZWdpc3RlcihBcmNFbGVtZW50LCBMZWdlbmQpO1xyXG5jb25zdCBvcHRpb25zID0ge1xyXG4gICAgcGx1Z2luczoge1xyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwSXRlbS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCAwJWA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gdG9vbHRpcEl0ZW0uZGF0YXNldC5kYXRhLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHBhcnNlRmxvYXQoKCh0b29sdGlwSXRlbS5yYXcgLyB0b3RhbCkgKiAxMDApLnRvRml4ZWQoMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgICR7dG9vbHRpcEl0ZW0ubGFiZWx9OiAke3BlcmNlbnRhZ2V9JWA7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG59O1xyXG5jb25zdCBHUkFQSF9DT0xPUlMgPSBbXHJcbiAgICAnIzVFMDdCQicsXHJcbiAgICAnIzlFNzdFRCcsXHJcbiAgICAnI0QyQUVGRicsXHJcbiAgICAnI0NERTFGRicsXHJcbiAgICAnIzkyQUZGQScsXHJcbiAgICAnIzM5MzVFMScsXHJcbl07XHJcbmNvbnN0IENhcnRTdHlsZWQgPSBzdHlsZWQuZGl2IGBcblx0YmFja2dyb3VuZDogJHsocHJvcHMpID0+IENPTE9SUy5zdXJmYWNlLnN0YW5kYXJkfTtcblx0Ym9yZGVyOiAxcHggc29saWQgJHsocHJvcHMpID0+IENPTE9SUy5zdHJva2UucHJpbWFyeX07XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbmA7XHJcbmV4cG9ydCBjb25zdCBDYXJkID0gKHByb3BzKSA9PiB7XHJcbiAgICByZXR1cm4gX2pzeChDYXJ0U3R5bGVkLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHsgcGFkZGluZzogMjQgfSB9LCB7IGNoaWxkcmVuOiBwcm9wcy5jaGlsZHJlbiB9KSk7XHJcbn07XHJcbmV4cG9ydCBjb25zdCBQaWVDaGFydEFuYWx5dGljcyA9ICh7IHRpdGxlLCBzbGljZXMsIHNpemUsIH0pID0+IHtcclxuICAgIGNvbnN0IFtzbGljZXNXaXRoQ29sb3IsIHNldFNsaWNlc1dpdGhDb2xvcl0gPSB1c2VTdGF0ZShbXSk7XHJcbiAgICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZSgpO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b3RhbFN1bSA9IHNsaWNlcy5yZWR1Y2UoKHN1bSwgc2xpY2UpID0+IHN1bSArIHNsaWNlLmNvdW50LCAwKTtcclxuICAgICAgICBsZXQgdXBkYXRlZFNsaWNlc1dpdGhDb2xvciA9IFtdO1xyXG4gICAgICAgIHVwZGF0ZWRTbGljZXNXaXRoQ29sb3IgPSBPYmplY3Qua2V5cyhzbGljZXMpLm1hcCgoa2V5LCBpbmRleCkgPT4gKE9iamVjdC5hc3NpZ24oeyBjb2xvcjogR1JBUEhfQ09MT1JTW2luZGV4ICUgR1JBUEhfQ09MT1JTLmxlbmd0aF0gfSwgc2xpY2VzW2tleV0pKSk7XHJcbiAgICAgICAgc2V0U2xpY2VzV2l0aENvbG9yKFsuLi51cGRhdGVkU2xpY2VzV2l0aENvbG9yXSk7XHJcbiAgICAgICAgaWYgKHRvdGFsU3VtID09PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXQgPSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogWzEwMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWycjRjBGMEYwJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBzZXREYXRhKGRhdGFTZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YVNldCA9IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsczogc2xpY2VzLm1hcCgoc2xpY2UpID0+IFN0cmluZ1V0aWxzLmNhcGl0YWxpemUoc2xpY2UubmFtZSkpLFxyXG4gICAgICAgICAgICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHNsaWNlcy5tYXAoKHNsaWNlKSA9PiBzbGljZS5jb3VudCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogc2xpY2VzLm1hcCgoc2xpY2UsIGluZGV4KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IHNsaWNlLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBHUkFQSF9DT0xPUlNbaW5kZXggJSBHUkFQSF9DT0xPUlMubGVuZ3RoXTsgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiA0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNldERhdGEoZGF0YVNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3NsaWNlc10pO1xyXG4gICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIF9qc3goX0ZyYWdtZW50LCB7fSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RpdGxlICYmIChfanN4KFRpdGxlTWVkaXVtLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IDE2LFxyXG4gICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiB0aXRsZSB9KSkpLCBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAncm93JyB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAnY29sLTYnIH0sIHsgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KERvdWdobnV0LCB7IGRhdGE6IGRhdGEsIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyksIHsgbWFpbnRhaW5Bc3BlY3RSYXRpbzogc2l6ZSA/IGZhbHNlIDogdHJ1ZSB9KSB9KSB9KSkgfSkpLCBfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBjbGFzc05hbWU6ICdjb2wtNicsIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogNDgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KFBpZUNoYXJ0LCB7IHNsaWNlczogc2xpY2VzV2l0aENvbG9yIH0pIH0pKV0gfSkpXSB9KSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBpZUNoYXJ0QW5hbHl0aWNzLmpzLm1hcCJdfQ== */")),b=t=>o(m,Object.assign({style:{padding:24}},{children:t.children})),u=t=>{let{title:g,slices:c,size:a}=t;const[A,m]=I([]),[b,u]=I();return C((()=>{const t=c.reduce(((t,o)=>t+o.count),0);let o=[];if(o=Object.keys(c).map(((t,o)=>Object.assign({color:n[o%n.length]},c[t]))),m([...o]),0===t){u({datasets:[{data:[100],backgroundColor:["#F0F0F0"],borderWidth:0}]})}else{const t={labels:c.map((t=>r.capitalize(t.name))),datasets:[{data:c.map((t=>t.count)),backgroundColor:c.map(((t,o)=>{var e;return null!==(e=t.color)&&void 0!==e?e:n[o%n.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};u(t)}}),[c]),b?i(e,{children:[g&&o(p,Object.assign({style:{marginBottom:16}},{children:g})),i("div",Object.assign({className:"row"},{children:[o("div",Object.assign({className:"col-6"},{children:o("div",Object.assign({style:{width:a,height:a}},{children:o(l,{data:b,options:Object.assign(Object.assign({},d),{maintainAspectRatio:!a})})}))})),o("div",Object.assign({className:"col-6",style:{paddingLeft:48,display:"flex",flexDirection:"column",justifyContent:"center"}},{children:o(s,{slices:A})}))]}))]}):o(e,{})};export{b as Card,u as PieChartAnalytics};
1
+ import t from"@emotion/styled/base";import{jsx as o,Fragment as e,jsxs as i}from"react/jsx-runtime";import r from"../../../../utils/StringUtils.js";import{COLORS as g}from"../../../../constants/Theme.js";import"../../../../constants/zindex.js";import{useState as I,useEffect as C}from"react";import"../../../checkBox/CheckBox.styled.js";import{TitleMedium as s}from"../../../TypographyStyle.js";import"../../../list-item/ListItem.js";import"../../../pagination/Pagination.js";import"../../../radioButton/RadioButton.styled.js";import"react-dom";import"react-toastify";import"../../../toaster/Toaster.styled.js";import"@tippyjs/react";import"../../../tooltips/TooltipInternal.js";import"../../../spinner/Spinner.js";import"../../../stepper/Stepper.styled.js";import"../../../tag/Tag.js";import"../../../icon-button/IconButton.js";import"../../../template-preview/TemplatePreview.js";import"../../../template-preview/WhatsApp/WhatsAppLikePreview.js";import"../../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js";import"../../../template-preview/models/TemplateMeta.js";import"../../../modals/styledModal.js";import"../../../template-preview/models/Channels.js";import"../../../template-context-mapper/context/templateModalContext.js";import"../../../template-context-mapper/modalElements/Footer.js";import"../../../template-context-mapper/modalElements/Body.js";import"../../../template-context-mapper/modalElements/Header.js";import"../../../zeroState/ZeroState.js";import"../../../dropdown/OpenedDropdown/components/description/Description.styled.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"../../../input/Input.js";import"react-bootstrap";import"../../../floating-action-button/FloatingActionButton.styles.js";import"../../../image-compress/ImageCompress.js";import"../../../progress-bar/ProgressBarComponent.js";import"../../../QueryBuilder/QueryBuilder.js";import"../../../QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";import"../../../QueryBuilder/constants/connectorPosition.js";import"../../../QueryBuilder/constants/connector.js";import"../../../QueryBuilder/types/QueryBuilder.type.js";import"../../../dropdown/Dropdown.js";import"../../../QueryBuilder/components/InputLoader.js";import"../../../QueryBuilder/components/Connectors/Components/EmojiPicker.js";import"react-chips";import"../../../input/ChipInput.styled.js";import"../../../QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js";import"../../../QueryBuilder/components/Connectors/Components/IgPicker.js";import"../../../QueryBuilder/components/Connectors/Components/InTheLast.js";import"../../../QueryBuilder/components/Connectors/Components/InTwoLast.js";import"react-calendar";import"../../../../utils/DateUtils.js";import"../../../datePicker/DatePickerWrapper.styled.js";import"../../../QueryBuilder/components/Connectors/Connector.styled.js";import"../../../QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.styled.js";import"../../../QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.styled.js";import"../../../QueryBuilder/redux/queryBuilder.reducer.js";import"../../../QueryBuilder/redux/queryBuilderCache.reducer.js";import"../../../QueryBuilder/types/QueryBuilderOperator.type.js";import"../../../dropdown/DropdownPopover/index.js";import"../../../dropdown/ChipDropdown.js";import"../../../dropdown/MenuItem/MenuItem.js";import"../../../shimmer/ShimmerComponent/ShimmerStyled.js";import"../../../analytics-card/AnalyticsCard.styled.js";import"../../CommonStyles.js";import"../../../datePicker/DatePicker.styled.js";import"../../AnalyticsMetric.js";import"../LineChart/LineChart.js";import"../linearChipGroupedChart/LinearChipGroupedChart.styled.js";import{PieChart as p}from"./PieChart.js";import"../HorizontalBarGraph/HorizontalGraph.js";import"../StackedBarChart/StackedBarChart.js";import"../VerticalBarGraph/VerticalGraph.js";import"../heatmap/HeatMap.js";import"../VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js";import"../../../avatar/Avatar.js";import"../../../avatar/AvatarHelper.js";import"../../../alerts/Alert.styled.js";import"../../../alerts/AlertHelper.js";import"../../../thumbnail/Thumbnail.js";import"../../../curtain/Curtain.styled.js";import"../../../curtain/CurtainHelper.js";import"../../../switch/Switch.js";import"../../../plans/SubscriptionPlanStyled.js";import"../../../plans/SubscriptionPlanSelector.js";import"../../../tabs/Tabs.js";import"../../../TablePagination/TablePagination.styled.js";import"../../../TablePagination/TablePaginationCard.js";import"../../../states/StateComponent.js";import"../../../../_virtual/_tslib.js";import"../../../WhatsAppTextEditor/WhatsAppTextEditor.js";import"../../../WhatsAppTextEditor/WhatsAppTextEditorHeader.js";import"../../../card-selection-modal/CardSelectionModal.styled.js";import"react-image-crop";import"../../../buttonGroup/ButtonGroupStyle.js";import"../../../accordion/Accordion.style.js";import"../../../accordion/AccordionArrow.js";import"../../../file-uploader/FileUploaderStyle.js";import"../../../colourInput/ColourInput.styled.js";import"../../../bik-layout/CommonStyles.js";import"../../../navigation-hyperlink/NavigationHyperlink.js";import"../../../bik-layout/SidebarStyles.js";import"date-fns";import"react-popper";import"../../../dropdown/Common.styled.js";import"../../../custom-date-time/CustomDateTime.styled.js";import"../../../../node_modules/lodash.debounce/index.js";import"../../../product-picker/ProductPicker.styled.js";import"../../../discount-modal/type.js";import"../../../discount-modal/DiscountModal.styled.js";import"../../../discount-modal/DynamicCoupon/DynamicCoupon.js";import"../../../discount-modal/CouponExpiration/CouponExpiration.js";import"../../../country-code-picker/CountryCodePicker.styled.js";import"../../../product-picker-v2/emptyState.js";import"../../../product-picker-v2/style.js";import"lodash";import"../../../carousel/carousel.js";import"../../../carousel-secondary/CarouselSecondary.style.js";import"../../../access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.styles.js";import"../../../radioList/RadioList.styled.js";import"../../../checkList/CheckList.styled.js";import"../../../postPicker/postPicker.js";import"../../../dropdown-button/DropdownButton.style.js";import"../../../side-modal/SideModal.style.js";import"../../../add-variableV2/AddVariableV2.styled.js";import"../../../SearchFilter/types/SearchFilter.type.js";import"../../../SearchFilter/components/DatePickerButton.js";import"../../../SearchFilter/components/DateRangeOnlyButton.js";import"../../../input-with-vars/InputWithVariables.js";import"../../../star-rating/StarRating.js";import"../../../dashboard-review-popup/components/FiveStar.styled.js";import"../../../dashboard-review-popup/components/Form.styled.js";import"../../../dashboard-review-popup/components/ZeroState.js";import"../../../dashboard-review-popup/DashboardReviewPopUp.styled.js";import{Chart as c,ArcElement as a,Legend as A}from"chart.js";import{Doughnut as l}from"react-chartjs-2";c.register(a,A);const d={plugins:{legend:{display:!1},tooltip:{enabled:!0,callbacks:{label:t=>{if(!t.label)return" 0%";const o=t.dataset.data.reduce(((t,o)=>t+o),0),e=parseFloat((t.raw/o*100).toFixed(1));return` ${t.label}: ${e}%`}}}}},n=["#5E07BB","#9E77ED","#D2AEFF","#CDE1FF","#92AFFA","#3935E1"],m=t("div","production"===process.env.NODE_ENV?{target:"elaov7f0"}:{target:"elaov7f0",label:"CartStyled"})("background:",(t=>g.surface.standard),";border:1px solid ",(t=>g.stroke.primary),";border-radius:4px;"+("production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQzhCIiwiZmlsZSI6IlBpZUNoYXJ0QW5hbHl0aWNzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gXCIuLi8uLi8uLi8uLi9pbmRleFwiO1xyXG5pbXBvcnQgeyBBcmNFbGVtZW50LCBDaGFydCBhcyBDaGFydEpTLCBMZWdlbmQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IERvdWdobnV0IH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcclxuaW1wb3J0IHsgVGl0bGVNZWRpdW0gfSBmcm9tIFwiLi4vLi4vLi4vVHlwb2dyYXBoeVN0eWxlXCI7XHJcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb25zdGFudHMvVGhlbWVcIjtcclxuaW1wb3J0IHsgUGllQ2hhcnQgfSBmcm9tICcuL1BpZUNoYXJ0JztcclxuQ2hhcnRKUy5yZWdpc3RlcihBcmNFbGVtZW50LCBMZWdlbmQpO1xyXG5jb25zdCBvcHRpb25zID0ge1xyXG4gICAgcGx1Z2luczoge1xyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwSXRlbS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCAwJWA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gdG9vbHRpcEl0ZW0uZGF0YXNldC5kYXRhLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHBhcnNlRmxvYXQoKCh0b29sdGlwSXRlbS5yYXcgLyB0b3RhbCkgKiAxMDApLnRvRml4ZWQoMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgICR7dG9vbHRpcEl0ZW0ubGFiZWx9OiAke3BlcmNlbnRhZ2V9JWA7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG59O1xyXG5jb25zdCBHUkFQSF9DT0xPUlMgPSBbXHJcbiAgICAnIzVFMDdCQicsXHJcbiAgICAnIzlFNzdFRCcsXHJcbiAgICAnI0QyQUVGRicsXHJcbiAgICAnI0NERTFGRicsXHJcbiAgICAnIzkyQUZGQScsXHJcbiAgICAnIzM5MzVFMScsXHJcbl07XHJcbmNvbnN0IENhcnRTdHlsZWQgPSBzdHlsZWQuZGl2IGBcblx0YmFja2dyb3VuZDogJHsocHJvcHMpID0+IENPTE9SUy5zdXJmYWNlLnN0YW5kYXJkfTtcblx0Ym9yZGVyOiAxcHggc29saWQgJHsocHJvcHMpID0+IENPTE9SUy5zdHJva2UucHJpbWFyeX07XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbmA7XHJcbmV4cG9ydCBjb25zdCBDYXJkID0gKHByb3BzKSA9PiB7XHJcbiAgICByZXR1cm4gX2pzeChDYXJ0U3R5bGVkLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHsgcGFkZGluZzogMjQgfSB9LCB7IGNoaWxkcmVuOiBwcm9wcy5jaGlsZHJlbiB9KSk7XHJcbn07XHJcbmV4cG9ydCBjb25zdCBQaWVDaGFydEFuYWx5dGljcyA9ICh7IHRpdGxlLCBzbGljZXMsIHNpemUsIH0pID0+IHtcclxuICAgIGNvbnN0IFtzbGljZXNXaXRoQ29sb3IsIHNldFNsaWNlc1dpdGhDb2xvcl0gPSB1c2VTdGF0ZShbXSk7XHJcbiAgICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZSgpO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b3RhbFN1bSA9IHNsaWNlcy5yZWR1Y2UoKHN1bSwgc2xpY2UpID0+IHN1bSArIHNsaWNlLmNvdW50LCAwKTtcclxuICAgICAgICBsZXQgdXBkYXRlZFNsaWNlc1dpdGhDb2xvciA9IFtdO1xyXG4gICAgICAgIHVwZGF0ZWRTbGljZXNXaXRoQ29sb3IgPSBPYmplY3Qua2V5cyhzbGljZXMpLm1hcCgoa2V5LCBpbmRleCkgPT4gKE9iamVjdC5hc3NpZ24oeyBjb2xvcjogR1JBUEhfQ09MT1JTW2luZGV4ICUgR1JBUEhfQ09MT1JTLmxlbmd0aF0gfSwgc2xpY2VzW2tleV0pKSk7XHJcbiAgICAgICAgc2V0U2xpY2VzV2l0aENvbG9yKFsuLi51cGRhdGVkU2xpY2VzV2l0aENvbG9yXSk7XHJcbiAgICAgICAgaWYgKHRvdGFsU3VtID09PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXQgPSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogWzEwMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWycjRjBGMEYwJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBzZXREYXRhKGRhdGFTZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YVNldCA9IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsczogc2xpY2VzLm1hcCgoc2xpY2UpID0+IFN0cmluZ1V0aWxzLmNhcGl0YWxpemUoc2xpY2UubmFtZSkpLFxyXG4gICAgICAgICAgICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHNsaWNlcy5tYXAoKHNsaWNlKSA9PiBzbGljZS5jb3VudCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogc2xpY2VzLm1hcCgoc2xpY2UsIGluZGV4KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IHNsaWNlLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBHUkFQSF9DT0xPUlNbaW5kZXggJSBHUkFQSF9DT0xPUlMubGVuZ3RoXTsgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJywgJ3doaXRlJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiA0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNldERhdGEoZGF0YVNldCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3NsaWNlc10pO1xyXG4gICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIF9qc3goX0ZyYWdtZW50LCB7fSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RpdGxlICYmIChfanN4KFRpdGxlTWVkaXVtLCBPYmplY3QuYXNzaWduKHsgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IDE2LFxyXG4gICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiB0aXRsZSB9KSkpLCBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAncm93JyB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiAnY29sLTYnIH0sIHsgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KERvdWdobnV0LCB7IGRhdGE6IGRhdGEsIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyksIHsgbWFpbnRhaW5Bc3BlY3RSYXRpbzogc2l6ZSA/IGZhbHNlIDogdHJ1ZSB9KSB9KSB9KSkgfSkpLCBfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyBjbGFzc05hbWU6ICdjb2wtNicsIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogNDgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSB9LCB7IGNoaWxkcmVuOiBfanN4KFBpZUNoYXJ0LCB7IHNsaWNlczogc2xpY2VzV2l0aENvbG9yIH0pIH0pKV0gfSkpXSB9KSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBpZUNoYXJ0QW5hbHl0aWNzLmpzLm1hcCJdfQ== */")),b=t=>o(m,Object.assign({style:{padding:24}},{children:t.children})),u=t=>{let{title:g,slices:c,size:a}=t;const[A,m]=I([]),[b,u]=I();return C((()=>{const t=c.reduce(((t,o)=>t+o.count),0);let o=[];if(o=Object.keys(c).map(((t,o)=>Object.assign({color:n[o%n.length]},c[t]))),m([...o]),0===t){u({datasets:[{data:[100],backgroundColor:["#F0F0F0"],borderWidth:0}]})}else{const t={labels:c.map((t=>r.capitalize(t.name))),datasets:[{data:c.map((t=>t.count)),backgroundColor:c.map(((t,o)=>{var e;return null!==(e=t.color)&&void 0!==e?e:n[o%n.length]})),borderColor:["white","white","white","white","white","white"],borderWidth:4,borderRadius:8}]};u(t)}}),[c]),b?i(e,{children:[g&&o(s,Object.assign({style:{marginBottom:16}},{children:g})),i("div",Object.assign({className:"row"},{children:[o("div",Object.assign({className:"col-6"},{children:o("div",Object.assign({style:{width:a,height:a}},{children:o(l,{data:b,options:Object.assign(Object.assign({},d),{maintainAspectRatio:!a})})}))})),o("div",Object.assign({className:"col-6",style:{paddingLeft:48,display:"flex",flexDirection:"column",justifyContent:"center"}},{children:o(p,{slices:A})}))]}))]}):o(e,{})};export{b as Card,u as PieChartAnalytics};
@@ -20,12 +20,5 @@ export interface DiscountDialogueI {
20
20
  collection?: Collection[];
21
21
  discountAdminUrl?: string;
22
22
  currency?: string;
23
- newPickerConf?: {
24
- searchInCollection: any;
25
- searchProducts: any;
26
- fetchCollections: any;
27
- fetchProducts: any;
28
- storeId: string;
29
- };
30
23
  }
31
24
  export declare const DiscountModal: React.FC<DiscountDialogueI>;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{MIN_PURCHASE_REQUIREMENT as r,DISCOUNT_TARGET_TYPES as d,DISCOUNT_TYPES as s,DISCOUNT_TARGET_SELECTION as c,DISCOUNT_VALUE_TYPES as l}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as a}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as u,BodyCaption as p}from"../TypographyStyle.js";import{DEFAULT_THEME as C}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"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as v}from"../modals/styledModal.js";import{ProductPickerContent as m}from"../product-picker/ProductPickerModal.js";import{Tag as b}from"../tag/Tag.js";import{Tooltip as h}from"../tooltips/Tooltip.js";import y from"../../assets/icons/triangle_error.svg.js";import{ProductPickerModal as P}from"../product-picker-v2/modal.js";import{StyledDiscountDialogueContainer as I,CouponTypeContainerStyled as O}from"./DiscountModal.styled.js";import{validateDiscountData as T,descriptionBuilder as f}from"./DiscountUtils.js";import g,{DISCOUNT_PRODUCTS as j}from"./DynamicCoupon/DynamicCoupon.js";import E from"./StaticCoupon/StaticCoupon.js";const S=S=>{var w,k,_,D,N,F,q;const[A,x]=i(),[M,L]=i(),[R,U]=i(null!==(w=S.data)&&void 0!==w?w:"string"==typeof S.hideOption?{isStaticCoupon:"dynamic"===S.hideOption}:{isStaticCoupon:!1}),[G,B]=i(!0),[Y,Q]=i(),[X,H]=i((null===(k=S.data)||void 0===k?void 0:k.minAmount)?r.AMOUNT:(null===(_=S.data)||void 0===_?void 0:_.minQuantity)?r.QUANTITY:r.NA),[V,z]=i([]),[K,$]=i([]),[Z,J]=i([]),[W,ee]=i([]),[te,oe]=i(0);n((()=>{let e;ie(),S.hideProbability||(e=re()),B(T(R,X,Y,S.hideProbability||!1,e,!!R.isStaticCoupon)),S.hideProbability||re()}),[]),n((()=>{let e;S.hideProbability||(e=re()),B(T(R,X,Y,S.hideProbability||!1,e,!!R.isStaticCoupon))}),[R,te,Y,X]),n((()=>{var e,t,o,i,n;if(!S.newPickerConf){if(S.products&&(null===(e=S.products)||void 0===e?void 0:e.length)){if(null===(t=S.data)||void 0===t?void 0:t.entitledProductIds){const e=S.products.filter((e=>{var t,o;return null===(o=null===(t=S.data)||void 0===t?void 0:t.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));$(e)}if(null===(o=S.data)||void 0===o?void 0:o.prerequisiteProductIds){const e=S.products.filter((e=>{var t,o;return null===(o=null===(t=S.data)||void 0===t?void 0:t.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));z(e)}}if(S.collection&&S.collection.length){if(null===(i=S.data)||void 0===i?void 0:i.entitledCollectionIds){const e=S.collection.filter((e=>{var t,o;return null===(o=null===(t=S.data)||void 0===t?void 0:t.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));ee(e)}if(null===(n=S.data)||void 0===n?void 0:n.prerequisiteCollectionIds){const e=S.collection.filter((e=>{var t,o;return null===(o=null===(t=S.data)||void 0===t?void 0:t.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));J(e)}}}}),[S.products,S.collection]),n((()=>{var e,t,o,i,n,r,d,s;(null===(t=null===(e=S.data)||void 0===e?void 0:e.productsConf)||void 0===t?void 0:t.entitledProducts)&&$(S.data.productsConf.entitledProducts),(null===(i=null===(o=S.data)||void 0===o?void 0:o.productsConf)||void 0===i?void 0:i.prerequisiteProducts)&&z(S.data.productsConf.prerequisiteProducts),(null===(r=null===(n=S.data)||void 0===n?void 0:n.collectionsConf)||void 0===r?void 0:r.entitledCollections)&&ee(S.data.collectionsConf.entitledCollections),(null===(s=null===(d=S.data)||void 0===d?void 0:d.collectionsConf)||void 0===s?void 0:s.prerequisiteCollections)&&J(S.data.collectionsConf.prerequisiteCollections)}),[null===(D=S.data)||void 0===D?void 0:D.productsConf,null===(N=S.data)||void 0===N?void 0:N.collectionsConf]),n((()=>{if(S.newPickerConf){const e=[];return Object.values(K).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void U(Object.assign(Object.assign({},R),{entitledProductIds:e}))}const e=K.map((e=>parseInt(e.id)));U(Object.assign(Object.assign({},R),{entitledProductIds:e}))}),[K]),n((()=>{if(S.newPickerConf){const e=[];return Object.values(V).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void U(Object.assign(Object.assign({},R),{prerequisiteProductIds:e}))}const e=V.map((e=>parseInt(e.id)));U(Object.assign(Object.assign({},R),{prerequisiteProductIds:e}))}),[V]),n((()=>{if(S.newPickerConf){(null==W?void 0:W.isCustom)&&delete W.isCustom;const e=Object.keys(W).map((e=>parseInt(e)));return void U(Object.assign(Object.assign({},R),{entitledCollectionIds:e}))}const e=W.map((e=>parseInt(e.id)));U(Object.assign(Object.assign({},R),{entitledCollectionIds:e}))}),[W]),n((()=>{if(S.newPickerConf){(null==Z?void 0:Z.isCustom)&&delete Z.isCustom;const e=Object.keys(Z).map((e=>parseInt(e)));return void U(Object.assign(Object.assign({},R),{prerequisiteCollectionIds:e}))}const e=Z.map((e=>parseInt(e.id)));U(Object.assign(Object.assign({},R),{prerequisiteCollectionIds:e}))}),[Z]);const ie=()=>{var e,t;R.isStaticCoupon||(R.targetType===d.SHIPPING_LINE?Q(s.FREE_SHIPPING):R.targetType===d.LINE_ITEM?R.targetSelection===c.ENTITLED?(null===(e=R.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(t=R.prerequisiteCollectionIds)||void 0===t?void 0:t.length)?Q(s.BUY_X_GET_Y):Q(s.AMOUNT_OFF_PRODUCTS):Q(s.AMOUNT_OFF_ORDER):(U(Object.assign(Object.assign({},R),{targetType:d.LINE_ITEM,targetSelection:c.ALL,valueType:l.FIXED_AMOUNT})),Q(s.AMOUNT_OFF_ORDER)))};n((()=>{ie()}),[R.isStaticCoupon]);const ne=[{value:s.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:Y===s.AMOUNT_OFF_ORDER},{value:s.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:Y===s.AMOUNT_OFF_PRODUCTS},{value:s.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:Y===s.BUY_X_GET_Y},{value:s.FREE_SHIPPING,label:"Free shipping",selected:Y===s.FREE_SHIPPING}],re=()=>{if(!S.quadrant||!S.probability)return;const e=[...S.probability];let t=[];e.length>=S.quadrant&&e.splice(S.quadrant-1,1),t=e;const o=t.reduce(((e,t)=>e+t),0)+(R.probability||0);return oe(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},de=e=>{var t,o,i,n;const r=e.value;Q(r),r===s.FREE_SHIPPING?(z([]),$([]),U(Object.assign(Object.assign({},R),{value:100,targetSelection:c.ALL,targetType:d.SHIPPING_LINE,valueType:l.PERCENTAGE,entitledQuantity:void 0,prerequisiteQuantity:void 0,entitledProductIds:void 0,prerequisiteProductIds:void 0,entitledCollectionIds:void 0,prerequisiteCollectionIds:void 0}))):r===s.BUY_X_GET_Y?U(Object.assign(Object.assign({},R),{targetSelection:c.ENTITLED,targetType:d.LINE_ITEM,valueType:l.PERCENTAGE})):r===s.AMOUNT_OFF_ORDER?(z([]),$([]),U(Object.assign(Object.assign({},R),{targetSelection:c.ALL,targetType:d.LINE_ITEM,valueType:null!==(o=null===(t=S.data)||void 0===t?void 0:t.valueType)&&void 0!==o?o:l.FIXED_AMOUNT,entitledQuantity:void 0,prerequisiteQuantity:void 0,entitledProductIds:void 0,prerequisiteProductIds:void 0,entitledCollectionIds:void 0,prerequisiteCollectionIds:void 0}))):r===s.AMOUNT_OFF_PRODUCTS&&(z([]),$([]),U(Object.assign(Object.assign({},R),{targetSelection:c.ENTITLED,targetType:d.LINE_ITEM,valueType:null!==(n=null===(i=S.data)||void 0===i?void 0:i.valueType)&&void 0!==n?n:l.FIXED_AMOUNT,entitledQuantity:void 0,prerequisiteQuantity:void 0,prerequisiteProductIds:void 0,prerequisiteCollectionIds:void 0})))};return e(v,Object.assign({width:(M||A)&&S.newPickerConf?"25px":"750px",open:S.isOpen,headingTitle:A?"Select Products":S.title,headingSubtitle:A?void 0:S.subTitle,footerLeftCustomElement:!S.quadrant||S.hideProbability?t(o,{}):te<=1?t(b,{theme:"light",tagText:`Current probability sum: ${te}`,type:"white"}):t(h,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:t("div",{children:t(b,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${te}`,type:"negative",LeadingIcon:y})})})),headerRightCustomElement:S.allowStaticCoupon||A?void 0:t(a,{options:ne,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{de(e)}}),onClose:S.onClose,footerShadow:!0,primaryButton:A?{buttonType:"primary",onClick:()=>{x(void 0)},buttonText:"Add"}:M?{buttonType:"primary",onClick:()=>{L(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:G,onClick:()=>{var e,t;R.isStaticCoupon?S.onSaveClicked({quadrant:R.quadrant,couponCode:R.couponCode,description:R.description,isStaticCoupon:R.isStaticCoupon,probability:R.probability,title:R.title}):S.onSaveClicked(Object.assign(Object.assign({},R),{description:f(R,S.currency,null!==(e=S.products)&&void 0!==e?e:[],null!==(t=S.collection)&&void 0!==t?t:[]),productsConf:{entitledProducts:K,prerequisiteProducts:V},collectionsConf:{entitledCollections:W,prerequisiteCollections:Z}})),U({})}},secondaryButton:A?{buttonType:"tertiaryGray",onClick:()=>{x(void 0)},buttonText:"Back"}:M?{buttonType:"tertiaryGray",onClick:()=>{L(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:S.onClose,buttonText:"Close"}},{children:[!A&&!M&&e(I,{children:[S.allowStaticCoupon&&!A&&e(O,Object.assign({selectedDiv:R.isStaticCoupon?1:2},{children:["static"===S.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{R.isStaticCoupon||U({isStaticCoupon:!0,quadrant:R.quadrant})}},{children:[t(u,Object.assign({style:R.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"Static code"})),t(p,Object.assign({style:R.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===S.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{R.isStaticCoupon&&U({isStaticCoupon:!1,quadrant:R.quadrant})}},{children:[t(u,Object.assign({style:R.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"Dynamic code"})),t(p,Object.assign({style:R.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),R.isStaticCoupon&&!A&&t(E,{discountData:R,setDiscountData:U,hideProbability:S.hideProbability||!1,discountAdminUrl:S.discountAdminUrl}),!R.isStaticCoupon&&!A&&!M&&t(g,{currency:S.currency,entitledProducts:K,prerequisiteProducts:V,setEntitledProducts:$,setPrerequisiteProducts:z,discountData:R,productPickerOpen:A,setIsProductPickerOpen:x,setDiscountData:U,selectedCouponType:Y,setSelectedCouponType:Q,selectedMinimumRequirement:X,setSelectedMinimumRequirement:H,hideProbability:S.hideProbability||!1,hideExpiration:S.hideExpiration||!1,allowStaticCoupon:S.allowStaticCoupon,onChangeCouponType:de,collectionPickerOpen:M,entitledCollections:W,prerequisiteCollections:Z,setIsCollectionPickerOpen:L,setEntitledCollections:ee,setPrerequisiteCollections:J,useNewPicker:!!S.newPickerConf})]}),!!A&&e(o,{children:[!S.newPickerConf&&t("div",Object.assign({style:{padding:"12px 0"}},{children:t(m,{show:!0,onSave:()=>{},products:null!==(F=S.products)&&void 0!==F?F:[],title:"Select Products",onClose:()=>{x(void 0)},selectedProducts:A===j.ENTITLED?K:V,setSelectedProducts:A===j.ENTITLED?$:z,onSearchKeyChange:S.onProductSearch})})),S.newPickerConf&&t(P,{visible:!0,onClose:()=>x(void 0),collectionFetcher:S.newPickerConf.fetchCollections,productFetcher:S.newPickerConf.fetchProducts,selectedItems:A===j.ENTITLED?K:V,onAdd:e=>{A===j.ENTITLED?$(e):z(e),x(void 0)},zIndex:200,storeId:S.newPickerConf.storeId,searchInCollectionFetcher:S.newPickerConf.searchInCollection,customCollectionRestriction:!1,searchFetcher:S.newPickerConf.searchProducts,hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!M&&t("div",Object.assign({style:{padding:"12px 0"}},{children:e(o,{children:[S.newPickerConf&&t(P,{visible:!0,onClose:()=>L(void 0),collectionFetcher:S.newPickerConf.fetchCollections,productFetcher:S.newPickerConf.fetchProducts,selectedItems:M===j.ENTITLED?W:Z,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),M===j.ENTITLED?ee(e):J(e),L(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:S.newPickerConf.storeId,searchInCollectionFetcher:S.newPickerConf.searchInCollection,searchFetcher:S.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!S.newPickerConf&&t(m,{show:!0,onSave:()=>{},products:null!==(q=S.collection)&&void 0!==q?q:[],title:"Select Products",onClose:()=>{L(void 0)},selectedProducts:M===j.ENTITLED?W:Z,setSelectedProducts:M===j.ENTITLED?ee:J,onSearchKeyChange:S.onCollectionSearch,searchPlaceholder:"Search collections..."})]})}))]}))};export{S as DiscountModal};
1
+ import{jsxs as t,jsx as e,Fragment as o}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{MIN_PURCHASE_REQUIREMENT as r,DISCOUNT_TARGET_TYPES as d,DISCOUNT_TYPES as s,DISCOUNT_TARGET_SELECTION as c,DISCOUNT_VALUE_TYPES as l}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as a}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as p,BodyCaption as u}from"../TypographyStyle.js";import{DEFAULT_THEME 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"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as y}from"../modals/styledModal.js";import{ProductPickerContent as b}from"../product-picker/ProductPickerModal.js";import{Tag as v}from"../tag/Tag.js";import{Tooltip as C}from"../tooltips/Tooltip.js";import E from"../../assets/icons/triangle_error.svg.js";import{StyledDiscountDialogueContainer as T,CouponTypeContainerStyled as I}from"./DiscountModal.styled.js";import{validateDiscountData as P}from"./DiscountUtils.js";import g,{DISCOUNT_PRODUCTS as h}from"./DynamicCoupon/DynamicCoupon.js";import S from"./StaticCoupon/StaticCoupon.js";const j=j=>{var O,N,D,f,w;const[_,A]=i(),[q,x]=i(),[G,L]=i(null!==(O=j.data)&&void 0!==O?O:"string"==typeof j.hideOption?{isStaticCoupon:"dynamic"===j.hideOption}:{isStaticCoupon:!1}),[M,k]=i(!0),[F,R]=i(),[U,B]=i((null===(N=j.data)||void 0===N?void 0:N.minAmount)?r.AMOUNT:(null===(D=j.data)||void 0===D?void 0:D.minQuantity)?r.QUANTITY:r.NA),[X,Y]=i([]),[Q,H]=i([]),[V,z]=i([]),[K,$]=i([]),[Z,J]=i(0);n((()=>{let t;j.hideProbability||(t=tt()),k(P(G,U,F,j.hideProbability||!1,t,!!G.isStaticCoupon)),j.hideProbability||tt()}),[]),n((()=>{let t;j.hideProbability||(t=tt()),k(P(G,U,F,j.hideProbability||!1,t,!!G.isStaticCoupon))}),[G,Z,F,U]),n((()=>{var t,e,o,i,n;if(j.products&&(null===(t=j.products)||void 0===t?void 0:t.length)){if(null===(e=j.data)||void 0===e?void 0:e.entitledProductIds){const t=j.products.filter((t=>{var e,o;return null===(o=null===(e=j.data)||void 0===e?void 0:e.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(t.id))}));H(t)}if(null===(o=j.data)||void 0===o?void 0:o.prerequisiteProductIds){const t=j.products.filter((t=>{var e,o;return null===(o=null===(e=j.data)||void 0===e?void 0:e.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(t.id))}));Y(t)}}if(j.collection&&j.collection.length){if(null===(i=j.data)||void 0===i?void 0:i.entitledCollectionIds){const t=j.collection.filter((t=>{var e,o;return null===(o=null===(e=j.data)||void 0===e?void 0:e.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(t.id))}));$(t)}if(null===(n=j.data)||void 0===n?void 0:n.prerequisiteCollectionIds){const t=j.collection.filter((t=>{var e,o;return null===(o=null===(e=j.data)||void 0===e?void 0:e.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(t.id))}));z(t)}}}),[j.products,j.collection]),n((()=>{const t=Q.map((t=>parseInt(t.id)));L(Object.assign(Object.assign({},G),{entitledProductIds:t}))}),[Q]),n((()=>{const t=X.map((t=>parseInt(t.id)));L(Object.assign(Object.assign({},G),{prerequisiteProductIds:t}))}),[X]),n((()=>{const t=K.map((t=>parseInt(t.id)));L(Object.assign(Object.assign({},G),{entitledCollectionIds:t}))}),[K]),n((()=>{const t=V.map((t=>parseInt(t.id)));L(Object.assign(Object.assign({},G),{prerequisiteCollectionIds:t}))}),[V]),n((()=>{G.targetType===d.SHIPPING_LINE?R(s.FREE_SHIPPING):G.targetSelection===c.ENTITLED?R(s.BUY_X_GET_Y):G.valueType===l.FIXED_AMOUNT?R(s.FIXED_AMOUNT):G.valueType===l.PERCENTAGE&&R(s.PERCENTAGE)}),[]);const W=[{value:s.FIXED_AMOUNT,label:"Fixed Amount",selected:F===s.FIXED_AMOUNT},{value:s.PERCENTAGE,label:"Percentage",selected:F===s.PERCENTAGE},{value:s.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:F===s.BUY_X_GET_Y},{value:s.FREE_SHIPPING,label:"Free shipping",selected:F===s.FREE_SHIPPING}],tt=()=>{if(!j.quadrant||!j.probability)return;const t=[...j.probability];let e=[];t.length>=j.quadrant&&t.splice(j.quadrant-1,1),e=t;const o=e.reduce(((t,e)=>t+e),0)+(G.probability||0);return J(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},et=t=>{const e=t.value;R(e),e===s.FREE_SHIPPING?(Y([]),H([]),L(Object.assign(Object.assign({},G),{value:100,targetSelection:c.ALL,targetType:d.SHIPPING_LINE,valueType:l.PERCENTAGE,entitledQuantity:void 0,prerequisiteQuantity:void 0,entitledProductIds:void 0,prerequisiteProductIds:void 0}))):e===s.BUY_X_GET_Y?L(Object.assign(Object.assign({},G),{targetSelection:c.ENTITLED,targetType:d.LINE_ITEM,valueType:l.PERCENTAGE})):e===s.PERCENTAGE?(Y([]),H([]),L(Object.assign(Object.assign({},G),{targetSelection:c.ALL,targetType:d.LINE_ITEM,valueType:l.PERCENTAGE,entitledQuantity:void 0,prerequisiteQuantity:void 0,entitledProductIds:void 0,prerequisiteProductIds:void 0}))):e===s.FIXED_AMOUNT&&(Y([]),H([]),L(Object.assign(Object.assign({},G),{targetSelection:c.ALL,targetType:d.LINE_ITEM,valueType:l.FIXED_AMOUNT,entitledQuantity:void 0,prerequisiteQuantity:void 0,entitledProductIds:void 0,prerequisiteProductIds:void 0})))};return t(y,Object.assign({width:"750px",open:j.isOpen,headingTitle:_?"Select Products":j.title,headingSubtitle:_?void 0:j.subTitle,footerLeftCustomElement:!j.quadrant||j.hideProbability?e(o,{}):Z<=1?e(v,{theme:"light",tagText:`Current probability sum: ${Z}`,type:"white"}):e(C,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e("div",{children:e(v,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Z}`,type:"negative",LeadingIcon:E})})})),headerRightCustomElement:j.allowStaticCoupon||_?void 0:e(a,{options:W,width:"200px",placement:"bottom-start",size:"small",onSelect:t=>{et(t)}}),onClose:j.onClose,footerShadow:!0,primaryButton:_?{buttonType:"primary",onClick:()=>{A(void 0)},buttonText:"Add"}:q?{buttonType:"primary",onClick:()=>{x(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:M,onClick:()=>{G.isStaticCoupon?j.onSaveClicked({quadrant:G.quadrant,couponCode:G.couponCode,description:G.description,isStaticCoupon:G.isStaticCoupon,probability:G.probability,title:G.title}):j.onSaveClicked(G),L({})}},secondaryButton:_?{buttonType:"tertiaryGray",onClick:()=>{A(void 0)},buttonText:"Back"}:q?{buttonType:"tertiaryGray",onClick:()=>{x(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:j.onClose,buttonText:"Close"}},{children:[!_&&!q&&t(T,{children:[j.allowStaticCoupon&&!_&&t(I,Object.assign({selectedDiv:G.isStaticCoupon?1:2},{children:["static"===j.hideOption?e(o,{}):t("div",Object.assign({className:"coupon-type__container",onClick:()=>{L({isStaticCoupon:!0,couponCode:G.couponCode,description:G.description,quadrant:G.quadrant})}},{children:[e(p,Object.assign({style:G.isStaticCoupon?{color:m.colorsV2.content.brand}:{}},{children:"Static code"})),e(u,Object.assign({style:G.isStaticCoupon?{color:m.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===j.hideOption?e(o,{}):t("div",Object.assign({className:"coupon-type__container",onClick:()=>{L(Object.assign(Object.assign({},G),{isStaticCoupon:!1}))}},{children:[e(p,Object.assign({style:G.isStaticCoupon?{}:{color:m.colorsV2.content.brand}},{children:"Dynamic code"})),e(u,Object.assign({style:G.isStaticCoupon?{}:{color:m.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),G.isStaticCoupon&&!_&&e(S,{discountData:G,setDiscountData:L,hideProbability:j.hideProbability||!1,discountAdminUrl:j.discountAdminUrl}),!G.isStaticCoupon&&!_&&!q&&e(g,{currency:j.currency,entitledProducts:Q,prerequisiteProducts:X,setEntitledProducts:H,setPrerequisiteProducts:Y,discountData:G,productPickerOpen:_,setIsProductPickerOpen:A,setDiscountData:L,selectedCouponType:F,setSelectedCouponType:R,selectedMinimumRequirement:U,setSelectedMinimumRequirement:B,hideProbability:j.hideProbability||!1,hideExpiration:j.hideExpiration||!1,allowStaticCoupon:j.allowStaticCoupon,onChangeCouponType:et,collectionPickerOpen:q,entitledCollections:K,prerequisiteCollections:V,setIsCollectionPickerOpen:x,setEntitledCollections:$,setPrerequisiteCollections:z})]}),!!_&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(b,{show:!0,onSave:()=>{},products:null!==(f=j.products)&&void 0!==f?f:[],title:"Select Products",onClose:()=>{A(void 0)},selectedProducts:_===h.ENTITLED?Q:X,setSelectedProducts:_===h.ENTITLED?H:Y,onSearchKeyChange:j.onProductSearch})})),!!q&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(b,{show:!0,onSave:()=>{},products:null!==(w=j.collection)&&void 0!==w?w:[],title:"Select Products",onClose:()=>{x(void 0)},selectedProducts:q===h.ENTITLED?K:V,setSelectedProducts:q===h.ENTITLED?$:z,onSearchKeyChange:j.onCollectionSearch,searchPlaceholder:"Search collections..."})}))]}))};export{j as DiscountModal};
@@ -1,4 +1,2 @@
1
1
  import { DISCOUNT_TYPES, ICouponData, MIN_PURCHASE_REQUIREMENT } from "./type";
2
- import { Collection, Product } from '../product-picker/type';
3
2
  export declare const validateDiscountData: (couponData: ICouponData, selectedMinimumRequirement: MIN_PURCHASE_REQUIREMENT | undefined, selectedCouponType: DISCOUNT_TYPES | undefined, hideProbability: boolean, currentProbability: number, isStatic: boolean) => boolean;
4
- export declare const descriptionBuilder: (data: ICouponData, currencySymbol: string, products: Product[], collections: Collection[]) => string | undefined;
@@ -1 +1 @@
1
- import{DISCOUNT_TYPES as e,DISCOUNT_VALUE_TYPES as i,MIN_PURCHASE_REQUIREMENT as t,DISCOUNT_TARGET_TYPES as n,DISCOUNT_TARGET_SELECTION as r}from"./type.js";const l=(l,u,o,d,v,s)=>{var a,f,p,c,m,I;if(!l.title)return!0;if(!d){if(isNaN(l.probability))return!0;if((l.probability||0)>1)return!0;if((l.probability||0)<0)return!0;if(v>1)return!0}if(s){if(!(null==l?void 0:l.couponCode))return!0;if(!l.description)return!0}else{if(o&&o===e.AMOUNT_OFF_ORDER){if((null==l?void 0:l.valueType)===i.FIXED_AMOUNT){if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0)return!0}else if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0||(null==l?void 0:l.value)>100)return!0;if(u===t.AMOUNT&&(!l.minAmount||(null==l?void 0:l.minAmount)<=0))return!0;if(u===t.QUANTITY&&(!(null==l?void 0:l.minQuantity)||(null==l?void 0:l.minQuantity)<=0))return!0;if(l.targetType!==n.LINE_ITEM)return!0;if(l.targetSelection!==r.ALL)return!0}else if(o&&o===e.AMOUNT_OFF_PRODUCTS){if(!(null===(a=l.entitledProductIds)||void 0===a?void 0:a.length)&&!(null===(f=l.entitledCollectionIds)||void 0===f?void 0:f.length))return!0;if(!l.value)return!0;if((null==l?void 0:l.valueType)===i.FIXED_AMOUNT){if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0)return!0}else if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0||(null==l?void 0:l.value)>100)return!0;if(l.targetSelection!==r.ENTITLED)return!0;if(l.targetType!==n.LINE_ITEM)return!0}else if(o&&o===e.BUY_X_GET_Y){if(!l.entitledQuantity||l.entitledQuantity<0||!(null===(p=l.entitledProductIds)||void 0===p?void 0:p.length)&&!(null===(c=l.entitledCollectionIds)||void 0===c?void 0:c.length)||!l.prerequisiteQuantity||l.prerequisiteQuantity<0||!(null===(m=l.prerequisiteProductIds)||void 0===m?void 0:m.length)&&!(null===(I=l.prerequisiteCollectionIds)||void 0===I?void 0:I.length))return!0;if(l.valueType!==i.PERCENTAGE)return!0;if(!l.value)return!0;if(l.value<=0||l.value>100)return!0;if(l.targetSelection!==r.ENTITLED)return!0;if(l.targetType!==n.LINE_ITEM)return!0}else if(o&&e.FREE_SHIPPING){if(l.valueType!==i.PERCENTAGE)return!0;if(l.targetType!==n.SHIPPING_LINE)return!0;if(100!==l.value)return!0;if(l.targetSelection!==r.ALL)return!0;if(u===t.AMOUNT&&(!l.minAmount||(null==l?void 0:l.minAmount)<=0))return!0;if(u===t.QUANTITY&&(!(null==l?void 0:l.minQuantity)||(null==l?void 0:l.minQuantity)<=0))return!0}if(null!==l.expireAfter&&void 0!==l.expireAfter&&l.expireAfter<=0)return!0;if(l.expireAt&&l.expireAt<new Date)return!0}return!1},u=(e,t,l,u)=>{var d,v,s;return(null==e?void 0:e.isStaticCoupon)&&(null==e?void 0:e.description)?e.description:e.targetType===n.LINE_ITEM&&e.targetSelection===r.ALL?`${e.valueType===i.FIXED_AMOUNT?t:""}${(null!==(d=e.value)&&void 0!==d?d:0).toString()}${e.valueType===i.PERCENTAGE?"% off":" off"} on all products\n ${e.minAmount?`| Minimum purchase of ${t}${e.minAmount}`:""} ${e.minQuantity?`| Buy ${e.minQuantity} products`:""} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:""}`.replace(/\s\s+/g," ").trim():e.targetType===n.SHIPPING_LINE?`\n Free shipping on your order ${e.minAmount?`| Minimum purchase of ${t}${e.minAmount}`:""} ${e.minQuantity?`| Buy ${e.minQuantity} products`:""} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:""}`.replace(/\s\s+/g," ").trim():e.targetSelection===r.ENTITLED?(null===(v=e.prerequisiteProductIds)||void 0===v?void 0:v.length)||(null===(s=e.prerequisiteCollectionIds)||void 0===s?void 0:s.length)?`${function(e,i,t){var n,r,l,u,d,v,s,a;let f=`Buy ${e.prerequisiteQuantity} item`;if((null===(n=e.prerequisiteProductIds)||void 0===n?void 0:n.length)||(null===(r=e.prerequisiteProductIds)||void 0===r?void 0:r.length)){const n=o(null!==(l=e.prerequisiteProductIds)&&void 0!==l?l:[],i),r=o(null!==(u=e.prerequisiteCollectionIds)&&void 0!==u?u:[],t);f+=" from a selection of ",n.length>0&&(f+=`${n.join(", ")} or `),r.length>0&&(f+=`products in ${r.join(", ")} collection or `),f=f.slice(0,-4)}if(f+=` and get ${e.entitledQuantity} item`,(null===(d=e.entitledProductIds)||void 0===d?void 0:d.length)||(null===(v=e.entitledCollectionIds)||void 0===v?void 0:v.length)){const n=o(null!==(s=e.entitledProductIds)&&void 0!==s?s:[],i),r=o(null!==(a=e.entitledCollectionIds)&&void 0!==a?a:[],t);f+=" from ",n.length>0&&(f+=`${n.join(", ")} or `),r.length>0&&(f+=`products in ${r.join(", ")} collection or `),f=f.slice(0,-4)}return f}(e,l,u)} ${100===e.value?"for free":`at ${e.value}% off`} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:""}`.replace(/\s\s+/g," ").trim():`${function(e,t,n,r){var l,u,d;let v=`Get ${e.valueType===i.FIXED_AMOUNT?r:""}${(null!==(l=e.value)&&void 0!==l?l:0).toString()}${e.valueType===i.PERCENTAGE?"% off":" off"} on `;const s=o(null!==(u=e.entitledProductIds)&&void 0!==u?u:[],t),a=o(null!==(d=e.entitledCollectionIds)&&void 0!==d?d:[],n);s.length>0&&(v+=`${s.join(", ")} or `);a.length>0&&(v+=`products in ${a.join(", ")} collection or `);return v.slice(0,-4)}(e,l,u,t)} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:""}`.replace(/\s\s+/g," ").trim():void 0};function o(e,i){const t=[];return i.forEach((i=>{e.find((e=>e.toString()===i.id))&&t.push(i.name)})),t}export{u as descriptionBuilder,l as validateDiscountData};
1
+ import{DISCOUNT_TYPES as e,DISCOUNT_VALUE_TYPES as i,MIN_PURCHASE_REQUIREMENT as t,DISCOUNT_TARGET_TYPES as r,DISCOUNT_TARGET_SELECTION as n}from"./type.js";const u=(u,l,o,f,v,a)=>{var d,T,A,E;if(!u.title)return!0;if(!f){if(isNaN(u.probability))return!0;if((u.probability||0)>1)return!0;if((u.probability||0)<0)return!0;if(v>1)return!0}if(a){if(!(null==u?void 0:u.couponCode))return!0;if(!u.description)return!0}else{if(o&&o===e.FIXED_AMOUNT){if(u.valueType!==i.FIXED_AMOUNT)return!0;if(!(null==u?void 0:u.value)||(null==u?void 0:u.value)<=0)return!0;if(l===t.AMOUNT&&(!u.minAmount||(null==u?void 0:u.minAmount)<=0))return!0;if(l===t.QUANTITY&&(!(null==u?void 0:u.minQuantity)||(null==u?void 0:u.minQuantity)<=0))return!0;if(u.targetType!==r.LINE_ITEM)return!0;if(u.targetSelection!==n.ALL)return!0}else if(o&&o===e.PERCENTAGE){if(u.valueType!==i.PERCENTAGE)return!0;if(!(null==u?void 0:u.value)||(null==u?void 0:u.value)<=0||(null==u?void 0:u.value)>100)return!0;if(l===t.AMOUNT&&(!u.minAmount||(null==u?void 0:u.minAmount)<=0))return!0;if(l===t.QUANTITY&&(!(null==u?void 0:u.minQuantity)||(null==u?void 0:u.minQuantity)<=0))return!0;if(u.targetType!==r.LINE_ITEM)return!0;if(u.targetSelection!==n.ALL)return!0}else if(o&&o===e.BUY_X_GET_Y){if(!u.entitledQuantity||!(null===(d=u.entitledProductIds)||void 0===d?void 0:d.length)&&!(null===(T=u.entitledCollectionIds)||void 0===T?void 0:T.length)||!u.prerequisiteQuantity||!(null===(A=u.prerequisiteProductIds)||void 0===A?void 0:A.length)&&!(null===(E=u.prerequisiteCollectionIds)||void 0===E?void 0:E.length))return!0;if(u.valueType!==i.PERCENTAGE)return!0;if(!u.value)return!0;if(u.value<=0||u.value>100)return!0;if(u.targetSelection!==n.ENTITLED)return!0;if(u.targetType!==r.LINE_ITEM)return!0}else if(o&&e.FREE_SHIPPING){if(u.valueType!==i.PERCENTAGE)return!0;if(u.targetType!==r.SHIPPING_LINE)return!0;if(100!==u.value)return!0;if(u.targetSelection!==n.ALL)return!0;if(l===t.AMOUNT&&(!u.minAmount||(null==u?void 0:u.minAmount)<=0))return!0;if(l===t.QUANTITY&&(!(null==u?void 0:u.minQuantity)||(null==u?void 0:u.minQuantity)<=0))return!0}if(null!==u.expireAfter&&void 0!==u.expireAfter&&u.expireAfter<=0)return!0;if(u.expireAt&&u.expireAt<new Date)return!0}return!1};export{u as validateDiscountData};
@@ -30,7 +30,6 @@ interface DynamicCouponI {
30
30
  hideProbability?: boolean;
31
31
  allowStaticCoupon: boolean;
32
32
  currency?: string;
33
- useNewPicker?: boolean;
34
33
  }
35
34
  declare const DynamicCoupon: React.FC<DynamicCouponI>;
36
35
  export default DynamicCoupon;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import{cloneDeep as s}from"lodash";import{Button as n}from"../../button/Button.js";import"react";import{DISCOUNT_TYPES as a,MIN_PURCHASE_REQUIREMENT as o,DISCOUNT_VALUE_TYPES as l}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as r}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import{TitleRegular as c,TitleSmall as d,BodySecondary as u,TitleMedium as p,BodyPrimary as m}from"../../TypographyStyle.js";import{DEFAULT_THEME as v}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"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import{Input as b}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../modals/styledModal.js";import"../../../node_modules/lodash.debounce/index.js";import"../../bik-layout/CommonStyles.js";import"../../product-picker/ProductPicker.styled.js";import"../../../utils/DateUtils.js";import"../../tag/Tag.js";import"@tippyjs/react";import"../../tooltips/TooltipInternal.js";import"../../spinner/Spinner.js";import"../../icon-button/IconButton.js";import"../../shimmer/ShimmerComponent/ShimmerStyled.js";import"../../product-picker-v2/emptyState.js";import"../../product-picker-v2/style.js";import"../../product-picker-v2/type.js";import{DynamicCouponContainer as h}from"../DiscountModal.styled.js";import{CouponExpiration as D}from"../CouponExpiration/CouponExpiration.js";import{RadioButton as y}from"../../radioButton/RadioButton.js";import O from"../../../assets/icons/cursor.svg.js";import j from"../../../assets/icons/plus.svg.js";const T="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var E;function x(){return null}!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(E||(E={}));const _=_=>{var C;const f=[{value:a.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:_.selectedCouponType===a.AMOUNT_OFF_ORDER},{value:a.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:_.selectedCouponType===a.AMOUNT_OFF_PRODUCTS},{value:a.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:_.selectedCouponType===a.BUY_X_GET_Y},{value:a.FREE_SHIPPING,label:"Free shipping",selected:_.selectedCouponType===a.FREE_SHIPPING}],N=[{selected:_.selectedMinimumRequirement===o.NA,label:"No minimum requirements",value:o.NA},{selected:_.selectedMinimumRequirement===o.AMOUNT,label:`Minimum purchase amount (${null!==(C=_.currency)&&void 0!==C?C:"₹"})`,value:o.AMOUNT},{selected:_.selectedMinimumRequirement===o.QUANTITY,label:"Minimum quantity of items",value:o.QUANTITY}],I=()=>{var e,t,i,s,n;if(_.discountData.valueType===l.FIXED_AMOUNT){if((null===(e=_.discountData)||void 0===e?void 0:e.value)&&(null===(t=_.discountData)||void 0===t?void 0:t.value)<=0)return"Enter a valid number"}else if((null===(i=_.discountData)||void 0===i?void 0:i.value)&&((null===(s=_.discountData)||void 0===s?void 0:s.value)<=0||(null===(n=_.discountData)||void 0===n?void 0:n.value)>100))return"Enter a valid number"},w=()=>{var i,s,n,a,l;return e("div",Object.assign({className:"input__rows"},{children:[e("div",Object.assign({className:"input__wrapper"},{children:[t(u,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),t(r,{options:N,placement:"bottom-start",onSelect:e=>{const t=e.value;_.setSelectedMinimumRequirement(t),_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),t("div",Object.assign({className:"input__wrapper"},{children:_.selectedMinimumRequirement!==o.NA&&t(b,{value:_.selectedMinimumRequirement===o.AMOUNT?null!==(s=null===(i=_.discountData.minAmount)||void 0===i?void 0:i.toString())&&void 0!==s?s:"":null!==(a=null===(n=_.discountData.minQuantity)||void 0===n?void 0:n.toString())&&void 0!==a?a:"",onChangeText:e=>{_.selectedMinimumRequirement===o.AMOUNT?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minAmount:parseInt(e)})):_.selectedMinimumRequirement===o.QUANTITY&&_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:parseInt(e)}))},labelText:_.selectedMinimumRequirement===o.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:_.selectedMinimumRequirement===o.AMOUNT?null!==(l=_.currency)&&void 0!==l?l:"₹":void 0,type:"number",placeholder:_.selectedMinimumRequirement===o.AMOUNT?"1000.00":"2"})}))]}))},P=(a,o)=>{var l,r,u,p;let m=[],h=[],D={},y={};return _.useNewPicker?(D=a===E.ENTITLED?_.entitledProducts:_.prerequisiteProducts,y=null!==(l=a===E.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==l?l:[],(null==D?void 0:D.isCustom)&&delete D.isCustom,(null==y?void 0:y.isCustom)&&delete y.isCustom,Object.values(D).forEach((e=>{Object.keys(e.products).forEach((t=>{m.push({id:t,name:e.products[t].name,image:e.products[t].image})}))})),Object.keys(y).forEach((e=>{"isCustom"!==e&&h.push({id:e,name:y[e].name,image:y[e].image})}))):(m=a===E.ENTITLED?_.entitledProducts:_.prerequisiteProducts,h=null!==(r=a===E.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==r?r:[]),e(i,{children:[!o&&e(i,{children:[t(c,{children:a===E.PREREQUISITE?"Customer spends":"Customer gets"}),e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:a===E.ENTITLED?null===(u=_.discountData.entitledQuantity)||void 0===u?void 0:u.toString():null===(p=_.discountData.prerequisiteQuantity)||void 0===p?void 0:p.toString(),type:"number",onChangeText:e=>{a===E.ENTITLED?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{entitledQuantity:parseInt(e)})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),t("div",{className:"input__wrapper"})]}))]}),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[t(n,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:j,onClick:()=>{_.setIsProductPickerOpen(a)}}),t(n,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:j,onClick:()=>{_.setIsCollectionPickerOpen(a)}})]})),!!m.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(d,{children:"Products"}),m.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=T},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(d,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=s(D);Object.values(e).forEach((e=>{var t,s;(null===(t=null==e?void 0:e.products)||void 0===t?void 0:t[i.id])&&(null===(s=null==e?void 0:e.products)||void 0===s||delete s[i.id])})),a===E.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}else{const e=m.filter((e=>e.id!==i.id));a===E.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]})),!!h.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(d,{children:"Collections"}),h.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=T},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(d,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=s(y);delete e[i.id],a===E.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}else{const e=h.filter((e=>e.id!==i.id));a===E.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]}))]})};return e(h,{children:[_.allowStaticCoupon&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(r,{options:f,width:"338px",placement:"bottom-start",onSelect:e=>{_.onChangeCouponType(e)}})})),t("div",Object.assign({className:"input__wrapper",style:{display:"flex",alignItems:"center",gap:8}},{children:(_.selectedCouponType===a.AMOUNT_OFF_PRODUCTS||_.selectedCouponType===a.AMOUNT_OFF_ORDER)&&e(i,{children:[t(y,{isActive:_.discountData.valueType===l.FIXED_AMOUNT,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.FIXED_AMOUNT}))},label:"Fixed amount"}),t(y,{isActive:_.discountData.valueType===l.PERCENTAGE,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.PERCENTAGE}))},label:"Percentage"})]})}))]})),_.selectedCouponType===a.AMOUNT_OFF_ORDER&&(()=>{var s,n,a,o;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null===(n=null===(s=_.discountData)||void 0===s?void 0:s.value)||void 0===n?void 0:n.toString(),labelText:"Discount code value",type:"number",errorMessage:I(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(a=_.currency)&&void 0!==a?a:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),w(),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(o=_.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===a.AMOUNT_OFF_PRODUCTS&&(()=>{var s,n,a,o;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null===(n=null===(s=_.discountData)||void 0===s?void 0:s.value)||void 0===n?void 0:n.toString(),labelText:"Discount code value",type:"number",errorMessage:I(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(a=_.currency)&&void 0!==a?a:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),P(E.ENTITLED,!0),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(o=_.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===a.FREE_SHIPPING&&(()=>{var s;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),t("div",Object.assign({className:"input__wrapper"},{children:!_.hideProbability&&t(b,{value:null===(s=_.discountData.probability)||void 0===s?void 0:s.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]})),w()]})})(),_.selectedCouponType===a.BUY_X_GET_Y&&(()=>{var i;return e(h,{children:[t("div",Object.assign({className:"input__rows"},{children:e("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[t("div",Object.assign({style:{flex:1}},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!_.hideProbability&&t("div",Object.assign({style:{flex:1}},{children:t(b,{value:null===(i=_.discountData.probability)||void 0===i?void 0:i.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]}))})),t(x,{}),P(E.PREREQUISITE),t(x,{}),P(E.ENTITLED),t(x,{}),t(c,{children:"At a discount value"}),e("div",Object.assign({style:{display:"flex",gap:18,alignItems:"center"}},{children:[t(y,{isActive:100!==_.discountData.value,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}}),t(u,{children:"Percentage"}),100!==_.discountData.value&&t(b,{variant:"small",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},errorMessage:I(),type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[t(y,{isActive:100===_.discountData.value,onValueChange:e=>{e?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:100})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}}),t(u,{children:"Free"})]}))]})})(),_.selectedCouponType&&!_.hideExpiration&&e(i,{children:[t("div",{style:{height:6,borderTop:`1px solid ${v.colorsV2.stroke.primary}`,marginTop:12}}),t(D,{discountData:_.discountData,setDiscountData:_.setDiscountData})]}),!_.selectedCouponType&&e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[t("div",Object.assign({style:{height:52,width:52,backgroundColor:v.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:t(O,{width:32,color:v.colorsV2.content.primaryInverse})})),t(p,{children:"No discount has been selected"}),t(m,{children:"Please select a discount type"})]}))]})};export{E as DISCOUNT_PRODUCTS,_ as default};
1
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import{Button as n}from"../../button/Button.js";import"react";import{DISCOUNT_TYPES as s,MIN_PURCHASE_REQUIREMENT as a}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as o}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import{TitleRegular as r,BodySecondary as l,TitleMedium as c,BodyPrimary as d,TitleSmall as p}from"../../TypographyStyle.js";import{DEFAULT_THEME as u}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"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import{Input as m}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../modals/styledModal.js";import"../../../node_modules/lodash.debounce/index.js";import"../../bik-layout/CommonStyles.js";import"../../product-picker/ProductPicker.styled.js";import"../../../utils/DateUtils.js";import"../../tag/Tag.js";import"@tippyjs/react";import"../../tooltips/TooltipInternal.js";import{DynamicCouponContainer as b}from"../DiscountModal.styled.js";import{CouponExpiration as v}from"../CouponExpiration/CouponExpiration.js";import{RadioButton as y}from"../../radioButton/RadioButton.js";import h from"../../../assets/icons/cursor.svg.js";import j from"../../../assets/icons/plus.svg.js";const D="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var O;function T(){return null}!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(O||(O={}));const x=x=>{var E;const C=[{value:s.FIXED_AMOUNT,label:"Fixed Amount",selected:x.selectedCouponType===s.FIXED_AMOUNT},{value:s.PERCENTAGE,label:"Percentage",selected:x.selectedCouponType===s.PERCENTAGE},{value:s.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:x.selectedCouponType===s.BUY_X_GET_Y},{value:s.FREE_SHIPPING,label:"Free shipping",selected:x.selectedCouponType===s.FREE_SHIPPING}],f=[{selected:x.selectedMinimumRequirement===a.NA,label:"No minimum requirements",value:a.NA},{selected:x.selectedMinimumRequirement===a.AMOUNT,label:`Minimum purchase amount (${null!==(E=x.currency)&&void 0!==E?E:"₹"})`,value:a.AMOUNT},{selected:x.selectedMinimumRequirement===a.QUANTITY,label:"Minimum quantity of items",value:a.QUANTITY}],_=()=>{var i,n,s,r,c;return e("div",Object.assign({className:"input__rows"},{children:[e("div",Object.assign({className:"input__wrapper"},{children:[t(l,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),t(o,{options:f,placement:"bottom-start",onSelect:e=>{const t=e.value;x.setSelectedMinimumRequirement(t),x.setDiscountData(Object.assign(Object.assign({},x.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),t("div",Object.assign({className:"input__wrapper"},{children:x.selectedMinimumRequirement!==a.NA&&t(m,{value:x.selectedMinimumRequirement===a.AMOUNT?null!==(n=null===(i=x.discountData.minAmount)||void 0===i?void 0:i.toString())&&void 0!==n?n:"":null!==(r=null===(s=x.discountData.minQuantity)||void 0===s?void 0:s.toString())&&void 0!==r?r:"",onChangeText:e=>{x.selectedMinimumRequirement===a.AMOUNT?x.setDiscountData(Object.assign(Object.assign({},x.discountData),{minAmount:parseInt(e)})):x.selectedMinimumRequirement===a.QUANTITY&&x.setDiscountData(Object.assign(Object.assign({},x.discountData),{minQuantity:parseInt(e)}))},labelText:x.selectedMinimumRequirement===a.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:x.selectedMinimumRequirement===a.AMOUNT?null!==(c=x.currency)&&void 0!==c?c:"₹":void 0,type:"number",placeholder:x.selectedMinimumRequirement===a.AMOUNT?"1000.00":"2"})}))]}))},N=s=>{var a,o,l;const c=s===O.ENTITLED?x.entitledProducts:x.prerequisiteProducts,d=null!==(a=s===O.ENTITLED?x.entitledCollections:x.prerequisiteCollections)&&void 0!==a?a:[];return e(i,{children:[t(r,{children:s===O.PREREQUISITE?"Customer spends":"Customer gets"}),e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(m,{value:s===O.ENTITLED?null===(o=x.discountData.entitledQuantity)||void 0===o?void 0:o.toString():null===(l=x.discountData.prerequisiteQuantity)||void 0===l?void 0:l.toString(),type:"number",onChangeText:e=>{s===O.ENTITLED?x.setDiscountData(Object.assign(Object.assign({},x.discountData),{entitledQuantity:parseInt(e)})):x.setDiscountData(Object.assign(Object.assign({},x.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),t("div",{className:"input__wrapper"})]})),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[t(n,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:j,onClick:()=>{x.setIsProductPickerOpen(s)}}),t(n,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:j,onClick:()=>{x.setIsCollectionPickerOpen(s)}})]})),!!c.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(p,{children:"Products"}),c.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${u.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=D},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(p,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{const e=c.filter((e=>e.id!==i.id));s===O.ENTITLED?x.setEntitledProducts(e):x.setPrerequisiteProducts(e)}},{children:t(g,{width:14,color:u.colorsV2.content.primary})}))}))]}),i.id)))]})),!!d.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(p,{children:"Collections"}),d.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${u.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=D},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(p,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{const e=d.filter((e=>e.id!==i.id));s===O.ENTITLED?x.setEntitledCollections(e):x.setPrerequisiteCollections(e)}},{children:t(g,{width:14,color:u.colorsV2.content.primary})}))}))]}),i.id)))]}))]})};return e(b,{children:[x.allowStaticCoupon&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(o,{options:C,width:"290px",placement:"bottom-start",onSelect:e=>{x.onChangeCouponType(e)}})})),t("div",{className:"input__wrapper"})]})),(x.selectedCouponType===s.PERCENTAGE||x.selectedCouponType===s.FIXED_AMOUNT)&&(()=>{var n,a,o,r;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(m,{value:x.discountData.title,onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{title:e}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(m,{value:null===(a=null===(n=x.discountData)||void 0===n?void 0:n.value)||void 0===a?void 0:a.toString(),labelText:"Discount code value",type:"number",onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{value:parseInt(e)}))},placeholder:x.selectedCouponType===s.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:x.selectedCouponType===s.FIXED_AMOUNT?null!==(o=x.currency)&&void 0!==o?o:"₹":void 0,suffixText:x.selectedCouponType===s.PERCENTAGE?"%":void 0})}))]})),_(),!x.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(m,{type:"number",value:null===(r=x.discountData.probability)||void 0===r?void 0:r.toString(),onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),t("div",{className:"input__wrapper"})]}))]})})(),x.selectedCouponType===s.FREE_SHIPPING&&(()=>{var n;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(m,{value:x.discountData.title,onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{title:e}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),t("div",Object.assign({className:"input__wrapper"},{children:!x.hideProbability&&t(m,{value:null===(n=x.discountData.probability)||void 0===n?void 0:n.toString(),type:"number",onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]})),_()]})})(),x.selectedCouponType===s.BUY_X_GET_Y&&(()=>{var i;return e(b,{children:[t("div",Object.assign({className:"input__rows"},{children:e("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[t("div",Object.assign({style:{flex:1}},{children:t(m,{value:x.discountData.title,onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{title:e}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!x.hideProbability&&t("div",Object.assign({style:{flex:1}},{children:t(m,{value:null===(i=x.discountData.probability)||void 0===i?void 0:i.toString(),type:"number",onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{probability:e.startsWith(".")?parseFloat(`0${e}`):parseFloat(e)}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]}))})),t(T,{}),N(O.PREREQUISITE),t(T,{}),N(O.ENTITLED),t(T,{}),t(r,{children:"At a discount value"}),e("div",Object.assign({style:{display:"flex",gap:18,alignItems:"center"}},{children:[t(y,{isActive:100!==x.discountData.value,onValueChange:()=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{value:void 0}))}}),t(l,{children:"Percentage"}),100!==x.discountData.value&&t(m,{variant:"small",onChangeText:e=>{x.setDiscountData(Object.assign(Object.assign({},x.discountData),{value:parseInt(e)}))},type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[t(y,{isActive:100===x.discountData.value,onValueChange:e=>{e?x.setDiscountData(Object.assign(Object.assign({},x.discountData),{value:100})):x.setDiscountData(Object.assign(Object.assign({},x.discountData),{value:void 0}))}}),t(l,{children:"Free"})]}))]})})(),x.selectedCouponType&&!x.hideExpiration&&e(i,{children:[t("div",{style:{height:6,borderTop:`1px solid ${u.colorsV2.stroke.primary}`,marginTop:12}}),t(v,{discountData:x.discountData,setDiscountData:x.setDiscountData})]}),!x.selectedCouponType&&e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[t("div",Object.assign({style:{height:52,width:52,backgroundColor:u.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:t(h,{width:32,color:u.colorsV2.content.primaryInverse})})),t(c,{children:"No discount has been selected"}),t(d,{children:"Please select a discount type"})]}))]})};export{O as DISCOUNT_PRODUCTS,x as default};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as i}from"react/jsx-runtime";import e from"../../../assets/icons/info.svg.js";import{Input as o}from"../../input/Input.js";import{BodySecondaryLink as a,BodySecondary as n}from"../../TypographyStyle.js";import{DEFAULT_THEME as s}from"../../../constants/Theme.js";import{StaticCouponContainerStyled as c}from"../DiscountModal.styled.js";const r=r=>t(c,{children:[t("div",Object.assign({className:"static-coupon__data"},{children:[i("div",Object.assign({className:"static-input__wrapper"},{children:i(o,{onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{couponCode:null==t?void 0:t.trim()}))},labelText:"Coupon code",value:r.discountData.couponCode,placeholder:"Enter code created on shopify"})})),i("div",Object.assign({className:"static-input__wrapper"},{children:i(o,{maxCharLimit:18,labelText:"Coupon title",value:r.discountData.title,onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{title:null==t?void 0:t.trim()}))},placeholder:"Enter coupon title"})}))]})),i(o,{labelText:"Coupon description",value:r.discountData.description,onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{description:null==t?void 0:t.trim()}))},placeholder:"Enter coupon description"}),!r.hideProbability&&i(o,{labelText:"Probability",value:r.discountData.probability?r.discountData.probability.toString():"",onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{probability:t.startsWith(".")?parseFloat(`0${t}`):parseFloat(t)}))},placeholder:"Enter probability in decimals (0 - 1)"}),r.discountAdminUrl&&t("div",Object.assign({className:"info__container"},{children:[i(e,{height:18,width:18,color:s.colorsV2.content.secondary}),i(a,Object.assign({onClick:()=>{window.open(r.discountAdminUrl,"_blank")}},{children:"Click here"})),i(n,{children:"to create discount code on Shopify"})]}))]});export{r as default};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import i from"../../../assets/icons/info.svg.js";import{Input as a}from"../../input/Input.js";import{BodySecondaryLink as o,BodySecondary as n}from"../../TypographyStyle.js";import{DEFAULT_THEME as s}from"../../../constants/Theme.js";import{StaticCouponContainerStyled as c}from"../DiscountModal.styled.js";const r=r=>t(c,{children:[t("div",Object.assign({className:"static-coupon__data"},{children:[e("div",Object.assign({className:"static-input__wrapper"},{children:e(a,{onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{couponCode:t}))},labelText:"Coupon code",value:r.discountData.couponCode,placeholder:"Enter code created on shopify"})})),e("div",Object.assign({className:"static-input__wrapper"},{children:e(a,{maxCharLimit:18,labelText:"Coupon title",value:r.discountData.title,onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{title:t}))},placeholder:"Enter coupon title"})}))]})),e(a,{labelText:"Coupon description",value:r.discountData.description,onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{description:t}))},placeholder:"Enter coupon description"}),!r.hideProbability&&e(a,{labelText:"Probability",value:r.discountData.probability?r.discountData.probability.toString():"",onChangeText:t=>{r.setDiscountData(Object.assign(Object.assign({},r.discountData),{probability:t.startsWith(".")?parseFloat(`0${t}`):parseFloat(t)}))},placeholder:"Enter probability in decimals (0 - 1)"}),r.discountAdminUrl&&t("div",Object.assign({className:"info__container"},{children:[e(i,{height:18,width:18,color:s.colorsV2.content.secondary}),e(o,Object.assign({onClick:()=>{window.open(r.discountAdminUrl,"_blank")}},{children:"Click here"})),e(n,{children:"to create discount code on Shopify"})]}))]});export{r as default};
@@ -1,4 +1,3 @@
1
- import { SelectedItems } from '../product-picker-v2';
2
1
  export declare enum MIN_PURCHASE_REQUIREMENT {
3
2
  AMOUNT = "amount",
4
3
  QUANTITY = "quantity",
@@ -17,8 +16,8 @@ export declare enum DISCOUNT_TARGET_SELECTION {
17
16
  ALL = "all"
18
17
  }
19
18
  export declare enum DISCOUNT_TYPES {
20
- AMOUNT_OFF_PRODUCTS = "amountOffProducts",
21
- AMOUNT_OFF_ORDER = "amountOffOrder",
19
+ FIXED_AMOUNT = "fixedAmount",
20
+ PERCENTAGE = "percentage",
22
21
  BUY_X_GET_Y = "buyXGetY",
23
22
  FREE_SHIPPING = "freeShipping"
24
23
  }
@@ -47,12 +46,4 @@ export interface ICouponData {
47
46
  entitledQuantity?: number;
48
47
  minPurchaseReq?: MIN_PURCHASE_REQUIREMENT;
49
48
  probability?: number;
50
- productsConf?: {
51
- entitledProducts: SelectedItems;
52
- prerequisiteProducts: SelectedItems;
53
- };
54
- collectionsConf?: {
55
- entitledCollections: SelectedItems;
56
- prerequisiteCollections: SelectedItems;
57
- };
58
49
  }
@@ -1 +1 @@
1
- var n,t,e,i,E;!function(n){n.AMOUNT="amount",n.QUANTITY="quantity",n.NA="na"}(n||(n={})),function(n){n.FIXED_AMOUNT="fixedAmount",n.PERCENTAGE="percentage"}(t||(t={})),function(n){n.LINE_ITEM="lineItem",n.SHIPPING_LINE="shippingLine"}(e||(e={})),function(n){n.ENTITLED="entitled",n.ALL="all"}(i||(i={})),function(n){n.AMOUNT_OFF_PRODUCTS="amountOffProducts",n.AMOUNT_OFF_ORDER="amountOffOrder",n.BUY_X_GET_Y="buyXGetY",n.FREE_SHIPPING="freeShipping"}(E||(E={}));export{i as DISCOUNT_TARGET_SELECTION,e as DISCOUNT_TARGET_TYPES,E as DISCOUNT_TYPES,t as DISCOUNT_VALUE_TYPES,n as MIN_PURCHASE_REQUIREMENT};
1
+ var n,e,t,E,i;!function(n){n.AMOUNT="amount",n.QUANTITY="quantity",n.NA="na"}(n||(n={})),function(n){n.FIXED_AMOUNT="fixedAmount",n.PERCENTAGE="percentage"}(e||(e={})),function(n){n.LINE_ITEM="lineItem",n.SHIPPING_LINE="shippingLine"}(t||(t={})),function(n){n.ENTITLED="entitled",n.ALL="all"}(E||(E={})),function(n){n.FIXED_AMOUNT="fixedAmount",n.PERCENTAGE="percentage",n.BUY_X_GET_Y="buyXGetY",n.FREE_SHIPPING="freeShipping"}(i||(i={}));export{E as DISCOUNT_TARGET_SELECTION,t as DISCOUNT_TARGET_TYPES,i as DISCOUNT_TYPES,e as DISCOUNT_VALUE_TYPES,n as MIN_PURCHASE_REQUIREMENT};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{MenuItem as n}from"./MenuItem.js";import{StyledGroupedLabel as o}from"./MenuList.styled.js";const s=s=>{let{options:r,isMultiSelect:l,showDescription:c,onSelect:p,version:a}=s;return e(t,{children:r.map(((s,m)=>{const g=m===r.length-1;if(s.options){const r=s;return i("div",Object.assign({style:{marginTop:"2.0"===a?2:0}},{children:[i(o,Object.assign({version:a},{children:[r.leadingIcon?e("span",Object.assign({style:{marginRight:8}},{children:r.leadingIcon})):e(t,{}),r.label]})),r.options.map(((t,i)=>e(n,{version:a,last:i===r.options.length-1,onSelect:p,showDescription:c,isMultiSelect:l,option:t},`${m}-${i}`)))]}),m)}return e(n,{version:a,last:g,onSelect:p,showDescription:c,isMultiSelect:l,option:s},m)}))})};export{s as MenuList};
1
+ import{jsx as t,Fragment as e,jsxs as o}from"react/jsx-runtime";import{MenuItem as i}from"./MenuItem.js";import{StyledGroupedLabel as n}from"./MenuList.styled.js";const s=s=>{let{options:r,isMultiSelect:l,showDescription:c,onSelect:p,version:m}=s;return t(e,{children:r.map(((e,s)=>{const a=s===r.length-1;if(e.options){const r=e;return o("div",Object.assign({style:{marginTop:"2.0"===m?2:0}},{children:[t(n,Object.assign({version:m},{children:r.label})),r.options.map(((e,o)=>t(i,{version:m,last:o===r.options.length-1,onSelect:p,showDescription:c,isMultiSelect:l,option:e},`${s}-${o}`)))]}),s)}return t(i,{version:m,last:a,onSelect:p,showDescription:c,isMultiSelect:l,option:e},s)}))})};export{s as MenuList};
@@ -19,7 +19,6 @@ export interface OpenDropdownProps {
19
19
  }
20
20
  export type GroupedOption = {
21
21
  label?: string;
22
- leadingIcon?: JSX.Element;
23
22
  options: (SingleOption | MultiSelectOption)[];
24
23
  };
25
24
  export type SingleOption = {
@@ -1 +1 @@
1
- import{jsxs as e,jsx as n,Fragment as t}from"react/jsx-runtime";import{forwardRef as i,useState as r,useContext as l,useRef as o,useEffect as a}from"react";import{Button as s}from"../button/Button.js";import{isFunction as c,validateInput as u}from"./Input-helper.js";import{BodySecondary as v}from"../TypographyStyle.js";import d from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as h}from"./context/InputStyleProvider.js";import{RootContainer as p,InputFooter as m,InputWrapper as g,IconHolder as f,PrefixHolder as x,InputContainer as b,InputContainerSmall as y,SuffixHolder as j,InputHeader as C,MaxCharStyle as w}from"./Input.styled.js";const I=i(((i,I)=>{var k,O,L,T,A;const{placeholder:D,leftIcon:E,rightIcon:F,labelText:M,maxCharLimit:z,isRequired:B,hintText:S,type:K,state:R,validate:H,variant:q,button:N,suffixText:P,prefixText:V,onChangeText:W,value:G,noErrorHint:J,reset:Q,rangeValidation:U,noKeyDownChange:X,version:Y,noMaxCharCheck:Z}=Object.assign({maxCharLimit:0,type:"text",variant:"default"},i),$=null==E?void 0:E.icon,_=null==F?void 0:F.icon,[ee,ne]=r(!1),[te,ie]=r(!1),[re,le]=r(),oe="small"===q?"18px":"22px",ae=l(h),[se,ce]=r(),ue=o(null),ve=null!=I?I:ue;a((()=>{ce(G)}),[G]),a((()=>{var e;ve.current&&(null===(e=i.onReferenceInit)||void 0===e||e.call(i,ve.current))}),[ve]),a((()=>{const e=ve.current;if(e)return e.addEventListener("wheel",pe,{passive:!1}),()=>{e.removeEventListener("wheel",pe)}}),[]),a((()=>{Q&&ce("")}),[Q]),a((()=>{var e;ie(!!i.isActive),i.isActive&&(null===(e=ve.current)||void 0===e||e.focus())}),[i.isActive]),a((()=>{le(i.errorMessage)}),[i.errorMessage]),a((()=>{var e;ne(!1),("invalid"===i.state||re)&&ne(!0),"active"===i.state&&(null===(e=ve.current)||void 0===e||e.focus())}),[i.state,re]),a((()=>{ne(!!re)}),[re]);const de=function(e){if(c(e)){for(var n=arguments.length,t=new Array(n>1?n-1:0),i=1;i<n;i++)t[i-1]=arguments[i];e(...t)}},he=e=>{const n=z||("zip"===K?6:60);X||W(G||"",e),Z||![8].includes(e.which)&&n>0&&e.target.value.length===n&&e.preventDefault()},pe=e=>{e.preventDefault()},me=e=>{const n=e.target.value;W(n,e),i.textControl||ce(n);const t=H||u;if(!t||!c(t))return;const[r,l]=t(n,K,U);ne(!r),le(i.errorMessage?i.errorMessage:l)},ge=e=>{var n;i.skipFocus||ie(!0),de(null===(n=i.onFocus)||void 0===n?void 0:n.call(i,e))},fe=e=>{var n;i.skipFocus||ie(!1),de(null===(n=i.onBlur)||void 0===n?void 0:n.call(i,e))},xe=()=>{var r;return e(t,{children:["multiline"!==K&&n("input",{id:i.id,style:null!==(r=null==ae?void 0:ae.input)&&void 0!==r?r:{},ref:ve,type:["phonenumber","zip","number"].includes(K)?"number":K,value:se,onFocus:e=>ge(e),onBlur:e=>fe(e),placeholder:D||"Enter here",onChange:me,onKeyDown:e=>he(e)}),"multiline"===K&&n("textarea",{value:se,ref:ve,onFocus:e=>ge(e),onBlur:e=>fe(e),placeholder:D||"Enter here",onChange:me,onKeyDown:e=>he(e),maxLength:z>0?z:void 0})]})};return e(p,Object.assign({width:i.width,height:i.height,state:R,type:K,style:null!==(k=null==ae?void 0:ae.RootContainer)&&void 0!==k?k:{}},{children:[!J&&(!!S||!!re)&&e(m,Object.assign({invalid:!!re},{children:[!!re&&n(d,{width:16,height:16}),re||S]})),e(g,Object.assign({variant:q,state:R,width:i.width,isActive:"active"===R||te,isInvalid:ee,style:null!==(O=null==ae?void 0:ae.InputWrapper)&&void 0!==O?O:{},version:Y},{children:[!!$&&n(f,Object.assign({variant:q,iconSize:oe,onClick:()=>de(null==E?void 0:E.callback),isLeft:!0,style:null!==(L=null==ae?void 0:ae.IconHolder)&&void 0!==L?L:{}},{children:n($,{})})),!!V&&n(x,Object.assign({variant:q},{children:V})),"default"===q&&n(b,{children:xe()}),"small"===q&&n(y,{children:xe()}),!!_&&n(f,Object.assign({variant:q,iconSize:oe,onClick:()=>de(null==F?void 0:F.callback),isLeft:!1},{children:n(_,{})})),!!P&&n(j,Object.assign({variant:q},{children:P})),N&&N.text&&n(s,{buttonText:N.text,onClick:()=>de(null==N?void 0:N.onClick)})]})),(!!M||!!z)&&e(C,Object.assign({invalid:ee},{children:[e(v,{children:[M,B?n("span",{children:"*"}):""]}),z>0&&e(w,{children:[null!==(A=null===(T=i.value)||void 0===T?void 0:T.length)&&void 0!==A?A:0,"/",z]})]}))]}))}));I.displayName="Input";export{I as Input};
1
+ import{jsxs as e,jsx as n,Fragment as t}from"react/jsx-runtime";import{forwardRef as i,useState as l,useContext as r,useRef as o,useEffect as a}from"react";import{Button as s}from"../button/Button.js";import{isFunction as c,validateInput as u}from"./Input-helper.js";import{BodySecondary as d}from"../TypographyStyle.js";import v from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as h}from"./context/InputStyleProvider.js";import{RootContainer as p,InputFooter as g,InputWrapper as m,IconHolder as f,PrefixHolder as x,InputContainer as b,InputContainerSmall as y,SuffixHolder as j,InputHeader as C,MaxCharStyle as I}from"./Input.styled.js";const w=i(((i,w)=>{var k,O,T,A,F;const{placeholder:L,leftIcon:M,rightIcon:z,labelText:B,maxCharLimit:D,isRequired:S,hintText:E,type:K,state:R,validate:H,variant:q,button:N,suffixText:P,prefixText:V,onChangeText:W,value:G,noErrorHint:J,reset:Q,rangeValidation:U,noKeyDownChange:X,version:Y,noMaxCharCheck:Z}=Object.assign({maxCharLimit:0,type:"text",variant:"default"},i),$=null==M?void 0:M.icon,_=null==z?void 0:z.icon,[ee,ne]=l(!1),[te,ie]=l(!1),[le,re]=l(),oe="small"===q?"18px":"22px",ae=r(h),[se,ce]=l(),ue=o(null),de=null!=w?w:ue;a((()=>{ce(G)}),[G]),a((()=>{var e;de.current&&(null===(e=i.onReferenceInit)||void 0===e||e.call(i,de.current))}),[de]),a((()=>{Q&&ce("")}),[Q]),a((()=>{var e;ie(!!i.isActive),i.isActive&&(null===(e=de.current)||void 0===e||e.focus())}),[i.isActive]),a((()=>{re(i.errorMessage)}),[i.errorMessage]),a((()=>{var e;ne(!1),("invalid"===i.state||le)&&ne(!0),"active"===i.state&&(null===(e=de.current)||void 0===e||e.focus())}),[i.state,le]),a((()=>{ne(!!le)}),[le]);const ve=function(e){if(c(e)){for(var n=arguments.length,t=new Array(n>1?n-1:0),i=1;i<n;i++)t[i-1]=arguments[i];e(...t)}},he=e=>{const n=D||("zip"===K?6:60);X||W(G||"",e),Z||![8].includes(e.which)&&n>0&&e.target.value.length===n&&e.preventDefault()},pe=e=>{const n=e.target.value;W(n,e),i.textControl||ce(n);const t=H||u;if(!t||!c(t))return;const[l,r]=t(n,K,U);ne(!l),re(i.errorMessage?i.errorMessage:r)},ge=e=>{var n;i.skipFocus||ie(!0),ve(null===(n=i.onFocus)||void 0===n?void 0:n.call(i,e))},me=e=>{var n;i.skipFocus||ie(!1),ve(null===(n=i.onBlur)||void 0===n?void 0:n.call(i,e))},fe=()=>{var l;return e(t,{children:["multiline"!==K&&n("input",{id:i.id,style:null!==(l=null==ae?void 0:ae.input)&&void 0!==l?l:{},ref:de,type:["phonenumber","zip","number"].includes(K)?"number":K,value:se,onFocus:e=>ge(e),onBlur:e=>me(e),placeholder:L||"Enter here",onChange:pe,onKeyDown:e=>he(e)}),"multiline"===K&&n("textarea",{value:se,ref:de,onFocus:e=>ge(e),onBlur:e=>me(e),placeholder:L||"Enter here",onChange:pe,onKeyDown:e=>he(e),maxLength:D>0?D:void 0})]})};return e(p,Object.assign({width:i.width,height:i.height,state:R,type:K,style:null!==(k=null==ae?void 0:ae.RootContainer)&&void 0!==k?k:{}},{children:[!J&&(!!E||!!le)&&e(g,Object.assign({invalid:!!le},{children:[!!le&&n(v,{width:16,height:16}),le||E]})),e(m,Object.assign({variant:q,state:R,width:i.width,isActive:"active"===R||te,isInvalid:ee,style:null!==(O=null==ae?void 0:ae.InputWrapper)&&void 0!==O?O:{},version:Y},{children:[!!$&&n(f,Object.assign({variant:q,iconSize:oe,onClick:()=>ve(null==M?void 0:M.callback),isLeft:!0,style:null!==(T=null==ae?void 0:ae.IconHolder)&&void 0!==T?T:{}},{children:n($,{})})),!!V&&n(x,Object.assign({variant:q},{children:V})),"default"===q&&n(b,{children:fe()}),"small"===q&&n(y,{children:fe()}),!!_&&n(f,Object.assign({variant:q,iconSize:oe,onClick:()=>ve(null==z?void 0:z.callback),isLeft:!1},{children:n(_,{})})),!!P&&n(j,Object.assign({variant:q},{children:P})),N&&N.text&&n(s,{buttonText:N.text,onClick:()=>ve(null==N?void 0:N.onClick)})]})),(!!B||!!D)&&e(C,Object.assign({invalid:ee},{children:[e(d,{children:[B,S?n("span",{children:"*"}):""]}),D>0&&e(I,{children:[null!==(F=null===(A=i.value)||void 0===A?void 0:A.length)&&void 0!==F?F:0,"/",D]})]}))]}))}));w.displayName="Input";export{w as Input};
@@ -1,10 +1,8 @@
1
- import { OUT_OF_STOCK_ACTION } from './type';
2
1
  export interface ProductVariant {
3
2
  name: string;
4
3
  price: string;
5
4
  image: string;
6
5
  quantity: number;
7
- skipSync?: boolean;
8
6
  }
9
7
  export interface Product {
10
8
  name: string;
@@ -53,10 +51,5 @@ export interface ProductPickerInterface {
53
51
  limit?: number;
54
52
  hideCollectionCheckbox?: boolean;
55
53
  hideProductCheckbox?: boolean;
56
- outOfStockAction?: OUT_OF_STOCK_ACTION;
57
- hideVariantCheckbox?: boolean;
58
- selectProductsFromCustomCollection?: boolean;
59
- hideSelectionCount?: boolean;
60
- title?: string;
61
54
  }
62
55
  export declare const ProductPickerModal: (props: ProductPickerInterface) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import c from"../../assets/icons/search.svg.js";import{useReducer as s,useState as r,useEffect as i}from"react";import{COLORS as l}from"../../constants/Theme.js";import{Button as n}from"../button/Button.js";import{Input as d}from"../input/Input.js";import{StyledModal as a}from"../modals/styledModal.js";import{Spinner as h}from"../spinner/Spinner.js";import{Tag as u}from"../tag/Tag.js";import{CollectionsScreen as p}from"./collectionScreen.js";import{ProductsScreen as m}from"./productScreen.js";import{collectionsReducer as C,selectedColectionsReducer as b,CollectionIdContext as v}from"./reducers.js";import{SearchScreen as g}from"./searchScreen.js";import{SelectedScreen as f}from"./selectedScreen.js";import{ContainerStyle as y,ScrollContainerStyle as j}from"./style.js";import{OUT_OF_STOCK_ACTION as S}from"./type.js";const x=x=>{const{storeId:k,selectedItems:I,onClose:P,visible:F,zIndex:T,limit:O,hideCollectionCheckbox:D,hideProductCheckbox:E,outOfStockAction:R=S.BLUR,hideVariantCheckbox:w,selectProductsFromCustomCollection:B,hideSelectionCount:A,title:L}=x,[z,G]=s(C,{}),[$,V]=r("collections"),[H,K]=r(""),[M,U]=r(0),[Y,q]=r(!1),[J,N]=r(0),[Q,W]=r(""),[X,Z]=r(!1),[_,ee]=r(!1),[te,oe]=r(),[ce,se]=s(b,Object.keys(I).length>0?I:{});i((()=>{q(!0),ee(!0),x.collectionFetcher(M,k).then((e=>{G({type:"fetched",data:(null==e?void 0:e.collections)||{}}),q(!1),U((e=>e+1)),ee(!1)})).catch()}),[]),i((()=>{let e=0;Object.keys(ce||[]).forEach((t=>{var o;Object.keys((null===(o=ce[t])||void 0===o?void 0:o.products)||[]).forEach((o=>{var c,s;Object.keys((null===(s=null===(c=ce[t].products)||void 0===c?void 0:c[o])||void 0===s?void 0:s.variants)||[]).forEach((()=>{e+=1}))}))})),N(e)})),i((()=>{var e;H&&!(null===(e=null==z?void 0:z[H])||void 0===e?void 0:e.products)&&(q(!0),x.productFetcher(H,k).then((e=>{Object.keys(e).length&&G({type:"productsFetched",data:{collectionId:H,products:e}}),q(!1)})).catch())}),[H]),i((()=>{const e=setTimeout((()=>{Q.length?(Z(!0),x.searchFetcher(k,Q).then((e=>{oe(Object.assign({},e)),V("searchProducts"),q(!1),Z(!1)}))):V("collections")}),800);return()=>clearTimeout(e)}),[Q]);const re=()=>{se({type:"reset",data:{}})};return e(a,Object.assign({zIndex:T,open:F,onClose:()=>{P(),re()},headingTitle:L||("collections"===$||"products"===$?"Select Products":"view"===$?"Selected Products":"searchProducts"===$?"Searched Products":void 0),footerShadow:!0,centralContainerStyles:{width:"480px"},primaryButton:{buttonText:Y?"Loading...":"Add",disabled:Y||J<1||O&&J>O||!1,onClick:()=>{x.onAdd(ce,J),re()}},footerLeftCustomElement:A?e(t,{}):O&&J>O?e(u,{tagText:`You can only select ${O} products`,type:"negative"}):e(n,J>0?{onClick:()=>{V("view")},buttonText:`${J} products selected`,buttonType:"tertiaryGray"}:{disabled:!0,buttonText:`${J} products selected`,buttonType:"tertiaryGray"})},{children:o(y,{children:[!x.hideGlobalSearch&&e(t,{children:("collections"===$||"searchProducts"===$)&&e("div",Object.assign({style:{padding:"12px 24px",borderBottom:"1px solid #E0E0E0"}},{children:e(d,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>X?e(h,{size:"small",color:l.content.primary}):e(c,{})},id:"listInput",height:"24px",type:"text",value:Q,onChangeText:e=>{e.length&&e.trim().length?W(e):W("")}})}))}),o(j,{children:["collections"===$&&e(p,{customCollectionRestriction:x.customCollectionRestriction,dataLoading:_,collections:z,selectedCollectionsDispatch:se,setCollectionId:K,setScreen:V,selectedCollections:ce,collectionFetcher:x.collectionFetcher,storeId:k,collectionsDispatch:G,setSaveDisabled:q,pagingControls:{curPage:M,setCurPage:U},hideCollectionCheckbox:D}),"products"===$&&H&&e(v.Provider,Object.assign({value:H},{children:e(m,{hideInCollectionSearch:x.hideInCollectionSearch,customCollectionRestriction:x.customCollectionRestriction,productFetcher:x.productFetcher,setScreen:V,storeId:k,data:z[H],collectionsDispatch:G,selectedCollectionsDispatch:se,selectedData:ce,setSaveDisabled:q,searchInCollectionFetcher:x.searchInCollectionFetcher,hideProductCheckbox:E,outOfStockAction:R,hideVariantCheckbox:w,selectProductsFromCustomCollection:B})})),"view"===$&&e(f,{selectedCollections:ce||{},selectedCollectionsDispatch:se,setScreen:V,collections:z}),"searchProducts"===$&&e(g,{customCollectionRestriction:x.customCollectionRestriction,selectedCollections:ce||{},searchedCollections:te||{},selectedCollectionsDispatch:se,setScreen:V,collections:z,onBackPress:()=>{W(""),oe({})}})]})]})}))};export{x as ProductPickerModal};
1
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import c from"../../assets/icons/search.svg.js";import{useReducer as r,useState as s,useEffect as l}from"react";import{COLORS as i}from"../../constants/Theme.js";import{Button as n}from"../button/Button.js";import{Input as d}from"../input/Input.js";import{StyledModal as a}from"../modals/styledModal.js";import{Spinner as h}from"../spinner/Spinner.js";import{Tag as p}from"../tag/Tag.js";import{CollectionsScreen as u}from"./collectionScreen.js";import{ProductsScreen as m}from"./productScreen.js";import{collectionsReducer as C,selectedColectionsReducer as v,CollectionIdContext as b}from"./reducers.js";import{SearchScreen as g}from"./searchScreen.js";import{SelectedScreen as y}from"./selectedScreen.js";import{ContainerStyle as f,ScrollContainerStyle as j}from"./style.js";const S=S=>{const{storeId:x,selectedItems:I,onClose:P,visible:k,zIndex:T,limit:F,hideCollectionCheckbox:D,hideProductCheckbox:E}=S,[O,R]=r(C,{}),[w,B]=s("collections"),[z,G]=s(""),[L,$]=s(0),[A,H]=s(!1),[M,Y]=s(0),[q,J]=s(""),[K,N]=s(!1),[Q,U]=s(!1),[V,W]=s(),[X,Z]=r(v,Object.keys(I).length>0?I:{});l((()=>{H(!0),U(!0),S.collectionFetcher(L,x).then((e=>{R({type:"fetched",data:(null==e?void 0:e.collections)||{}}),H(!1),$((e=>e+1)),U(!1)})).catch()}),[]),l((()=>{let e=0;Object.keys(X||[]).forEach((t=>{var o;Object.keys((null===(o=X[t])||void 0===o?void 0:o.products)||[]).forEach((o=>{var c,r;Object.keys((null===(r=null===(c=X[t].products)||void 0===c?void 0:c[o])||void 0===r?void 0:r.variants)||[]).forEach((()=>{e+=1}))}))})),Y(e)})),l((()=>{var e;z&&!(null===(e=null==O?void 0:O[z])||void 0===e?void 0:e.products)&&(H(!0),S.productFetcher(z,x).then((e=>{Object.keys(e).length&&R({type:"productsFetched",data:{collectionId:z,products:e}}),H(!1)})).catch())}),[z]),l((()=>{const e=setTimeout((()=>{q.length&&(N(!0),S.searchFetcher(x,q).then((e=>{W(e),B("searchProducts"),H(!1),N(!1)})))}),800);return()=>clearTimeout(e)}),[q]);const _=()=>{Z({type:"reset",data:{}})};return e(a,Object.assign({zIndex:T,open:k,onClose:()=>{P(),_()},headingTitle:"collections"===w||"products"===w?"Select Products":"view"===w?"Selected Products":"searchProducts"===w?"Searched Products":void 0,footerShadow:!0,centralContainerStyles:{width:"480px"},primaryButton:{buttonText:A?"Loading...":"Add",disabled:A||M<1||F&&M>F||!1,onClick:()=>{S.onAdd(X,M),_()}},footerLeftCustomElement:F&&M>F?e(p,{tagText:`You can only select ${F} products`,type:"negative"}):e(n,M>0?{onClick:()=>{B("view")},buttonText:`${M} products selected`,buttonType:"tertiaryGray"}:{disabled:!0,buttonText:`${M} products selected`,buttonType:"tertiaryGray"})},{children:t(f,{children:[!S.hideGlobalSearch&&e(o,{children:("collections"===w||"searchProducts"===w)&&e("div",Object.assign({style:{padding:"12px 24px",borderBottom:"1px solid #E0E0E0"}},{children:e(d,{noErrorHint:!0,rightIcon:{icon:()=>K?e(h,{size:"small",color:i.content.primary}):e(c,{})},id:"listInput",height:"24px",type:"text",value:q,onChangeText:e=>{e.length&&e.trim().length&&J(e)},placeholder:"Search products..."})}))}),t(j,{children:["collections"===w&&e(u,{customCollectionRestriction:S.customCollectionRestriction,dataLoading:Q,collections:O,selectedCollectionsDispatch:Z,setCollectionId:G,setScreen:B,selectedCollections:X,collectionFetcher:S.collectionFetcher,storeId:x,collectionsDispatch:R,setSaveDisabled:H,pagingControls:{curPage:L,setCurPage:$},hideCollectionCheckbox:D}),"products"===w&&z&&e(b.Provider,Object.assign({value:z},{children:e(m,{hideInCollectionSearch:S.hideInCollectionSearch,customCollectionRestriction:S.customCollectionRestriction,productFetcher:S.productFetcher,setScreen:B,storeId:x,data:O[z],collectionsDispatch:R,selectedCollectionsDispatch:Z,selectedData:X,setSaveDisabled:H,searchInCollectionFetcher:S.searchInCollectionFetcher,hideProductCheckbox:E})})),"view"===w&&e(y,{selectedCollections:X||{},selectedCollectionsDispatch:Z,setScreen:B,collections:O}),"searchProducts"===w&&e(g,{customCollectionRestriction:S.customCollectionRestriction,selectedCollections:X||{},searchedCollections:V||{},selectedCollectionsDispatch:Z,setScreen:B,collections:O,onBackPress:()=>{J(""),W({})}})]})]})}))};export{S as ProductPickerModal};
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Collection, Product, ProductFetcherReturn, ProductVariant, SelectedItems } from '.';
3
3
  import { CollectionsActions, SelectedCollectionsActions } from './reducers';
4
- import { OUT_OF_STOCK_ACTION } from './type';
5
4
  interface ProductsScreenInterface {
6
5
  hideInCollectionSearch?: boolean;
7
6
  customCollectionRestriction?: boolean;
@@ -15,9 +14,6 @@ interface ProductsScreenInterface {
15
14
  setScreen: React.Dispatch<React.SetStateAction<string>>;
16
15
  setSaveDisabled: React.Dispatch<React.SetStateAction<boolean>>;
17
16
  hideProductCheckbox?: boolean;
18
- outOfStockAction?: OUT_OF_STOCK_ACTION;
19
- hideVariantCheckbox?: boolean;
20
- selectProductsFromCustomCollection?: boolean;
21
17
  }
22
18
  export declare const ProductsScreen: (props: ProductsScreenInterface) => import("react/jsx-runtime").JSX.Element;
23
19
  interface ProductGroupInterface {
@@ -30,8 +26,6 @@ interface ProductGroupInterface {
30
26
  isProductPartiallyChecked?: boolean;
31
27
  upliftAdditions: any;
32
28
  hideProductCheckbox?: boolean;
33
- outOfStockAction?: OUT_OF_STOCK_ACTION;
34
- hideVariantCheckbox?: boolean;
35
29
  }
36
30
  export declare const ProductGroup: (props: ProductGroupInterface) => import("react/jsx-runtime").JSX.Element;
37
31
  interface ProductCardInterface {
@@ -46,8 +40,6 @@ interface ProductCardInterface {
46
40
  isPartiallyChecked?: boolean;
47
41
  upliftAdditions: any;
48
42
  hideProductCheckbox?: boolean;
49
- outOfStockAction?: OUT_OF_STOCK_ACTION;
50
- hideVariantCheckbox?: boolean;
51
43
  }
52
44
  export declare const ProductCard: (props: ProductCardInterface) => import("react/jsx-runtime").JSX.Element;
53
45
  export {};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as e,Fragment as o}from"react/jsx-runtime";import i from"../../assets/icons/arrow_left.svg.js";import c from"../../assets/icons/box.svg.js";import d from"../../assets/icons/search.svg.js";import{cloneDeep as l}from"lodash";import{useContext as n,useState as r,useEffect as s}from"react";import{Tag as a}from"../tag/Tag.js";import{COLORS as u}from"../../constants/Theme.js";import{CheckBox as h}from"../checkBox/CheckBox.js";import{IconButton as p}from"../icon-button/IconButton.js";import{Input as v}from"../input/Input.js";import{BikShimmer as m}from"../shimmer/ShimmerComponent/BikShimmer.js";import{ShimmerImage as f}from"../shimmer-image/ShimmerImage.js";import{Spinner as y}from"../spinner/Spinner.js";import{BodyCaption as g,TitleRegular as b}from"../TypographyStyle.js";import{truncate as j}from"./collectionScreen.js";import{EmptyState as k}from"./emptyState.js";import{ProductHelper as C}from"./helpers/ProductHelper.js";import{CollectionIdContext as I}from"./reducers.js";import{ProductScreenHeader as O,ProductScreenCollectionCardStyle as x,ProductCardStyle as S}from"./style.js";import{OUT_OF_STOCK_ACTION as P}from"./type.js";import{liftTheStateUp as w}from"./utility.js";const D=o=>{const a=n(I),{data:f,collectionsDispatch:j,selectedData:C,selectedCollectionsDispatch:S,productFetcher:D,storeId:V,setScreen:A,setSaveDisabled:T,hideInCollectionSearch:B,customCollectionRestriction:F,hideProductCheckbox:R,outOfStockAction:U=P.BLUR,hideVariantCheckbox:H=!1,selectProductsFromCustomCollection:L=!1}=o,[W,z]=r(""),[K,N]=r(!1),[_,q]=r(f);s((()=>{const t=setTimeout((()=>{W.length?(N(!0),o.searchInCollectionFetcher(V,a,W).then((t=>{var e;const o=l(f);o.products={};for(const i of t)(null===(e=null==f?void 0:f.products)||void 0===e?void 0:e[i])&&(o.products[i]=f.products[i]);q(o),T(!1),N(!1)}))):q(f)}),800);return()=>clearTimeout(t)}),[W]);const G=!!F&&f.isSmartCollection,J=t=>{var e,o,i,c,d,l,n,r;let s=0,u=0;return!!((null===(o=null===(e=null==C?void 0:C[a])||void 0===e?void 0:e.products)||void 0===o?void 0:o[t])&&(null===(d=Object.keys((null===(c=null===(i=null==f?void 0:f.products)||void 0===i?void 0:i[t])||void 0===c?void 0:c.variants)||[]))||void 0===d||d.forEach((()=>u++)),Object.keys((null===(r=null===(n=null===(l=null==C?void 0:C[a])||void 0===l?void 0:l.products)||void 0===n?void 0:n[t])||void 0===r?void 0:r.variants)||[]).forEach((()=>s++)),s>0&&u!==s))};s((()=>{(null==f?void 0:f.products)||M()}),[]);const M=()=>{T(!0),N(!0),D(a,V).then((t=>{Object.keys(t).length&&(j({type:"productsFetched",data:{collectionId:a,products:t}}),q(Object.assign(Object.assign({},_),{products:t}))),T(!1),N(!1)})).catch()},Q=(t,e)=>{const o=w(e,f);S({type:t,data:Object.assign(Object.assign({},o),{isRestricted:F})})};return t("div",{children:[t(O,{children:[e(p,{Icon:i,height:16,onClick:()=>{A("collections")}}),e(g,Object.assign({style:{color:u.content.secondary}},{children:f.name}))]}),!B&&e("div",Object.assign({style:{padding:16,height:"76px",borderBottom:"1px solid #E0E0E0"}},{children:e(v,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>K&&W.length?e(y,{size:"small",color:u.content.primary}):e(d,{})},id:"listInput",height:"24px",type:"text",value:W,onChangeText:t=>{t.length&&t.trim().length?z(t):z("")},placeholder:"Search products in this collection..."})})),t("div",{children:[Object.keys((null==_?void 0:_.products)||[]).length>0&&!G&&!W.length&&!R&&t(x,{children:[e(h,{isChecked:!!(null==C?void 0:C[a]),isPartiallyChecked:(t=>{var e;let o=0,i=0;if(C[t]){const c=null==f?void 0:f.products;c&&Object.keys(c).forEach((t=>{var e;const i=null===(e=c[t])||void 0===e?void 0:e.variants;i&&Object.keys(i).forEach((t=>o+=1))}));const d=null===(e=C[t])||void 0===e?void 0:e.products;return d&&Object.keys(d).forEach((t=>{var e;const o=null===(e=d[t])||void 0===e?void 0:e.variants;o&&Object.keys(o).forEach((()=>i+=1))})),i>0&&o!==i}return!1})(a),onValueChange:function(t){S(t?{type:"selected",data:{id:a,val:f}}:{type:"unselected",data:{id:a}})}}),e("div",Object.assign({style:{width:40,height:40}},{children:e(c,{})})),e(b,{children:"All Products"})]}),Object.keys((null==_?void 0:_.products)||[]).length?Object.keys(_.products||[]).map((t=>e(E,{outOfStockAction:U,collectionId:a,isProductPartiallyChecked:J(t),productId:t,data:_.products[t],selectedData:C,selectedCollectionsDispatch:S,viewOnly:!L&&!!G,upliftAdditions:Q,hideProductCheckbox:R,hideVariantCheckbox:H},t))):K?[1,2,3,4,5,6,7,8,9,10].map(((t,o)=>e("div",Object.assign({style:{borderBottom:"1px solid #E0E0E0"}},{children:e(m,{boxes:[{height:"64px",width:"100%",marginTop:"0px"}]})}),o))):e(k,{title:"No products to show",subtitle:W.length?"We couldn't find the product you were looking for":"We couldn’t find any product in this collection."})]})]})},E=o=>{const{collectionId:i,productId:c,data:d,selectedData:l,selectedCollectionsDispatch:n,viewOnly:r,upliftAdditions:s,isProductPartiallyChecked:a,hideProductCheckbox:u,outOfStockAction:h,hideVariantCheckbox:p}=o,v=t=>{var e,o,d,n,r,s;if(!(null===(o=null===(e=null==l?void 0:l[i])||void 0===e?void 0:e.products)||void 0===o?void 0:o[c]))return!1;return!!(null===(s=null===(r=null===(n=null===(d=null==l?void 0:l[i])||void 0===d?void 0:d.products)||void 0===n?void 0:n[c])||void 0===r?void 0:r.variants)||void 0===s?void 0:s[t])};return t("div",{children:[e(V,{isVariant:!1,data:d,productId:c,collectionId:i,isSelected:!!(null===(f=null===(m=null==l?void 0:l[i])||void 0===m?void 0:m.products)||void 0===f?void 0:f[c]),isPartiallyChecked:a,selectedCollectionsDispatch:n,upliftAdditions:s,viewOnly:r,hideProductCheckbox:u,hideVariantCheckbox:p},c),Object.keys(d.variants||[]).map((t=>e(V,{isVariant:!0,hideVariantCheckbox:p,data:d.variants[t],variantId:t,productId:c,viewOnly:r,upliftAdditions:s,collectionId:i,isSelected:v(t),selectedCollectionsDispatch:n,outOfStockAction:h},t)))]});var m,f},V=i=>{const{isVariant:c,data:d,productId:l,collectionId:n,variantId:r,isSelected:s,selectedCollectionsDispatch:u,viewOnly:p,upliftAdditions:v,isPartiallyChecked:m,hideProductCheckbox:y,outOfStockAction:g,hideVariantCheckbox:k}=i,I=C.getProductLabels(d,g);return t(S,Object.assign({isVariant:c},{children:[c&&!p&&!k||!c&&!p&&!y?e(h,{isChecked:s,isPartiallyChecked:m||!1,onValueChange:function(t){c?t?v("variantSelected",{productId:l,variantId:r,collectionId:n,variant:d}):u({type:"variantUnselected",data:{productId:l,variantId:r,collectionId:n}}):t?v("productSelected",{productId:l,collectionId:n,product:d}):u({type:"productUnselected",data:{productId:l,collectionId:n}})}}):e(o,{}),e("div",{children:e(f,{width:40,height:40,imageUrl:d.image,alt:"Item",borderRadius:4})}),t("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[e(b,{children:j(d.name,40,!0)}),I?e("div",Object.assign({style:{width:90,display:"flex"}},{children:e(a,{tagText:I,type:"warning",theme:"light"})})):e(o,{})]}))]}))};export{V as ProductCard,E as ProductGroup,D as ProductsScreen};
1
+ import{jsxs as t,jsx as e,Fragment as o}from"react/jsx-runtime";import i from"../../assets/icons/arrow_left.svg.js";import d from"../../assets/icons/box.svg.js";import c from"../../assets/icons/search.svg.js";import{cloneDeep as l}from"lodash";import{useContext as n,useState as r,useEffect as s}from"react";import{Tag as a}from"../tag/Tag.js";import{COLORS as u}from"../../constants/Theme.js";import{CheckBox as h}from"../checkBox/CheckBox.js";import{IconButton as p}from"../icon-button/IconButton.js";import{Input as v}from"../input/Input.js";import{BikShimmer as m}from"../shimmer/ShimmerComponent/BikShimmer.js";import{ShimmerImage as y}from"../shimmer-image/ShimmerImage.js";import{Spinner as g}from"../spinner/Spinner.js";import{BodyCaption as f,TitleRegular as j}from"../TypographyStyle.js";import{truncate as b}from"./collectionScreen.js";import{EmptyState as I}from"./emptyState.js";import{CollectionIdContext as k}from"./reducers.js";import{ProductScreenHeader as C,ProductScreenCollectionCardStyle as O,ProductCardStyle as x}from"./style.js";import{liftTheStateUp as S}from"./utility.js";const P=o=>{const a=n(k),{data:y,collectionsDispatch:b,selectedData:x,selectedCollectionsDispatch:P,productFetcher:E,storeId:D,setScreen:T,setSaveDisabled:A,hideInCollectionSearch:B,customCollectionRestriction:V,hideProductCheckbox:F}=o,[R,U]=r(""),[q,W]=r(!1),[z,H]=r(y);s((()=>{const t=setTimeout((()=>{R.length?(W(!0),o.searchInCollectionFetcher(D,a,R).then((t=>{var e;const o=l(y);o.products={};for(const i of t)(null===(e=null==y?void 0:y.products)||void 0===e?void 0:e[i])&&(o.products[i]=y.products[i]);H(o),A(!1),W(!1)}))):H(y)}),800);return()=>clearTimeout(t)}),[R]);const N=!!V&&y.isSmartCollection,_=t=>{var e,o,i,d,c,l,n,r;let s=0,u=0;return!!((null===(o=null===(e=null==x?void 0:x[a])||void 0===e?void 0:e.products)||void 0===o?void 0:o[t])&&(null===(c=Object.keys((null===(d=null===(i=null==y?void 0:y.products)||void 0===i?void 0:i[t])||void 0===d?void 0:d.variants)||[]))||void 0===c||c.forEach((()=>u++)),Object.keys((null===(r=null===(n=null===(l=null==x?void 0:x[a])||void 0===l?void 0:l.products)||void 0===n?void 0:n[t])||void 0===r?void 0:r.variants)||[]).forEach((()=>s++)),s>0&&u!==s))};s((()=>{(null==y?void 0:y.products)||G()}),[]);const G=()=>{A(!0),W(!0),E(a,D).then((t=>{Object.keys(t).length&&(b({type:"productsFetched",data:{collectionId:a,products:t}}),H(Object.assign(Object.assign({},z),{products:t}))),A(!1),W(!1)})).catch()},J=(t,e)=>{const o=S(e,y);P({type:t,data:Object.assign(Object.assign({},o),{isRestricted:V})})};return t("div",{children:[t(C,{children:[e(p,{Icon:i,height:16,onClick:()=>{T("collections")}}),e(f,Object.assign({style:{color:u.content.secondary}},{children:y.name}))]}),!B&&e("div",Object.assign({style:{padding:16,height:"76px",borderBottom:"1px solid #E0E0E0"}},{children:e(v,{noErrorHint:!0,rightIcon:{icon:()=>q&&R.length?e(g,{size:"small",color:u.content.primary}):e(c,{})},id:"listInput",height:"24px",type:"text",value:R,onChangeText:t=>{t.length&&t.trim().length&&U(t)},placeholder:"Search products in this collection..."})})),t("div",{children:[Object.keys((null==z?void 0:z.products)||[]).length>0&&!N&&!R.length&&!F&&t(O,{children:[e(h,{isChecked:!!(null==x?void 0:x[a]),isPartiallyChecked:(t=>{var e;let o=0,i=0;if(x[t]){const d=null==y?void 0:y.products;d&&Object.keys(d).forEach((t=>{var e;const i=null===(e=d[t])||void 0===e?void 0:e.variants;i&&Object.keys(i).forEach((t=>o+=1))}));const c=null===(e=x[t])||void 0===e?void 0:e.products;return c&&Object.keys(c).forEach((t=>{var e;const o=null===(e=c[t])||void 0===e?void 0:e.variants;o&&Object.keys(o).forEach((()=>i+=1))})),i>0&&o!==i}return!1})(a),onValueChange:function(t){P(t?{type:"selected",data:{id:a,val:y}}:{type:"unselected",data:{id:a}})}}),e("div",Object.assign({style:{width:40,height:40}},{children:e(d,{})})),e(j,{children:"All Products"})]}),Object.keys((null==z?void 0:z.products)||[]).length?Object.keys(z.products||[]).map((t=>e(w,{collectionId:a,isProductPartiallyChecked:_(t),productId:t,data:z.products[t],selectedData:x,selectedCollectionsDispatch:P,viewOnly:!!N,upliftAdditions:J,hideProductCheckbox:F},t))):q?[1,2,3,4,5,6,7,8,9,10].map(((t,o)=>e("div",Object.assign({style:{borderBottom:"1px solid #E0E0E0"}},{children:e(m,{boxes:[{height:"64px",width:"100%",marginTop:"0px"}]})}),o))):e(I,{title:"No products to show",subtitle:R.length?"We couldn't find the product you were looking for":"We couldn’t find any product in this collection."})]})]})},w=o=>{const{collectionId:i,productId:d,data:c,selectedData:l,selectedCollectionsDispatch:n,viewOnly:r,upliftAdditions:s,isProductPartiallyChecked:a,hideProductCheckbox:u}=o,h=t=>{var e,o,c,n,r,s;if(!(null===(o=null===(e=null==l?void 0:l[i])||void 0===e?void 0:e.products)||void 0===o?void 0:o[d]))return!1;return!!(null===(s=null===(r=null===(n=null===(c=null==l?void 0:l[i])||void 0===c?void 0:c.products)||void 0===n?void 0:n[d])||void 0===r?void 0:r.variants)||void 0===s?void 0:s[t])};return t("div",{children:[e(E,{isVariant:!1,data:c,productId:d,collectionId:i,isSelected:!!(null===(v=null===(p=null==l?void 0:l[i])||void 0===p?void 0:p.products)||void 0===v?void 0:v[d]),isPartiallyChecked:a,selectedCollectionsDispatch:n,upliftAdditions:s,viewOnly:r,hideProductCheckbox:u},d),Object.keys(c.variants||[]).map((t=>e(E,{isVariant:!0,data:c.variants[t],variantId:t,productId:d,viewOnly:r,upliftAdditions:s,collectionId:i,isSelected:h(t),selectedCollectionsDispatch:n},t)))]});var p,v},E=i=>{const{isVariant:d,data:c,productId:l,collectionId:n,variantId:r,isSelected:s,selectedCollectionsDispatch:u,viewOnly:p,upliftAdditions:v,isPartiallyChecked:m,hideProductCheckbox:g}=i,f=c;return t(x,Object.assign({isVariant:d},{children:[g||p?e(o,{}):e(h,{isChecked:s,isPartiallyChecked:m||!1,onValueChange:function(t){d?t?v("variantSelected",{productId:l,variantId:r,collectionId:n,variant:c}):u({type:"variantUnselected",data:{productId:l,variantId:r,collectionId:n}}):t?v("productSelected",{productId:l,collectionId:n,product:c}):u({type:"productUnselected",data:{productId:l,collectionId:n}})}}),e("div",{children:e(y,{width:40,height:40,imageUrl:c.image,alt:"Item",borderRadius:4})}),t("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[e(j,{children:b(c.name,40,!0)}),0===(null==f?void 0:f.quantity)||-2===(null==f?void 0:f.quantity)?e("div",Object.assign({style:{width:90}},{children:e(a,{tagText:"Out of stock",type:"warning"})})):e(o,{})]}))]}))};export{E as ProductCard,w as ProductGroup,P as ProductsScreen};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikdotai/bik-component-library",
3
- "version": "0.0.331-discount-modal-beta-4",
3
+ "version": "0.0.331",
4
4
  "description": "Bik Component Library",
5
5
  "repository": {
6
6
  "type": "git",