@licklist/design 0.44.485-dev.0 → 0.44.485-dev.10

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 (43) hide show
  1. package/dist/customers/components/filter/CustomerFilter.d.ts +1 -2
  2. package/dist/customers/components/filter/CustomerFilter.d.ts.map +1 -1
  3. package/dist/customers/components/filter/CustomerFilter.js +1 -1
  4. package/dist/events/event-venue-map/components/MapPoint/MapPoint.js +1 -1
  5. package/dist/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.d.ts +2 -1
  6. package/dist/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.d.ts.map +1 -1
  7. package/dist/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.js +1 -1
  8. package/dist/iframe/event/event-card/IframeEventCard.js +1 -1
  9. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts +5 -0
  10. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts.map +1 -1
  11. package/dist/iframe/payment/order-items-table/hooks/useTableData.js +1 -1
  12. package/dist/iframe/payment/order-items-table/utils/index.d.ts +6 -1
  13. package/dist/iframe/payment/order-items-table/utils/index.d.ts.map +1 -1
  14. package/dist/iframe/payment/order-items-table/utils/index.js +1 -1
  15. package/dist/iframe/payment/payment-page/PaymentPage.d.ts.map +1 -1
  16. package/dist/iframe/payment/payment-page/PaymentPage.js +1 -1
  17. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.d.ts +3 -2
  18. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.d.ts.map +1 -1
  19. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.js +1 -1
  20. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  21. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  22. package/dist/sales/booking/filter/components/AdditionalFIlterSection.js +1 -1
  23. package/dist/sales/guest-profile/previous-bookings/PreviousBookings.d.ts +3 -2
  24. package/dist/sales/guest-profile/previous-bookings/PreviousBookings.d.ts.map +1 -1
  25. package/dist/sales/guest-profile/previous-bookings/PreviousBookings.js +1 -1
  26. package/dist/sales/manual-booking/select-date-type-control/SelectDateTypeControl.js +1 -1
  27. package/dist/styles/customers/Filter.scss +23 -4
  28. package/package.json +1 -1
  29. package/src/customers/components/filter/CustomerFilter.stories.tsx +1 -2
  30. package/src/customers/components/filter/CustomerFilter.tsx +3 -5
  31. package/src/events/event-venue-map/components/MapPoint/MapPoint.tsx +2 -2
  32. package/src/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.tsx +8 -0
  33. package/src/iframe/event/event-card/IframeEventCard.tsx +1 -1
  34. package/src/iframe/payment/order-items-table/OrderItemsTable.stories.tsx +2 -0
  35. package/src/iframe/payment/order-items-table/hooks/useTableData.tsx +21 -14
  36. package/src/iframe/payment/order-items-table/utils/index.ts +36 -11
  37. package/src/iframe/payment/payment-page/PaymentPage.tsx +3 -1
  38. package/src/iframe/payment/payment-status-page/PaymentStatusPage.tsx +9 -3
  39. package/src/product-set/form/ProductCategoriesControl.tsx +4 -1
  40. package/src/sales/guest-profile/previous-bookings/PreviousBookings.stories.tsx +35 -5
  41. package/src/sales/guest-profile/previous-bookings/PreviousBookings.tsx +11 -3
  42. package/src/sales/manual-booking/select-date-type-control/SelectDateTypeControl.tsx +1 -1
  43. package/src/styles/customers/Filter.scss +23 -4
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  declare type CustomerFilterValues = {
3
- first_name: string;
4
- last_name: string;
3
+ name: string;
5
4
  email: string;
6
5
  phone: string;
7
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerFilter.d.ts","sourceRoot":"","sources":["../../../../src/customers/components/filter/CustomerFilter.tsx"],"names":[],"mappings":";AAKA,aAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,cAAc,yBAA0B,mBAAmB,gBAyBvE,CAAC"}
1
+ {"version":3,"file":"CustomerFilter.d.ts","sourceRoot":"","sources":["../../../../src/customers/components/filter/CustomerFilter.tsx"],"names":[],"mappings":";AAKA,aAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAQF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,cAAc,yBAA0B,mBAAmB,gBAyBvE,CAAC"}
@@ -1 +1 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=e(require("react")),a=require("react-i18next"),s=require("../../../static/TextField.js"),i=e(require("clsx")),n={first_name:"firstName",last_name:"lastName",email:"email",phone:"phone"};exports.CustomerFilter=function(e){var l=e.values,u=e.onChange,c=a.useTranslation(["Design"]).t;return r.createElement("div",{className:"customers-filter d-flex"},r.createElement("div",{className:"d-flex customers-filter-items"},Object.keys(n).map((function(e){var a=c(n[e]);return r.createElement(s.TextField,{key:e,className:i("mb-0"),type:"text",label:a,value:l[e],onChange:function(r){var a;return u(t.__assign(t.__assign({},l),((a={})[e]=r.target.value,a)))}})}))))};
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=e(require("react")),a=require("react-i18next"),n=require("../../../static/TextField.js"),s=e(require("clsx")),i={name:"name",email:"email",phone:"phone"};exports.CustomerFilter=function(e){var l=e.values,u=e.onChange,c=a.useTranslation(["Design"]).t;return r.createElement("div",{className:"customers-filter d-flex"},r.createElement("div",{className:"d-flex customers-filter-items"},Object.keys(i).map((function(e){var a=c(i[e]);return r.createElement(n.TextField,{key:e,className:s("mb-0","col-4","customer-filter"),type:"text",label:a,value:l[e],onChange:function(r){var a;return u(t.__assign(t.__assign({},l),((a={})[e]=r.target.value,a)))}})}))))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,o=require("tslib"),n=require("react"),t=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/plugins/dist/context/event/EventVenueMapContext"),r=require("react-konva"),u=require("../../utils/index.js"),c=require("./components/PointIcon/PointIcon.js"),d=require("./components/ProductIcon/ProductIcon.js");exports.MapPoint=function(e){var s=e.xCoordinate,l=e.yCoordinate,a=e.id,f=e.imageOffsetX,p=e.imageOffsetY,v=e.imageScale,P=e.localId,m=e.pointNumber,I=e.changeCursorType,x=e.usedInIframe,C=e.choosedProductUuids,M=void 0===C?[]:C,g=e.errorOnChoosedProductUuids,E=void 0===g?[]:g,O=e.isSoldOut,h=n.useContext(i.EventVenueMapContext),y=h.setActiveElementKey,b=h.activeElementKey,q=h.setMapPoints,U=h.editMode,j=h.mapPointProducts,B=o.__read(u.calculatePointsCoordinates(s,l,{imageScale:v,imageOffsetX:f,imageOffsetY:p}),2),S=B[0],_=B[1],k=String(a||P),A=k===b,K=j.find((function(e){return a&&e.pointId&&e.pointId===a})),N=Boolean(j.find((function(e){return M.includes(null==e?void 0:e.productUuid)&&M.includes(null==K?void 0:K.productUuid)}))),T=Boolean(j.find((function(e){return E.includes(null==e?void 0:e.productUuid)&&E.includes(null==K?void 0:K.productUuid)}))),V=function(e){e.cancelBubble=!0,A||O||(y(k),q((function(e){var o=e.slice(),n=o.find((function(e){return e.id===a||(null==e?void 0:e.localId)===P})),t=o.indexOf(n);return o.splice(t,1),o.push(n),o})))};return t.createElement(r.Group,{onClick:V,onTap:V,onMouseEnter:function(){I("pointer")},onMouseLeave:function(){I()}},x?t.createElement(d.ProductIcon,{x:S,y:_,hasProduct:Boolean(K),isActive:A,isProductChoosed:N,isErrorOnChoosedProduct:T}):t.createElement(c.PointIcon,{x:S,y:_,isActive:A,hasProduct:Boolean(K),pointNumber:m,onDelete:function(){y(),I(),q((function(e){return u.removeMapPointFromPoints(e,a,P)}))},editMode:U}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,o=require("tslib"),n=require("react"),t=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/plugins/dist/context/event/EventVenueMapContext"),r=require("react-konva"),u=require("../../utils/index.js"),c=require("./components/PointIcon/PointIcon.js"),d=require("./components/ProductIcon/ProductIcon.js");exports.MapPoint=function(e){var s=e.xCoordinate,l=e.yCoordinate,a=e.id,f=e.imageOffsetX,p=e.imageOffsetY,v=e.imageScale,m=e.localId,P=e.pointNumber,I=e.changeCursorType,x=e.usedInIframe,C=e.choosedProductUuids,M=void 0===C?[]:C,O=e.errorOnChoosedProductUuids,g=void 0===O?[]:O,E=e.isSoldOut,y=n.useContext(i.EventVenueMapContext),b=y.setActiveElementKey,h=y.activeElementKey,q=y.setMapPoints,U=y.editMode,j=y.mapPointProducts,S=o.__read(u.calculatePointsCoordinates(s,l,{imageScale:v,imageOffsetX:f,imageOffsetY:p}),2),B=S[0],_=S[1],k=String(a||m),A=k===h,K=j.find((function(e){return a&&e.pointId&&e.pointId===a})),N=Boolean(j.find((function(e){return M.includes(null==e?void 0:e.productUuid)&&M.includes(null==K?void 0:K.productUuid)}))),T=Boolean(j.find((function(e){return g.includes(null==e?void 0:e.productUuid)&&g.includes(null==K?void 0:K.productUuid)}))),V=function(e){e.cancelBubble=!0,A||E||(b(k),q((function(e){var o=e.slice(),n=o.find((function(e){return e.id===a||(null==e?void 0:e.localId)===m})),t=o.indexOf(n);return o.splice(t,1),o.push(n),o})))};return t.createElement(r.Group,{onClick:V,onTap:V,onMouseEnter:function(){I("pointer")},onMouseLeave:function(){I()}},x?t.createElement(d.ProductIcon,{x:B,y:_,isSoldOut:E,isActive:A,isProductChoosed:N,isErrorOnChoosedProduct:T}):t.createElement(c.PointIcon,{x:B,y:_,isActive:A,hasProduct:!E&&Boolean(K),pointNumber:P,onDelete:function(){b(),I(),q((function(e){return u.removeMapPointFromPoints(e,a,m)}))},editMode:U}))};
@@ -5,8 +5,9 @@ export declare type ProductIconProps = KonvaNodeEvents & Konva.ShapeConfig & {
5
5
  x: number;
6
6
  y: number;
7
7
  isActive?: boolean;
8
+ isSoldOut?: boolean;
8
9
  isErrorOnChoosedProduct: boolean;
9
10
  isProductChoosed: boolean;
10
11
  };
11
- export declare const ProductIcon: ({ x, y, isActive, isErrorOnChoosedProduct, isProductChoosed, }: ProductIconProps) => JSX.Element;
12
+ export declare const ProductIcon: ({ x, y, isActive, isSoldOut, isErrorOnChoosedProduct, isProductChoosed, }: ProductIconProps) => JSX.Element;
12
13
  //# sourceMappingURL=ProductIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAQ,eAAe,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B,oBAAY,gBAAgB,GAAG,eAAe,GAC5C,KAAK,CAAC,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAkBJ,eAAO,MAAM,WAAW,mEAMrB,gBAAgB,gBAyFlB,CAAC"}
1
+ {"version":3,"file":"ProductIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAQ,eAAe,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,oBAAY,gBAAgB,GAAG,eAAe,GAC5C,KAAK,CAAC,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAkBJ,eAAO,MAAM,WAAW,8EAOrB,gBAAgB,gBA8FlB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o,t=require("tslib"),e=require("react"),r=(o=e)&&"object"==typeof o&&"default"in o?o.default:o,n=require("react-konva"),i="#FFFFFF",a="#FFFFFF80",c="#0E8CE2",l=function(o,t){void 0===t&&(t=!1);var e=document.getElementById("snippet-template-context");if(e){var r=getComputedStyle(e).getPropertyValue(o);return!r||r&&!t?r:"".concat(r,"80")}};exports.ProductIcon=function(o){var p,d,s=o.x,u=o.y,v=o.isActive,C=o.isErrorOnChoosedProduct,F=o.isProductChoosed,f=e.useMemo((function(){return{pointBackgroundColor:l("--snippet-canvas-point-background-color")||i,pointBorderColor:l("--snippet-canvas-point-border-color",!0)||a,pointFontColor:l("--snippet-canvas-point-font-color")||c,activePointBackgroundColor:l("--snippet-canvas-active-point-background-color")||c,activePointBorderColor:l("--snippet-canvas-active-point-border-color",!0)||a,activePointFontColor:l("--snippet-canvas-active-point-font-color")||i}}),[v,C,F]);return r.createElement(n.Group,{x:s,y:u},r.createElement(n.Circle,t.__assign({radius:14,strokeWidth:2,x:0,y:-21},(p=f.pointBackgroundColor,d=f.pointBorderColor,v&&(d=f.activePointBorderColor),F&&(p=f.activePointBackgroundColor),C&&(d="#ff000080"),{fill:p,stroke:d}))),F?r.createElement(n.Path,{x:-7,y:-28,data:"M1.5 6L5.5 10L13.5 2",width:28,height:28,fill:f.activePointBackgroundColor,stroke:f.activePointFontColor,strokeWidth:3}):r.createElement(n.Path,{x:-7,y:-28,data:"M14 0C9.3569 0.6633 4.6431 0.6633 0 0L6 7V13H3V14H11V13H8V7L14 0Z",width:28,height:28,strokeWidth:1,fill:f.pointFontColor,stroke:f.pointFontColor}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var o,t=require("tslib"),e=require("react"),r=(o=e)&&"object"==typeof o&&"default"in o?o.default:o,n=require("react-konva"),i="#FFFFFF",a="#FFFFFF80",c="#0E8CE2",l="#878787",d=function(o,t){void 0===t&&(t=!1);var e=document.getElementById("snippet-template-context");if(e){var r=getComputedStyle(e).getPropertyValue(o);return!r||r&&!t?r:"".concat(r,"80")}};exports.ProductIcon=function(o){var p,s,u=o.x,v=o.y,C=o.isActive,F=o.isSoldOut,f=o.isErrorOnChoosedProduct,k=o.isProductChoosed,P=e.useMemo((function(){return{pointBackgroundColor:d("--snippet-canvas-point-background-color")||i,pointBorderColor:d("--snippet-canvas-point-border-color",!0)||a,pointFontColor:d("--snippet-canvas-point-font-color")||c,activePointBackgroundColor:d("--snippet-canvas-active-point-background-color")||c,activePointBorderColor:d("--snippet-canvas-active-point-border-color",!0)||a,activePointFontColor:d("--snippet-canvas-active-point-font-color")||i}}),[C,f,k]);return r.createElement(n.Group,{x:u,y:v},r.createElement(n.Circle,t.__assign({radius:14,strokeWidth:2,x:0,y:-21},(p=P.pointBackgroundColor,s=P.pointBorderColor,C&&(s=P.activePointBorderColor),k&&(p=P.activePointBackgroundColor),f&&(s="#ff000080"),F&&(s=l,p=l),{fill:p,stroke:s}))),k?r.createElement(n.Path,{x:-7,y:-28,data:"M1.5 6L5.5 10L13.5 2",width:28,height:28,fill:P.activePointBackgroundColor,stroke:P.activePointFontColor,strokeWidth:3}):r.createElement(n.Path,{x:-7,y:-28,data:"M14 0C9.3569 0.6633 4.6431 0.6633 0 0L6 7V13H3V14H11V13H8V7L14 0Z",width:28,height:28,strokeWidth:1,fill:P.pointFontColor,stroke:P.pointFontColor}))};
@@ -1 +1 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),a=require("react-i18next"),r=require("react-bootstrap"),i=e(require("clsx")),s=require("react-intl"),l=require("../../../tiptap-editor/TipTapEditor.js"),c=require("../../../events/event-card/utils.js"),n=require("../../../assets/iframe/clock.svg.js"),d=require("../../../assets/iframe/calendar.svg.js"),m=require("../../../assets/iframe/ticket.svg.js");exports.IframeEventCard=function(e){var o=e.title,p=e.type,v=e.cost,u=e.date,f=e.imageSrc,E=e.snippetSetting,N=void 0===E?{displayType:!0,displayCost:!0,displayDescription:!0}:E,g=e.colour,y=e.goToDetails,C=e.description,x=e.isListView,_=void 0!==x&&x,b=e.className,T=e.shortDate,w=e.titleId,q=e.descriptionId,j=s.useIntl().formatNumber,I=a.useTranslation("Design").t;return t.createElement(r.Card,{style:{"--card-colour":g},className:i("iframe-event-card",{"list-view":_},b),onClick:y?function(){y&&y()}:void 0},f&&t.createElement(r.Card.Img,{className:"card-image",variant:"top",as:"div",style:{backgroundImage:'url("'.concat(f,'")')}}),t.createElement(r.Card.Body,{className:i("d-flex","flex-column",!f&&"no-image")},t.createElement(r.Card.Title,{className:"iframe-event-card__title",id:w},o),t.createElement("div",{className:"flex-grow-1 iframe-event-card__description"},t.createElement(r.Card.Text,{as:"div"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(d.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0 list-view-hided"},u),t.createElement("p",{className:"iframe-event-card__bold m-0 grid-view-hided"},T))),p&&!!N.displayType&&t.createElement(r.Card.Text,{as:"div",className:"list-view-hided"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(n.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0"},p))),v&&!!N.displayCost&&t.createElement(r.Card.Text,{as:"div"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(m.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0"},I("from")," ",j(v,{style:"currency",currency:"GBP"})))),C&&!!N.displayDescription&&t.createElement(r.Card.Text,{as:"div",className:"list-view-hided"},t.createElement(l.TipTapEditor,{viewMode:!0,disabled:!0,content:c.formatContent(C,150),id:q})))))};
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),a=require("react-i18next"),r=require("react-bootstrap"),i=e(require("clsx")),s=require("react-intl"),l=require("../../../tiptap-editor/TipTapEditor.js"),c=require("../../../events/event-card/utils.js"),n=require("../../../assets/iframe/clock.svg.js"),d=require("../../../assets/iframe/calendar.svg.js"),m=require("../../../assets/iframe/ticket.svg.js");exports.IframeEventCard=function(e){var o=e.title,p=e.type,v=e.cost,u=e.date,f=e.imageSrc,E=e.snippetSetting,N=void 0===E?{displayType:!0,displayCost:!0,displayDescription:!0}:E,y=e.colour,g=e.goToDetails,C=e.description,b=e.isListView,x=void 0!==b&&b,_=e.className,T=e.shortDate,w=e.titleId,q=e.descriptionId,j=s.useIntl().formatNumber,I=a.useTranslation("Design").t;return t.createElement(r.Card,{style:{"--card-colour":y},className:i("iframe-event-card",{"list-view":x},_),onClick:g?function(){g&&g()}:void 0},f&&t.createElement(r.Card.Img,{className:"card-image",variant:"top",as:"div",style:{backgroundImage:'url("'.concat(f,'")')}}),t.createElement(r.Card.Body,{className:i("d-flex","flex-column",!f&&"no-image")},t.createElement(r.Card.Title,{className:"iframe-event-card__title",id:w},o),t.createElement("div",{className:"flex-grow-1 iframe-event-card__description"},t.createElement(r.Card.Text,{as:"div"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(d.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0 list-view-hided"},u),t.createElement("p",{className:"iframe-event-card__bold m-0 grid-view-hided"},T))),p&&!!N.displayType&&t.createElement(r.Card.Text,{as:"div",className:"list-view-hided"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(n.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0"},p))),"number"==typeof v&&!!N.displayCost&&t.createElement(r.Card.Text,{as:"div"},t.createElement("div",{className:"d-flex align-items-center mb-3"},t.createElement("div",{className:"icon-wrapper"},t.createElement(m.ReactComponent,null)),t.createElement("p",{className:"iframe-event-card__bold m-0"},I("from")," ",j(v,{style:"currency",currency:"GBP"})))),C&&!!N.displayDescription&&t.createElement(r.Card.Text,{as:"div",className:"list-view-hided"},t.createElement(l.TipTapEditor,{viewMode:!0,disabled:!0,content:c.formatContent(C,150),id:q})))))};
@@ -1,4 +1,9 @@
1
1
  import { StaticTableData } from "../../../../table";
2
2
  import { OrderItemsTableProps } from "../types";
3
+ export declare const PAYMENT_TYPE_TRANSLATE_KEYS: {
4
+ "net profit": string;
5
+ fee: string;
6
+ VAT: string;
7
+ };
3
8
  export declare const useTableData: ({ order, externalDiscount, isPaymentProcessed, paymentDetail, }: OrderItemsTableProps) => StaticTableData[];
4
9
  //# sourceMappingURL=useTableData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableData.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/order-items-table/hooks/useTableData.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,OAAO,EAAE,oBAAoB,EAAe,MAAM,UAAU,CAAC;AAS7D,eAAO,MAAM,YAAY,oEAKtB,oBAAoB,sBAgMtB,CAAC"}
1
+ {"version":3,"file":"useTableData.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/order-items-table/hooks/useTableData.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,OAAO,EAAE,oBAAoB,EAAe,MAAM,UAAU,CAAC;AAG7D,eAAO,MAAM,2BAA2B;;;;CAIvC,CAAC;AAEF,eAAO,MAAM,YAAY,oEAKtB,oBAAoB,sBAuMtB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r,t=require("tslib"),a=require("react"),n=(e=a)&&"object"==typeof e&&"default"in e?e.default:e,u=require("react-i18next"),i=require("lodash"),o=require("react-intl"),c=require("@licklist/core/dist/DataMapper/Order/PaymentDataMapper"),l=require("../utils/index.js"),s=((r={})[c.PAYMENT_TYPE_NET_PROFIT]="netAmount",r[c.PAYMENT_TYPE_FEE]="bookeditFee",r[c.PAYMENT_TYPE_VAT]="vat",r);exports.useTableData=function(e){var r=e.order,c=e.externalDiscount,d=e.isPaymentProcessed,_=void 0!==d&&d,y=e.paymentDetail,p=o.useIntl().formatNumber,m=u.useTranslation("Design").t,P=function(e){return p(e,{style:"currency",currency:"GBP"})},f=function(e){return n.createElement("div",{className:"label"},e)},A=function(e){var t,a;return{key:i.uniqueId("category-id-"),name:f(null!==(a=null===(t=e[0].productCategory)||void 0===t?void 0:t.name)&&void 0!==a?a:""),quantity:"",price:f("".concat(m("total"),": ").concat(P(l.getTotalSumByCategory(r.orderProducts,e))))}},T=function(e){var t=l.getProductQuantityAndPrice(r.orderProducts,e),a=t.quantity,u=t.price;return 0===a?null:{key:e.id,name:e.name,quantity:n.createElement("div",{className:"quantity"},n.createElement("div",{className:"multiplier"},"x"),a),price:P(u)}},v=function(){return _?function(){var e=l.calculateTotalPrice(r.orderProducts),a=l.calculateTotalDiscount(r.payments),n=e-Number(a),u=[{translateKey:"amountTotal",price:e}];return a&&u.push({translateKey:"amountWithDiscount",price:n<0?0:n}),y&&!r.payments.length?t.__spreadArray(t.__spreadArray([],t.__read(u),!1),t.__read(l.getExternalPaymentDetail(y)),!1):(u.push({translateKey:"totalPaid",price:n<=0?0:r.totalAmount}),n<=0||(u=t.__spreadArray(t.__spreadArray([],t.__read(u),!1),t.__read(Object.keys(s).map((function(e){return{translateKey:s[e],price:l.getPaymentValueByType(r.payments,e)}}))),!1),n>r.totalAmount&&u.push({translateKey:"remainingToPay",price:n-r.totalAmount})),u)}():(e=[{translateKey:"amountTotal",price:l.calculateTotalPrice(r.orderProducts)}],c&&e.push({price:c,translateKey:"amountWithDiscount"}),y?t.__spreadArray(t.__spreadArray([],t.__read(e),!1),t.__read(l.getExternalPaymentDetail(y)),!1):e);var e},g=a.useMemo((function(){return r?t.__spreadArray(t.__spreadArray([],t.__read(t.__spreadArray([],t.__read(new Set(r.products.map((function(e){return e.productCategoryId})))),!1).reduce((function(e,a){var n=r.products.filter((function(e){return e.productCategoryId===a}));if(!n.length)return e;var u=n.map(T).filter(Boolean);return u.length?t.__spreadArray(t.__spreadArray(t.__spreadArray([],t.__read(e),!1),[A(n)],!1),t.__read(u),!1):e}),[])),!1),t.__read(v().map((function(e){var r=e.translateKey,t=e.price;return{key:i.uniqueId("summary-info-".concat(r)),name:f(m(r)),quantity:"",price:f(P(t))}}))),!1):[]}),[r,c,_]);return g};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r,t=require("tslib"),a=require("react"),n=(e=a)&&"object"==typeof e&&"default"in e?e.default:e,u=require("react-i18next"),i=require("lodash"),o=require("react-intl"),c=require("@licklist/core/dist/DataMapper/Order/PaymentDataMapper"),l=require("../utils/index.js"),s=((r={})[c.PAYMENT_TYPE_NET_PROFIT]="netAmount",r[c.PAYMENT_TYPE_FEE]="bookeditFee",r[c.PAYMENT_TYPE_VAT]="vat",r);exports.PAYMENT_TYPE_TRANSLATE_KEYS=s,exports.useTableData=function(e){var r=e.order,c=e.externalDiscount,d=e.isPaymentProcessed,_=void 0!==d&&d,y=e.paymentDetail,p=o.useIntl().formatNumber,m=u.useTranslation("Design").t,P=function(e){return p(e,{style:"currency",currency:"GBP"})},A=function(e){return n.createElement("div",{className:"label"},e)},T=function(e){var t,a;return{key:i.uniqueId("category-id-"),name:A(null!==(a=null===(t=e[0].productCategory)||void 0===t?void 0:t.name)&&void 0!==a?a:""),quantity:"",price:A("".concat(m("total"),": ").concat(P(l.getTotalSumByCategory(r.orderProducts,e))))}},f=function(e){var t=l.getProductQuantityAndPrice(r.orderProducts,e),a=t.quantity,u=t.price;return 0===a?null:{key:e.id,name:e.name,quantity:n.createElement("div",{className:"quantity"},n.createElement("div",{className:"multiplier"},"x"),a),price:P(u)}},v=function(){return _?function(){var e=y&&!r.payments.length?l.getExternalPaymentDetail(y):Object.keys(s).map((function(e){return{translateKey:s[e],price:l.getPaymentValueByType(r.payments,e)}})),a=l.calculateTotalPrice(r,e),n=l.calculateTotalDiscount(r.payments),u=a-Number(n),i=[{translateKey:"amountTotal",price:a}];return n&&i.push({translateKey:"amountWithDiscount",price:u<0?0:u}),y&&!r.payments.length?t.__spreadArray(t.__spreadArray([],t.__read(i),!1),t.__read(e),!1):(i.push({translateKey:"totalPaid",price:u<=0?0:r.totalAmount}),u<=0||(i=t.__spreadArray(t.__spreadArray([],t.__read(i),!1),t.__read(e),!1),u>r.totalAmount&&i.push({translateKey:"remainingToPay",price:u-r.totalAmount})),i)}():(e=y?l.getExternalPaymentDetail(y):void 0,a=[{translateKey:"amountTotal",price:l.calculateTotalPrice(r,e)}],c&&a.push({price:c,translateKey:"amountWithDiscount"}),e?t.__spreadArray(t.__spreadArray([],t.__read(a),!1),t.__read(l.getExternalPaymentDetail(y)),!1):a);var e,a},E=a.useMemo((function(){return r?t.__spreadArray(t.__spreadArray([],t.__read(t.__spreadArray([],t.__read(new Set(r.products.map((function(e){return e.productCategoryId})))),!1).reduce((function(e,a){var n=r.products.filter((function(e){return e.productCategoryId===a}));if(!n.length)return e;var u=n.map(f).filter(Boolean);return u.length?t.__spreadArray(t.__spreadArray(t.__spreadArray([],t.__read(e),!1),[T(n)],!1),t.__read(u),!1):e}),[])),!1),t.__read(v().map((function(e){var r=e.translateKey,t=e.price;return{key:i.uniqueId("summary-info-".concat(r)),name:A(m(r)),quantity:"",price:A(P(t))}}))),!1):[]}),[r,c,_]);return E};
@@ -6,7 +6,11 @@ export declare enum PAYMENT_TYPE_TITLES {
6
6
  NET_PROFIT = "net profit",
7
7
  VAT = "VAT"
8
8
  }
9
- export declare const calculateTotalPrice: (orderProducts: Order["orderProducts"]) => number;
9
+ interface ExternalPaymnetDetail {
10
+ translateKey: string;
11
+ price: number;
12
+ }
13
+ export declare const calculateTotalPrice: (order: Order, externalPaymentDetails?: ExternalPaymnetDetail[]) => number;
10
14
  export declare const calculateTotalDiscount: (payments: Order["payments"]) => number;
11
15
  export declare const getProductQuantityAndPrice: (orderProducts: Order["orderProducts"], product: Product) => {
12
16
  price: number;
@@ -18,4 +22,5 @@ export declare const getExternalPaymentDetail: (paymentDetail: PaymentDetail) =>
18
22
  price: any;
19
23
  }[];
20
24
  export declare const getTotalSumByCategory: (orderProducts: Order["orderProducts"], products: Product[]) => number;
25
+ export {};
21
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/order-items-table/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,0DAA0D,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAS7F,oBAAY,mBAAmB;IAC7B,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,mBAAmB,kBAAmB,KAAK,CAAC,eAAe,CAAC,WAQxE,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,KAAK,CAAC,UAAU,CAAC,WAUjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBACtB,KAAK,CAAC,eAAe,CAAC,WAC5B,OAAO;;;CAMjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,KAAK,CAAC,UAAU,CAAC,oBACT,MAAM,WAiBzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,kBAAmB,aAAa;;;GAOpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBACjB,KAAK,CAAC,eAAe,CAAC,YAC3B,OAAO,EAAE,WAUpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/order-items-table/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,0DAA0D,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAS7F,oBAAY,mBAAmB;IAC7B,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,GAAG,QAAQ;CACZ;AAED,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,UACvB,KAAK,2BACa,qBAAqB,EAAE,WAsBjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,KAAK,CAAC,UAAU,CAAC,WAUjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBACtB,KAAK,CAAC,eAAe,CAAC,WAC5B,OAAO;;;CAMjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,KAAK,CAAC,UAAU,CAAC,oBACT,MAAM,WAkBzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,kBAAmB,aAAa;;;GAOpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBACjB,KAAK,CAAC,eAAe,CAAC,YAC3B,OAAO,EAAE,WAUpB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("@licklist/core/dist/DataMapper/Order/PaymentDataMapper"),n={totalAmount:"totalPaid",netAmount:"netAmount",fee:"bookeditFee",remainingToPay:"remainingToPay"};(t=exports.PAYMENT_TYPE_TITLES||(exports.PAYMENT_TYPE_TITLES={})).FEE="fee",t.NET_PROFIT="net profit",t.VAT="VAT";var r=function(t,e){var n,r=t.find((function(t){return t.productId===e.id}));return{price:null==r?void 0:r.price,quantity:null!==(n=null==r?void 0:r.quantity)&&void 0!==n?n:1}};exports.calculateTotalDiscount=function(t){var n,r=null!==(n=null==t?void 0:t.reduce((function(t,n){var r;return(null===(r=null==n?void 0:n.paymentType)||void 0===r?void 0:r.title)===e.PAYMENT_TYPE_DISCOUNT?t+Number(null==n?void 0:n.amount):t}),0))&&void 0!==n?n:0;return Math.abs(Number(r))},exports.calculateTotalPrice=function(t){var e;return null!==(e=null==t?void 0:t.reduce((function(t,e){var n;return t+(null!==(n=null==e?void 0:e.quantity)&&void 0!==n?n:1)*e.price}),0))&&void 0!==e?e:0},exports.getExternalPaymentDetail=function(t){return Object.keys(n).map((function(e){return{translateKey:n[e],price:t[e]}}))},exports.getPaymentValueByType=function(t,e){var n,r,u,i,o,l;return e===exports.PAYMENT_TYPE_TITLES.FEE?(null!==(r=null===(n=t.find((function(t){return t.paymentType.title===e})))||void 0===n?void 0:n.amount)&&void 0!==r?r:0)+(null!==(i=null===(u=t.find((function(t){return t.paymentType.title===exports.PAYMENT_TYPE_TITLES.VAT})))||void 0===u?void 0:u.amount)&&void 0!==i?i:0):null!==(l=null===(o=t.find((function(t){return t.paymentType.title===e})))||void 0===o?void 0:o.amount)&&void 0!==l?l:0},exports.getProductQuantityAndPrice=r,exports.getTotalSumByCategory=function(t,e){return e.reduce((function(e,n){var u=r(t,n),i=u.quantity;return e+u.price*i}),0)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("@licklist/core/dist/DataMapper/Order/PaymentDataMapper"),n=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),r=require("../hooks/useTableData.js"),u={totalAmount:"totalPaid",netAmount:"netAmount",fee:"bookeditFee"};(t=exports.PAYMENT_TYPE_TITLES||(exports.PAYMENT_TYPE_TITLES={})).FEE="fee",t.NET_PROFIT="net profit",t.VAT="VAT";var i=function(t,e){var n,r=t.find((function(t){return t.productId===e.id}));return{price:null==r?void 0:r.price,quantity:null!==(n=null==r?void 0:r.quantity)&&void 0!==n?n:1}};exports.calculateTotalDiscount=function(t){var n,r=null!==(n=null==t?void 0:t.reduce((function(t,n){var r;return(null===(r=null==n?void 0:n.paymentType)||void 0===r?void 0:r.title)===e.PAYMENT_TYPE_DISCOUNT?t+Number(null==n?void 0:n.amount):t}),0))&&void 0!==n?n:0;return Math.abs(Number(r))},exports.calculateTotalPrice=function(t,e){var u,i,o,l=null!==(i=null===(u=null==t?void 0:t.orderProducts)||void 0===u?void 0:u.reduce((function(t,e){var n;return t+(null!==(n=null==e?void 0:e.quantity)&&void 0!==n?n:1)*e.price}),0))&&void 0!==i?i:0;return(null==t?void 0:t.feeChargeType)===n.ORDER_FEE_CHARGE_TYPE_CLIENT&&e?l+((null===(o=e.find((function(t){return t.translateKey===r.PAYMENT_TYPE_TRANSLATE_KEYS.fee})))||void 0===o?void 0:o.price)||0):l},exports.getExternalPaymentDetail=function(t){return Object.keys(u).map((function(e){return{translateKey:u[e],price:t[e]}}))},exports.getPaymentValueByType=function(t,e){var n,r,u,i,o,l;return e===exports.PAYMENT_TYPE_TITLES.FEE?(null!==(r=null===(n=null==t?void 0:t.find((function(t){return t.paymentType.title===e})))||void 0===n?void 0:n.amount)&&void 0!==r?r:0)+(null!==(i=null===(u=null==t?void 0:t.find((function(t){return t.paymentType.title===exports.PAYMENT_TYPE_TITLES.VAT})))||void 0===u?void 0:u.amount)&&void 0!==i?i:0):null!==(l=null===(o=null==t?void 0:t.find((function(t){return t.paymentType.title===e})))||void 0===o?void 0:o.amount)&&void 0!==l?l:0},exports.getProductQuantityAndPrice=i,exports.getTotalSumByCategory=function(t,e){return e.reduce((function(e,n){var r=i(t,n),u=r.quantity;return e+r.price*u}),0)};
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-page/PaymentPage.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAI/F,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAKpC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAa,SAAQ,oBAAoB;IACjD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACrE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,kIAQrB,YAAY,gBAoHd,CAAC"}
1
+ {"version":3,"file":"PaymentPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-page/PaymentPage.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAI/F,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAKpC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAa,SAAQ,oBAAoB;IACjD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACrE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,kIAQrB,YAAY,gBAsHd,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),o=require("react"),a=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-router-dom"),n=require("../../../static/loader/LoaderIndicator.js"),m=require("react-i18next"),s=require("react-bootstrap");require("../../../static/index.js"),require("../../order-process/components/NavigationFooter/NavigationFooter.js");var i=require("../../page/components/PageHeader/PageHeader.js"),l=require("@licklist/plugins/dist/context/payment/PaymentSessionContext"),c=require("../../order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.js"),u=require("../../ryft/RyftPaymentForm.js"),d=require("../../order-process/components/BookingSummary/BookingSummary.js");require("../../order-process/components/NavigationSteps/NavigationSteps.js"),require("../../order-process/components/StepsForm/StepsForm.js"),require("../../order-process/components/Timer/Timer.js"),require("../../order-process/components/PaymentCard/PaymentCard.js");var p=require("../../order-process/components/BookingSummaryFooter/BookingSummaryFooter.js"),y=require("../../page/components/PageBody/PageBody.js");require("../../order-process/components/CalendarStepsForm/CalendarStepsForm.js");var g=require("./PaymentTimer.js"),f=require("../../page/Page.js");exports.PaymentPage=function(e){var B=e.onCloseIframePayment,P=e.onFailIframePayment,k=e.data,E=e.isLoading,S=e.bookingSummaryProps,q=e.paymentMetadata,j=t.__rest(e,["onCloseIframePayment","onFailIframePayment","data","isLoading","bookingSummaryProps","paymentMetadata"]),v=m.useTranslation("Design").t,x=r.useLocation().search,C=o.useContext(l.PaymentSessionContext).isPaymentSessionExpired,b=Boolean(new URLSearchParams(x).get("isIframePayment")),w=function(){window.close()};return o.useEffect((function(){b&&B&&window.addEventListener("beforeunload",(function(){B()}))}),[]),o.useEffect((function(){C&&b&&P&&P()}),[C]),E?a.createElement(n.LoaderIndicator,{isLoaded:!1}):null===k?a.createElement(f.Page,null,a.createElement(y.PageBody,{leftBlock:a.createElement(y.PageBody.LeftBlock,null,a.createElement("div",{className:"d-flex h-100 w-100 justify-content-center align-items-center flex-column"},a.createElement("h6",null,v("linkNotActiveOrExpired")),a.createElement(s.Col,{xs:12,md:3},a.createElement(s.Button,{className:"mt-5 w-20",onClick:function(){window.location.href="https://booked.it/"}},v("backToSite")))))})):a.createElement(f.Page,{className:"payment_link",headerBlock:a.createElement(i.PageHeader,{showBackButton:b,onBackButtonClick:b?w:void 0,showCloseButton:b,onCloseButtonClick:b?w:void 0},a.createElement(g.PaymentTimer,null),a.createElement("div",{className:"d-flex align-items-center justify-content-center w-100"},v("paymentDetails")))},a.createElement(y.PageBody,{leftBlock:a.createElement(y.PageBody.LeftBlock,null,a.createElement(u.RyftPaymentForm,t.__assign({},j))),rightBlock:a.createElement(y.PageBody.RightBlock,{bottomBlock:a.createElement(p.BookingSummaryFooter,{showButton:!1},a.createElement("div",{className:"d-flex flex-column justify-content-between"},q&&a.createElement(a.Fragment,null,a.createElement(c.SummaryTotalBlock,{label:v("total"),amount:q.total||0}),a.createElement(c.SummaryTotalBlock,{label:v("paidSum"),amount:q.paid||0})),a.createElement(c.SummaryTotalBlock,{label:v(q?"remaining":"total"),amount:(null==k?void 0:k.amount)||0})))},a.createElement("h6",null,v("paymentDetails")),a.createElement(d.BookingSummary,t.__assign({},S)))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),o=require("react"),a=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,r=require("react-router-dom"),n=require("../../../static/loader/LoaderIndicator.js"),m=require("react-i18next"),s=require("react-bootstrap");require("../../../static/index.js"),require("../../order-process/components/NavigationFooter/NavigationFooter.js");var i=require("../../page/components/PageHeader/PageHeader.js"),l=require("@licklist/plugins/dist/context/payment/PaymentSessionContext"),c=require("../../order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.js"),u=require("../../ryft/RyftPaymentForm.js"),d=require("../../order-process/components/BookingSummary/BookingSummary.js");require("../../order-process/components/NavigationSteps/NavigationSteps.js"),require("../../order-process/components/StepsForm/StepsForm.js"),require("../../order-process/components/Timer/Timer.js"),require("../../order-process/components/PaymentCard/PaymentCard.js");var p=require("../../order-process/components/BookingSummaryFooter/BookingSummaryFooter.js"),y=require("../../page/components/PageBody/PageBody.js");require("../../order-process/components/CalendarStepsForm/CalendarStepsForm.js");var g=require("./PaymentTimer.js"),f=require("../../page/Page.js");exports.PaymentPage=function(e){var B=e.onCloseIframePayment,P=e.onFailIframePayment,k=e.data,E=e.isLoading,S=e.bookingSummaryProps,q=e.paymentMetadata,j=t.__rest(e,["onCloseIframePayment","onFailIframePayment","data","isLoading","bookingSummaryProps","paymentMetadata"]),v=m.useTranslation("Design").t,x=r.useLocation().search,C=o.useContext(l.PaymentSessionContext).isPaymentSessionExpired,F=Boolean(new URLSearchParams(x).get("isIframePayment")),b=function(){window.close()};return o.useEffect((function(){F&&B&&window.addEventListener("beforeunload",(function(){B()}))}),[]),o.useEffect((function(){C&&F&&P&&P()}),[C]),E?a.createElement(n.LoaderIndicator,{isLoaded:!1}):null===k?a.createElement(f.Page,null,a.createElement(y.PageBody,{leftBlock:a.createElement(y.PageBody.LeftBlock,null,a.createElement("div",{className:"d-flex h-100 w-100 justify-content-center align-items-center flex-column"},a.createElement("h6",null,v("linkNotActiveOrExpired")),a.createElement(s.Col,{xs:12,md:3},a.createElement(s.Button,{className:"mt-5 w-20",onClick:function(){window.location.href="https://booked.it/"}},v("backToSite")))))})):a.createElement(f.Page,{className:"payment_link",headerBlock:a.createElement(i.PageHeader,{showBackButton:F,onBackButtonClick:F?b:void 0,showCloseButton:F,onCloseButtonClick:F?b:void 0},a.createElement(g.PaymentTimer,null),a.createElement("div",{className:"d-flex align-items-center justify-content-center w-100"},v("paymentDetails")))},a.createElement(y.PageBody,{leftBlock:a.createElement(y.PageBody.LeftBlock,null,a.createElement(u.RyftPaymentForm,t.__assign({},j))),rightBlock:a.createElement(y.PageBody.RightBlock,{bottomBlock:a.createElement(p.BookingSummaryFooter,{showButton:!1},a.createElement("div",{className:"d-flex flex-column justify-content-between"},q&&a.createElement(a.Fragment,null,a.createElement(c.SummaryTotalBlock,{label:v("total"),amount:q.total||0}),a.createElement(c.SummaryTotalBlock,{label:v("paidSum"),amount:q.paid||0})),a.createElement(c.SummaryTotalBlock,{label:v(q?"remaining":"total"),amount:(null==k?void 0:k.amount)+((null==S?void 0:S.transactionFee)||0)})))},a.createElement("h6",null,v("paymentDetails")),a.createElement(d.BookingSummary,t.__assign({},S)))}))};
@@ -12,11 +12,12 @@ interface PaymentStatusComponentProps {
12
12
  isLoading?: boolean;
13
13
  status: OrderStatusPrefix;
14
14
  isAppUsingInIframe?: boolean;
15
- bookingSummaryProps?: BookingSummaryProps;
15
+ transactionFee?: number;
16
+ bookingSummaryProps?: Omit<BookingSummaryProps, "transactionFee">;
16
17
  EventCardComponent?: ReactNode;
17
18
  showCloseButton?: boolean;
18
19
  email?: string;
19
20
  }
20
- export declare const PaymentStatusPage: ({ onCloseWindow, onBack, onTryAgain, totalAmount, isLoading, status, isAppUsingInIframe, bookingSummaryProps, EventCardComponent, showCloseButton, email, }: PaymentStatusComponentProps) => JSX.Element;
21
+ export declare const PaymentStatusPage: ({ onCloseWindow, onBack, onTryAgain, totalAmount, isLoading, status, transactionFee, isAppUsingInIframe, bookingSummaryProps, EventCardComponent, showCloseButton, email, }: PaymentStatusComponentProps) => JSX.Element;
21
22
  export {};
22
23
  //# sourceMappingURL=PaymentStatusPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-status-page/PaymentStatusPage.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAE1F,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,oBAAY,iBAAiB,GACzB,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,eAAO,MAAM,iBAAiB,gKAY3B,2BAA2B,gBA2E7B,CAAC"}
1
+ {"version":3,"file":"PaymentStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-status-page/PaymentStatusPage.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAE1F,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,oBAAY,iBAAiB,GACzB,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAClE,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,eAAO,MAAM,iBAAiB,gLAa3B,2BAA2B,gBA+E7B,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,o=require("tslib"),r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,a=require("../../../static/loader/LoaderIndicator.js"),n=require("react-i18next");require("../../order-process/components/NavigationFooter/NavigationFooter.js"),require("../../page/components/PageHeader/PageHeader.js");var s=require("../payment-status-header/PaymentStatusHeader.js"),m=require("../../order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.js");require("../../order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.js");var i=require("../../order-process/components/BookingSummary/BookingSummary.js");require("../../order-process/components/NavigationSteps/NavigationSteps.js"),require("../../order-process/components/StepsForm/StepsForm.js"),require("../../order-process/components/Timer/Timer.js"),require("../../order-process/components/PaymentCard/PaymentCard.js");var u=require("../../order-process/components/BookingSummaryFooter/BookingSummaryFooter.js"),c=require("../../page/components/PageBody/PageBody.js");require("../../order-process/components/CalendarStepsForm/CalendarStepsForm.js");var l=require("../../page/Page.js"),p=require("./component/PaymentStatusBody.js"),d="failed",g="success",y="pending";exports.ORDER_STATUS_FAILED=d,exports.ORDER_STATUS_PENDING=y,exports.ORDER_STATUS_SUCCESS=g,exports.PaymentStatusPage=function(e){var r=e.onCloseWindow,S=e.onBack,B=e.onTryAgain,P=e.totalAmount,k=e.isLoading,E=e.status,q=e.isAppUsingInIframe,j=e.bookingSummaryProps,v=e.EventCardComponent,T=e.showCloseButton,f=void 0!==T&&T,C=e.email,h=n.useTranslation("Design").t,F=function(){switch(E){case g:return h("purchaseSuccessful");case y:return h("pendingPayment");default:return h("purchaseFailed")}}();return k?t.createElement(a.LoaderIndicator,{isLoaded:!1}):t.createElement(l.Page,{className:"payment-status-page",headerBlock:t.createElement(s.PaymentStatusHeader,{success:E!==d,showCloseButton:f,onCloseButtonClick:r,title:E===y?h("pendingPayment"):void 0}),isAppUsingInIframe:q},t.createElement(c.PageBody,{leftBlock:t.createElement(c.PageBody.LeftBlock,{title:F},t.createElement("div",null,v,t.createElement(p.PaymentStatusBody,{status:E,onBack:S||r,onTryAgain:B,email:C}))),rightBlock:t.createElement(c.PageBody.RightBlock,{bottomBlock:t.createElement(u.BookingSummaryFooter,{showButton:!1},(null==j?void 0:j.formValues)?t.createElement(i.BookingSummary.SummaryTotal,{formValues:null==j?void 0:j.formValues}):t.createElement(m.SummaryTotalBlock,{label:h("total"),amount:P||0}))},j?t.createElement(i.BookingSummary,o.__assign({},j)):t.createElement("h6",null,F))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,o=require("tslib"),r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,a=require("../../../static/loader/LoaderIndicator.js"),n=require("react-i18next");require("../../order-process/components/NavigationFooter/NavigationFooter.js"),require("../../page/components/PageHeader/PageHeader.js");var s=require("../payment-status-header/PaymentStatusHeader.js"),m=require("../../order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.js");require("../../order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.js");var i=require("../../order-process/components/BookingSummary/BookingSummary.js");require("../../order-process/components/NavigationSteps/NavigationSteps.js"),require("../../order-process/components/StepsForm/StepsForm.js"),require("../../order-process/components/Timer/Timer.js"),require("../../order-process/components/PaymentCard/PaymentCard.js");var u=require("../../order-process/components/BookingSummaryFooter/BookingSummaryFooter.js"),c=require("../../page/components/PageBody/PageBody.js");require("../../order-process/components/CalendarStepsForm/CalendarStepsForm.js");var l=require("../../page/Page.js"),p=require("./component/PaymentStatusBody.js"),d="failed",g="success",y="pending";exports.ORDER_STATUS_FAILED=d,exports.ORDER_STATUS_PENDING=y,exports.ORDER_STATUS_SUCCESS=g,exports.PaymentStatusPage=function(e){var r=e.onCloseWindow,S=e.onBack,B=e.onTryAgain,P=e.totalAmount,k=e.isLoading,E=e.status,q=e.transactionFee,j=void 0===q?0:q,v=e.isAppUsingInIframe,T=e.bookingSummaryProps,f=e.EventCardComponent,F=e.showCloseButton,C=void 0!==F&&F,h=e.email,_=n.useTranslation("Design").t,A=function(){switch(E){case g:return _("purchaseSuccessful");case y:return _("pendingPayment");default:return _("purchaseFailed")}}();return k?t.createElement(a.LoaderIndicator,{isLoaded:!1}):t.createElement(l.Page,{className:"payment-status-page",headerBlock:t.createElement(s.PaymentStatusHeader,{success:E!==d,showCloseButton:C,onCloseButtonClick:r,title:E===y?_("pendingPayment"):void 0}),isAppUsingInIframe:v},t.createElement(c.PageBody,{leftBlock:t.createElement(c.PageBody.LeftBlock,{title:A},t.createElement("div",null,f,t.createElement(p.PaymentStatusBody,{status:E,onBack:S||r,onTryAgain:B,email:h}))),rightBlock:t.createElement(c.PageBody.RightBlock,{bottomBlock:t.createElement(u.BookingSummaryFooter,{showButton:!1},(null==T?void 0:T.formValues)?t.createElement(i.BookingSummary.SummaryTotal,{formValues:null==T?void 0:T.formValues,transactionFee:j}):t.createElement(m.SummaryTotalBlock,{label:_("total"),amount:P+j||0}))},T?t.createElement(i.BookingSummary,o.__assign({},T,{transactionFee:j})):t.createElement("h6",null,A))}))};
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCategoriesControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductCategoriesControl.tsx"],"names":[],"mappings":";AAYA,OAAO,EAKL,YAAY,EACb,MAAM,kEAAkE,CAAC;AAQ1E,OAAO,EAAwB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQvE,UAAU,6BAA8B,SAAQ,aAAa;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,GACV,EAAE,6BAA6B,eAsR/B;AAED,eAAO,MAAM,cAAc,iBACX,YAAY,SACnB,MAAM;WACH,MAAM;eAAa,MAAM;CAcpC,CAAC"}
1
+ {"version":3,"file":"ProductCategoriesControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductCategoriesControl.tsx"],"names":[],"mappings":";AAYA,OAAO,EAKL,YAAY,EACb,MAAM,kEAAkE,CAAC;AAQ1E,OAAO,EAAwB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQvE,UAAU,6BAA8B,SAAQ,aAAa;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,GACV,EAAE,6BAA6B,eAyR/B;AAED,eAAO,MAAM,cAAc,iBACX,YAAY,SACnB,MAAM;WACH,MAAM;eAAa,MAAM;CAcpC,CAAC"}
@@ -1 +1 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),n=e(r),o=require("react-i18next"),i=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),l=require("@dnd-kit/core"),s=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),p=require("../item/CreateProductSetItem.js"),g=require("./context.js"),v=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),f=require("../product-category/ProductCategoryControl.js"),y=require("./ProductsControl.js"),C=require("./SelectCategoryModal.js"),E=require("./VenueMapSetModal.js"),_=require("../utils/index.js");var b=function(e,t){return e===v.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===v.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var I,S,q,T,x,P,N=e.isLoading,M=e.stepIndex,A=o.useTranslation("Design").t,h=r.useContext(g.ProductSetLoadingContext),k=h.providerHasMap,j=h.expandedProductCategories,D=h.setExpandedProductCategories,R=a.useFormContext(),V=t.__read(r.useState(!1),2),Y=V[0],F=V[1],O=t.__read(r.useState(!1),2),B=O[0],L=O[1],w=t.__read(r.useState(!1),2),G=w[0],H=w[1],Q=R.control,U=R.formState.errors,K=R.clearErrors,z=R.watch,W=R.trigger,X=R.getValues,J=R.setValue,Z=z("steps.".concat(M,".hasMap"))||!1,$="steps.".concat(M,".productCategories"),ee=a.useFieldArray({name:$,control:Q,keyName:"_id"}),te=ee.fields,re=ee.append,ne=ee.remove,oe=t.__read(r.useState({}),2),ie=oe[0],ae=oe[1],ue=a.useWatch({control:Q,name:$}),de=null===(S=null===(I=null==U?void 0:U.steps)||void 0===I?void 0:I[M])||void 0===S?void 0:S.productCategories,le=null===(T=null===(q=null==U?void 0:U.steps)||void 0===q?void 0:q[M])||void 0===T?void 0:T.venueMapSetId,se=null===(P=null===(x=null==U?void 0:U.steps)||void 0===x?void 0:x[M])||void 0===P?void 0:P.pointProducts,ce=Boolean(le||se),me=l.useSensor(l.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){ue&&ue.length&&ue.forEach((function(e){var r,n,o=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),i=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+Number(t.totalQuantity)}),0);ae((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:o,quantity:i},n))}))}))}),[ue]),r.useEffect((function(){1===te.length&&D((function(e){var r,n,o;return t.__assign(t.__assign({},e),((r={})[String((null===(n=te[0])||void 0===n?void 0:n.id)||(null===(o=te[0])||void 0===o?void 0:o.uniqueId))]=!0,r))}))}),[te]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[me],items:te.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=te.findIndex((function(e){return e._id===t.id})),o=te.findIndex((function(e){return e._id===r.id}));if(n!==o){var i=X($);if(i){var a=_.sortArrayByIndex(_.moveArrayElements(i,n,o));J($,a)}}}}},te.map((function(e,r){var o=(null==e?void 0:e.id)?String(e.id):e.uniqueId,u=function(){!function(e){D((function(r){var n;return t.__assign(t.__assign({},r),((n={})[e]=!r[e],n))}))}(o)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat($,".").concat(r,".name"),control:Q,rules:{required:A("Validation:fieldRequired",{attribute:A("name")})},render:function(t){var a,d,l,s=t.field,p=s.value,g=s.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:p,isExpanded:j[o],setIsExpanded:u,isInvalid:!!de,badge:n.createElement(i.Badge,{className:"category-badge"},A("productCategory")),isIconInHeader:!1,subTitle:n.createElement("div",{className:"product-set-badges-container"},n.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-category-dot"}),n.createElement("span",null,null!==(l=null===(d=ie[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===d?void 0:d.quantity)&&void 0!==l?l:"N/A"," ",A("products"))),treeLineIconColor:"#1A93AA",modalLabel:A("addNewCategory"),secondaryBadge:b(e.type,A(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:G,body:n.createElement(f.ProductCategoryControl,{isLoading:N,onCategoryNameChange:g,categoryName:p,stepIndex:M,productCategoryIndex:r}),onDelete:function(){return ne(r)},validate:function(){return W("steps.".concat(M,".productCategories.").concat(r))},sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(y.ProductsControl,{isLoading:N,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,productCategoryIndex:r,categoryType:e.type}))}})}))),n.createElement(p.CreateProductSetItem,{title:A("addCategory"),onClick:function(){F(!0)}}),n.createElement(C.SelectCategoryModal,{isVisible:Y,onHide:function(){return F(!1)},onCategorySelect:function(e){re(function(e,t){return{id:null,uniqueId:s.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:v.QUANTITY_TYPE_STANDARD,type:e,isRelyOnPeople:e===v.CATEGORY_TYPE_TICKETS,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===v.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,te.length)),H(!0),(null==de?void 0:de.type)===u.manualErrorType&&K($)}}),k&&Z&&n.createElement(n.Fragment,null,n.createElement(p.CreateProductSetItem,{title:A("editMap"),onClick:function(){L(!0)},className:d("mt-3",ce&&"mb-3",ce&&"is-invalid")}),ce&&n.createElement("div",{className:"manual-form-error"},le&&A("Validation:fieldRequired",{attribute:A("Design:venueMapSet")}),se&&A("Validation:fieldMinNumber",{attribute:A("pointProduct"),min:1})),n.createElement(E.VenueMapSetModal,{isVisible:B,setIsVisible:L,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},de&&de.message))},exports.getBadgeConfig=b;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),n=e(r),o=require("react-i18next"),i=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),l=require("@dnd-kit/core"),s=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),p=require("../item/CreateProductSetItem.js"),g=require("./context.js"),v=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),f=require("../product-category/ProductCategoryControl.js"),y=require("./ProductsControl.js"),C=require("./SelectCategoryModal.js"),E=require("./VenueMapSetModal.js"),_=require("../utils/index.js");var b=function(e,t){return e===v.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===v.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var I,S,q,T,x,P,N=e.isLoading,M=e.stepIndex,A=o.useTranslation("Design").t,h=r.useContext(g.ProductSetLoadingContext),k=h.providerHasMap,j=h.expandedProductCategories,D=h.setExpandedProductCategories,R=a.useFormContext(),V=t.__read(r.useState(!1),2),Y=V[0],F=V[1],O=t.__read(r.useState(!1),2),B=O[0],L=O[1],w=t.__read(r.useState(!1),2),G=w[0],H=w[1],U=R.control,Q=R.formState.errors,K=R.clearErrors,z=R.watch,W=R.trigger,X=R.getValues,J=R.setValue,Z=z("steps.".concat(M,".hasMap"))||!1,$="steps.".concat(M,".productCategories"),ee=a.useFieldArray({name:$,control:U,keyName:"_id"}),te=ee.fields,re=ee.append,ne=ee.remove,oe=t.__read(r.useState({}),2),ie=oe[0],ae=oe[1],ue=a.useWatch({control:U,name:$}),de=null===(S=null===(I=null==Q?void 0:Q.steps)||void 0===I?void 0:I[M])||void 0===S?void 0:S.productCategories,le=null===(T=null===(q=null==Q?void 0:Q.steps)||void 0===q?void 0:q[M])||void 0===T?void 0:T.venueMapSetId,se=null===(P=null===(x=null==Q?void 0:Q.steps)||void 0===x?void 0:x[M])||void 0===P?void 0:P.pointProducts,ce=Boolean(le||se),me=l.useSensor(l.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){ue&&ue.length&&ue.forEach((function(e){var r,n,o=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),i=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+(t.isUnlimited?0:Number(t.totalQuantity))}),0);ae((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:o,quantity:i},n))}))}))}),[ue]),r.useEffect((function(){1===te.length&&D((function(e){var r,n,o;return t.__assign(t.__assign({},e),((r={})[String((null===(n=te[0])||void 0===n?void 0:n.id)||(null===(o=te[0])||void 0===o?void 0:o.uniqueId))]=!0,r))}))}),[te]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[me],items:te.map((function(e){return String(e._id)})),onDragEnd:function(e){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=te.findIndex((function(e){return e._id===t.id})),o=te.findIndex((function(e){return e._id===r.id}));if(n!==o){var i=X($);if(i){var a=_.sortArrayByIndex(_.moveArrayElements(i,n,o));J($,a)}}}}},te.map((function(e,r){var o=(null==e?void 0:e.id)?String(e.id):e.uniqueId,u=function(){!function(e){D((function(r){var n;return t.__assign(t.__assign({},r),((n={})[e]=!r[e],n))}))}(o)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat($,".").concat(r,".name"),control:U,rules:{required:A("Validation:fieldRequired",{attribute:A("name")})},render:function(t){var a,d,l,s=t.field,p=s.value,g=s.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:p,isExpanded:j[o],setIsExpanded:u,isInvalid:!!de,badge:n.createElement(i.Badge,{className:"category-badge"},A("productCategory")),isIconInHeader:!1,subTitle:n.createElement("div",{className:"product-set-badges-container"},n.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-category-dot"}),n.createElement("span",null,null!==(l=null===(d=ie[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===d?void 0:d.quantity)&&void 0!==l?l:"N/A"," ",A("products"))),treeLineIconColor:"#1A93AA",modalLabel:A("addNewCategory"),secondaryBadge:b(e.type,A(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:G,body:n.createElement(f.ProductCategoryControl,{isLoading:N,onCategoryNameChange:g,categoryName:p,stepIndex:M,productCategoryIndex:r}),onDelete:function(){return ne(r)},validate:function(){return W("steps.".concat(M,".productCategories.").concat(r))},sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(y.ProductsControl,{isLoading:N,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,productCategoryIndex:r,categoryType:e.type}))}})}))),n.createElement(p.CreateProductSetItem,{title:A("addCategory"),onClick:function(){F(!0)}}),n.createElement(C.SelectCategoryModal,{isVisible:Y,onHide:function(){return F(!1)},onCategorySelect:function(e){re(function(e,t){return{id:null,uniqueId:s.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:v.QUANTITY_TYPE_STANDARD,type:e,isRelyOnPeople:e===v.CATEGORY_TYPE_TICKETS,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===v.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,te.length)),H(!0),(null==de?void 0:de.type)===u.manualErrorType&&K($)}}),k&&Z&&n.createElement(n.Fragment,null,n.createElement(p.CreateProductSetItem,{title:A("editMap"),onClick:function(){L(!0)},className:d("mt-3",ce&&"mb-3",ce&&"is-invalid")}),ce&&n.createElement("div",{className:"manual-form-error"},le&&A("Validation:fieldRequired",{attribute:A("Design:venueMapSet")}),se&&A("Validation:fieldMinNumber",{attribute:A("pointProduct"),min:1})),n.createElement(E.VenueMapSetModal,{isVisible:B,setIsVisible:L,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},de&&de.message))},exports.getBadgeConfig=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),l=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),i=require("@licklist/plugins/dist/context/booking/BookingContext"),s=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),c=[s.ORDER_STATUS_PENDING,s.ORDER_STATUS_CANCELLED,s.ORDER_STATUS_COMPLETED,s.ORDER_STATUS_ACTION_REQUIRED];exports.AdditionalFilterSection=function(){var e=n.useTranslation("Design").t,s=r.useContext(i.BookingContext),m=s.filters,u=s.setFilters,E=a.useForm({defaultValues:m}),d=E.handleSubmit,p=E.register,f=E.reset;return r.useEffect((function(){f(m)}),[m,f]),l.createElement("div",{className:"additional-filter-section"},l.createElement(o.Form,{onSubmit:d((function(e){u(e)}))},l.createElement(o.Row,null,l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("staffMember")),l.createElement(o.Form.Control,t.__assign({},p("staffMember"),{as:"select"}),l.createElement("option",{value:""},e("Design:choose"))))),l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("bookingStatus")),l.createElement(o.Form.Control,t.__assign({},p("status"),{as:"select"}),l.createElement("option",{value:""},e("Design:choose")),Object.keys(c).map((function(t){return l.createElement("option",{key:c[t],value:c[t]},e("Design:".concat(c[t])))}))))),l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("date")),l.createElement(o.Form.Control,t.__assign({},p("date"),{type:"date"})))),l.createElement(o.Col,{md:"3",className:"d-flex align-items-end"},l.createElement(o.Form.Group,null,l.createElement(o.Button,{type:"submit",className:"shadow-none"},e("apply")))))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),l=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),i=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),s=require("@licklist/plugins/dist/context/booking/BookingContext"),c=[i.ORDER_STATUS_PENDING,i.ORDER_STATUS_CANCELLED,i.ORDER_STATUS_COMPLETED,i.ORDER_STATUS_ACTION_REQUIRED];exports.AdditionalFilterSection=function(){var e=n.useTranslation("Design").t,i=r.useContext(s.BookingContext),m=i.filters,u=i.setFilters,E=a.useForm({defaultValues:m}),d=E.handleSubmit,p=E.register,f=E.reset;return r.useEffect((function(){f(m)}),[m,f]),l.createElement("div",{className:"additional-filter-section"},l.createElement(o.Form,{onSubmit:d((function(e){u(e)}))},l.createElement(o.Row,null,l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("staffMember")),l.createElement(o.Form.Control,t.__assign({},p("staffMember"),{as:"select"}),l.createElement("option",{value:""},e("Design:choose"))))),l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("bookingStatus")),l.createElement(o.Form.Control,t.__assign({},p("status"),{as:"select"}),l.createElement("option",{value:""},e("Design:choose")),Object.keys(c).map((function(t){return l.createElement("option",{key:c[t],value:c[t]},e("Design:".concat(c[t])))}))))),l.createElement(o.Col,{md:"3"},l.createElement(o.Form.Group,null,l.createElement(o.Form.Label,null,e("date")),l.createElement(o.Form.Control,t.__assign({},p("date"),{type:"date"})))),l.createElement(o.Col,{md:"3",className:"d-flex align-items-end"},l.createElement(o.Form.Group,null,l.createElement(o.Button,{type:"submit",className:"shadow-none"},e("apply")))))))};
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from "react";
2
2
  import { Order } from "@licklist/core/dist/DataMapper/Order/OrderDataMapper";
3
3
  export declare type PreviousBookingsProps = {
4
4
  orders: Order[];
5
+ renderOrderTitleLinkByProvider?: (order: Order) => ReactNode;
5
6
  };
6
- export declare const PreviousBookings: ({ orders }: PreviousBookingsProps) => JSX.Element;
7
+ export declare const PreviousBookings: ({ orders, renderOrderTitleLinkByProvider, }: PreviousBookingsProps) => JSX.Element;
7
8
  //# sourceMappingURL=PreviousBookings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviousBookings.d.ts","sourceRoot":"","sources":["../../../../src/sales/guest-profile/previous-bookings/PreviousBookings.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAC;AAI7E,oBAAY,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAAgB,qBAAqB,gBA4EjE,CAAC"}
1
+ {"version":3,"file":"PreviousBookings.d.ts","sourceRoot":"","sources":["../../../../src/sales/guest-profile/previous-bookings/PreviousBookings.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAC;AAI7E,oBAAY,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,8BAA8B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;CAC9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,gDAG1B,qBAAqB,gBAgFvB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),l=require("react-bootstrap"),o=require("luxon");exports.PreviousBookings=function(e){var s=e.orders,c=n.useTranslation("Design").t,i=t.__read(r.useState(!1),2),m=i[0],u=i[1],d=m?s.length:6;return a.createElement("div",{className:"previous-bookings"},a.createElement("h6",{className:"mb-5"},c("previousBookings")),s.length>0?a.createElement("div",{className:"events-wrapper"},s.slice(0,d).map((function(e){var t,r;return a.createElement("div",{className:"event-info col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6",key:e.id},a.createElement("div",{className:"info-wrapper"},a.createElement("p",{className:"label"},null===(t=e.event)||void 0===t?void 0:t.name),e.createdAt&&a.createElement("p",{className:"event-date"},(r=e.createdAt,o.DateTime.fromJSDate(new Date(r)).toFormat("dd LLL yyyy hh:mm")))),e.products.length>0&&a.createElement("div",{className:"products-wrapper"},e.products.map((function(t){var r,n=t.name,l=t.id,o=e.orderProducts.find((function(e){return e.productId===l})),s=o?o.quantity:1;return a.createElement("div",{className:"product-name",key:l},a.createElement("p",null,"+")," ",a.createElement("p",null,(r=n).charAt(0).toUpperCase()+r.slice(1),s>1&&a.createElement(a.Fragment,null," x ",s)))}))))}))):a.createElement("p",{className:"mt-3"},c("noPreviousBookings")),s.length>6&&!m&&a.createElement(l.Button,{onClick:function(){u(!0)},variant:"link",className:"older-bookings-button"},c("showOlderBookings")))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),r=require("react"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),l=require("react-bootstrap"),o=require("luxon");exports.PreviousBookings=function(e){var s=e.orders,c=e.renderOrderTitleLinkByProvider,i=n.useTranslation("Design").t,m=t.__read(r.useState(!1),2),u=m[0],d=m[1],p=u?s.length:6;return a.createElement("div",{className:"previous-bookings"},a.createElement("h6",{className:"mb-5"},i("previousBookings")),s.length>0?a.createElement("div",{className:"events-wrapper"},s.slice(0,p).map((function(e){var t,r,n=c?c(e):null===(t=e[e.orderableType])||void 0===t?void 0:t.name;return a.createElement("div",{className:"event-info col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6",key:e.id},a.createElement("div",{className:"info-wrapper"},a.createElement("p",{className:"label"},n),e.createdAt&&a.createElement("p",{className:"event-date"},(r=e.createdAt,o.DateTime.fromJSDate(new Date(r)).toFormat("dd LLL yyyy hh:mm")))),e.products.length>0&&a.createElement("div",{className:"products-wrapper"},e.products.map((function(t){var r,n=t.name,l=t.id,o=e.orderProducts.find((function(e){return e.productId===l})),s=o?o.quantity:1;return a.createElement("div",{className:"product-name",key:l},a.createElement("p",null,"+")," ",a.createElement("p",null,(r=n).charAt(0).toUpperCase()+r.slice(1),s>1&&a.createElement(a.Fragment,null," x ",s)))}))))}))):a.createElement("p",{className:"mt-3"},i("noPreviousBookings")),s.length>6&&!u&&a.createElement(l.Button,{onClick:function(){d(!0)},variant:"link",className:"older-bookings-button"},i("showOlderBookings")))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,a=require("@licklist/core/dist/Config"),l=require("react-i18next"),n=require("react-bootstrap"),o=require("@react-aria/utils"),u=require("luxon");exports.SelectDateTypeControl=function(e){var i=e.setOrderDate,s=e.orderDate,c=e.showTypeSelect,m=e.orderableType,d=e.setOrderableType,p=l.useTranslation(["App","Sale","Design"]).t,v=o.useId(),b=o.useId(),f=t.useRef(null),g=t.useCallback((function(e){var t=e.target.value;i&&i(t)}),[i]),D=t.useCallback((function(e){var t=e.target.value;d&&d(t)}),[d]);return r.createElement("div",{className:"mt-4 d-flex justify-content-between"},r.createElement(n.Form.Group,{controlId:v},r.createElement(n.Form.Label,{className:"bold-text"},p("Sale:Date")),r.createElement(n.Form.Control,{type:"date",value:s,onChange:g,min:u.DateTime.now().toFormat(a.DATE_FORMAT),className:"date-input-with-value date-input-manual-booking",onClick:function(){var e;return null===(e=null==f?void 0:f.current)||void 0===e?void 0:e.showPicker()},ref:f})),c&&r.createElement(n.Form.Group,{controlId:b,className:"ml-4"},r.createElement(n.Form.Label,{className:"bold-text"},p("Design:orderableType")),r.createElement(n.Form.Control,{value:m,onChange:D,as:"select"},r.createElement("option",{value:""},p("Design:pleaseChooseOne")),r.createElement("option",{value:"event"},p("Design:event")),r.createElement("option",{value:"menu"},p("Design:menu")))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,a=require("@licklist/core/dist/Config"),l=require("react-i18next"),n=require("react-bootstrap"),o=require("@react-aria/utils"),u=require("luxon");exports.SelectDateTypeControl=function(e){var i=e.setOrderDate,c=e.orderDate,s=e.showTypeSelect,m=e.orderableType,d=e.setOrderableType,p=l.useTranslation(["App","Sale","Design"]).t,v=o.useId(),b=o.useId(),f=t.useRef(null),g=t.useCallback((function(e){var t=e.target.value;i&&i(t)}),[i]),D=t.useCallback((function(e){var t=e.target.value;d&&d(t)}),[d]);return r.createElement("div",{className:"mt-4 d-flex justify-content-between"},r.createElement(n.Form.Group,{controlId:v},r.createElement(n.Form.Label,{className:"bold-text"},p("Sale:Date")),r.createElement(n.Form.Control,{type:"date",value:c,onChange:g,min:u.DateTime.now().toFormat(a.DATE_FORMAT),className:"date-input-with-value date-input-manual-booking",onClick:function(){var e;return null===(e=null==f?void 0:f.current)||void 0===e?void 0:e.showPicker()},ref:f})),s&&r.createElement(n.Form.Group,{controlId:b,className:"ml-4"},r.createElement(n.Form.Label,{className:"bold-text"},p("Design:orderableType")),r.createElement(n.Form.Control,{value:m,onChange:D,as:"select"},r.createElement("option",{value:""},p("Design:pleaseChooseOne")),r.createElement("option",{value:"event"},p("Design:event")),r.createElement("option",{value:"menu"},p("Design:productSet")))))};
@@ -1,6 +1,4 @@
1
1
  .customers-filter {
2
- gap: 0.5rem;
3
-
4
2
  @include media-breakpoint-down(sm) {
5
3
  label {
6
4
  font-size: 0.8rem;
@@ -24,11 +22,32 @@
24
22
  }
25
23
 
26
24
  .customers-filter-items {
27
- gap: 0.5rem;
25
+ width: 100%;
26
+
27
+ .customer-filter {
28
+ flex: 0 0 33.33%;
29
+ max-width: 33.33%;
30
+ }
28
31
 
29
32
  @include media-breakpoint-down(xs) {
30
33
  flex-direction: column;
31
- gap: 0rem;
34
+
35
+ .customer-filter {
36
+ flex: 1;
37
+ max-width: 100%;
38
+ }
39
+ }
40
+
41
+ @include media-breakpoint-up(sm) {
42
+ .customer-filter {
43
+ &:first-child {
44
+ padding-left: 0;
45
+ }
46
+
47
+ &:last-child {
48
+ padding-right: 0;
49
+ }
50
+ }
32
51
  }
33
52
  }
34
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.44.485-dev.0",
3
+ "version": "0.44.485-dev.10",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -9,8 +9,7 @@ export default {
9
9
 
10
10
  export const Default: Story<CustomerFilterProps> = () => {
11
11
  const [values, setValues] = useState({
12
- first_name: "",
13
- last_name: "",
12
+ name: "",
14
13
  email: "",
15
14
  phone: "",
16
15
  });
@@ -4,15 +4,13 @@ import clsx from "clsx";
4
4
  import { TextField } from "../../../static/TextField";
5
5
 
6
6
  type CustomerFilterValues = {
7
- first_name: string;
8
- last_name: string;
7
+ name: string;
9
8
  email: string;
10
9
  phone: string;
11
10
  };
12
11
 
13
12
  const FILTER_FIELDS = {
14
- first_name: "firstName",
15
- last_name: "lastName",
13
+ name: "name",
16
14
  email: "email",
17
15
  phone: "phone",
18
16
  };
@@ -34,7 +32,7 @@ export const CustomerFilter = ({ values, onChange }: CustomerFilterProps) => {
34
32
  return (
35
33
  <TextField
36
34
  key={filterKeyName}
37
- className={clsx("mb-0")}
35
+ className={clsx("mb-0", "col-4", "customer-filter")}
38
36
  type="text"
39
37
  label={label}
40
38
  value={values[filterKeyName]}
@@ -132,7 +132,7 @@ export const MapPoint = ({
132
132
  <ProductIcon
133
133
  x={pointX}
134
134
  y={pointY}
135
- hasProduct={Boolean(pointProduct)}
135
+ isSoldOut={isSoldOut}
136
136
  isActive={isActive}
137
137
  isProductChoosed={isProductChoosed}
138
138
  isErrorOnChoosedProduct={isErrorOnChoosedProduct}
@@ -142,7 +142,7 @@ export const MapPoint = ({
142
142
  x={pointX}
143
143
  y={pointY}
144
144
  isActive={isActive}
145
- hasProduct={Boolean(pointProduct)}
145
+ hasProduct={!isSoldOut && Boolean(pointProduct)}
146
146
  pointNumber={pointNumber}
147
147
  onDelete={onDelete}
148
148
  editMode={editMode}
@@ -22,6 +22,7 @@ const BACKGROUND_COLOR = "#FFFFFF";
22
22
  const BACKGROUND_COLOR_TRANSPARENT = "#FFFFFF80";
23
23
  const FILL_COLOR = "#0E8CE2";
24
24
  const ERROR_COLOR_TRANSPARENT = "#ff000080";
25
+ const NO_PRODUCT_ON_POINT = "#878787";
25
26
  const SNIPPET_TEMPLATE_ID = "snippet-template-context";
26
27
 
27
28
  export type ProductIconProps = KonvaNodeEvents &
@@ -29,6 +30,7 @@ export type ProductIconProps = KonvaNodeEvents &
29
30
  x: number;
30
31
  y: number;
31
32
  isActive?: boolean;
33
+ isSoldOut?: boolean;
32
34
  isErrorOnChoosedProduct: boolean;
33
35
  isProductChoosed: boolean;
34
36
  };
@@ -53,6 +55,7 @@ export const ProductIcon = ({
53
55
  x,
54
56
  y,
55
57
  isActive,
58
+ isSoldOut,
56
59
  isErrorOnChoosedProduct,
57
60
  isProductChoosed,
58
61
  }: ProductIconProps) => {
@@ -107,6 +110,11 @@ export const ProductIcon = ({
107
110
  stroke = ERROR_COLOR_TRANSPARENT;
108
111
  }
109
112
 
113
+ if (isSoldOut) {
114
+ stroke = NO_PRODUCT_ON_POINT;
115
+ fill = NO_PRODUCT_ON_POINT;
116
+ }
117
+
110
118
  return { fill, stroke };
111
119
  };
112
120
 
@@ -113,7 +113,7 @@ export function IframeEventCard({
113
113
  </Card.Text>
114
114
  )}
115
115
 
116
- {cost && !!snippetSetting.displayCost && (
116
+ {typeof cost === "number" && !!snippetSetting.displayCost && (
117
117
  <Card.Text as="div">
118
118
  <div className="d-flex align-items-center mb-3">
119
119
  <div className="icon-wrapper">
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { Meta } from "@storybook/react";
3
3
  import { boolean } from "@storybook/addon-knobs";
4
+ import { ORDER_FEE_CHARGE_TYPE_CLIENT } from "@licklist/core/dist/DataMapper/Order/OrderDataMapper";
4
5
  import { OrderItemsTable } from "./OrderItemsTable";
5
6
 
6
7
  export default {
@@ -24,6 +25,7 @@ export function Default(args) {
24
25
 
25
26
  Default.args = {
26
27
  order: {
28
+ feeChargeType: ORDER_FEE_CHARGE_TYPE_CLIENT,
27
29
  products: [
28
30
  {
29
31
  id: 1,
@@ -20,7 +20,7 @@ import {
20
20
  import { OrderItemsTableProps, SummaryItem } from "../types";
21
21
 
22
22
  const CURRENCY_DEFAULT = "GBP";
23
- const TRANSLATE_KEYS = {
23
+ export const PAYMENT_TYPE_TRANSLATE_KEYS = {
24
24
  [PAYMENT_TYPE_NET_PROFIT]: "netAmount",
25
25
  [PAYMENT_TYPE_FEE]: "bookeditFee",
26
26
  [PAYMENT_TYPE_VAT]: "vat",
@@ -128,7 +128,11 @@ export const useTableData = ({
128
128
  };
129
129
 
130
130
  const paymentNotProcessedSummary = () => {
131
- const total = calculateTotalPrice(order.orderProducts);
131
+ const externalPaymentDetail = paymentDetail
132
+ ? getExternalPaymentDetail(paymentDetail)
133
+ : undefined;
134
+
135
+ const total = calculateTotalPrice(order, externalPaymentDetail);
132
136
 
133
137
  const summaryItems: SummaryItem[] = [
134
138
  {
@@ -144,7 +148,7 @@ export const useTableData = ({
144
148
  });
145
149
  }
146
150
 
147
- if (paymentDetail) {
151
+ if (externalPaymentDetail) {
148
152
  return [...summaryItems, ...getExternalPaymentDetail(paymentDetail)];
149
153
  }
150
154
 
@@ -152,7 +156,18 @@ export const useTableData = ({
152
156
  };
153
157
 
154
158
  const processedPaymentSummary = () => {
155
- const total = calculateTotalPrice(order.orderProducts);
159
+ const externalPaymentDetail =
160
+ paymentDetail && !order.payments.length
161
+ ? getExternalPaymentDetail(paymentDetail)
162
+ : Object.keys(PAYMENT_TYPE_TRANSLATE_KEYS).map((key) => {
163
+ return {
164
+ translateKey: PAYMENT_TYPE_TRANSLATE_KEYS[key],
165
+ price: getPaymentValueByType(order.payments, key),
166
+ };
167
+ });
168
+
169
+ const total = calculateTotalPrice(order, externalPaymentDetail);
170
+
156
171
  const totalDiscount = calculateTotalDiscount(order.payments);
157
172
  const totalWithDiscount = total - Number(totalDiscount);
158
173
  let summaryItems: SummaryItem[] = [
@@ -170,7 +185,7 @@ export const useTableData = ({
170
185
  }
171
186
 
172
187
  if (paymentDetail && !order.payments.length) {
173
- return [...summaryItems, ...getExternalPaymentDetail(paymentDetail)];
188
+ return [...summaryItems, ...externalPaymentDetail];
174
189
  }
175
190
 
176
191
  summaryItems.push({
@@ -180,15 +195,7 @@ export const useTableData = ({
180
195
  if (totalWithDiscount <= 0) {
181
196
  return summaryItems;
182
197
  }
183
- summaryItems = [
184
- ...summaryItems,
185
- ...Object.keys(TRANSLATE_KEYS).map((key) => {
186
- return {
187
- translateKey: TRANSLATE_KEYS[key],
188
- price: getPaymentValueByType(order.payments, key),
189
- };
190
- }),
191
- ];
198
+ summaryItems = [...summaryItems, ...externalPaymentDetail];
192
199
 
193
200
  if (totalWithDiscount > order.totalAmount) {
194
201
  summaryItems.push({
@@ -1,13 +1,16 @@
1
- import { Order } from "@licklist/core/dist/DataMapper/Order/OrderDataMapper";
1
+ import {
2
+ Order,
3
+ ORDER_FEE_CHARGE_TYPE_CLIENT,
4
+ } from "@licklist/core/dist/DataMapper/Order/OrderDataMapper";
2
5
  import { Product } from "@licklist/core/dist/DataMapper/Product/ProductDataMapper";
3
6
  import { PAYMENT_TYPE_DISCOUNT } from "@licklist/core/dist/DataMapper/Order/PaymentDataMapper";
4
7
  import { PaymentDetail } from "@licklist/core/dist/DataMapper/Order/PaymentDetailDataMapper";
8
+ import { PAYMENT_TYPE_TRANSLATE_KEYS } from "../hooks/useTableData";
5
9
 
6
10
  const TRANSLATE_KEYS = {
7
11
  totalAmount: "totalPaid",
8
12
  netAmount: "netAmount",
9
13
  fee: "bookeditFee",
10
- remainingToPay: "remainingToPay",
11
14
  };
12
15
 
13
16
  export enum PAYMENT_TYPE_TITLES {
@@ -16,14 +19,35 @@ export enum PAYMENT_TYPE_TITLES {
16
19
  VAT = "VAT",
17
20
  }
18
21
 
19
- export const calculateTotalPrice = (orderProducts: Order["orderProducts"]) => {
20
- return (
21
- orderProducts?.reduce(
22
+ interface ExternalPaymnetDetail {
23
+ translateKey: string;
24
+ price: number;
25
+ }
26
+
27
+ export const calculateTotalPrice = (
28
+ order: Order,
29
+ externalPaymentDetails?: ExternalPaymnetDetail[]
30
+ ) => {
31
+ const totalPrice =
32
+ order?.orderProducts?.reduce(
22
33
  (total: number, product) =>
23
34
  total + (product?.quantity ?? 1) * product.price,
24
35
  0
25
- ) ?? 0
26
- );
36
+ ) ?? 0;
37
+
38
+ if (
39
+ order?.feeChargeType !== ORDER_FEE_CHARGE_TYPE_CLIENT ||
40
+ !externalPaymentDetails
41
+ ) {
42
+ return totalPrice;
43
+ }
44
+
45
+ const fee =
46
+ externalPaymentDetails.find(
47
+ (externalPayment) =>
48
+ externalPayment.translateKey === PAYMENT_TYPE_TRANSLATE_KEYS.fee
49
+ )?.price || 0;
50
+ return totalPrice + fee;
27
51
  };
28
52
 
29
53
  export const calculateTotalDiscount = (payments: Order["payments"]) => {
@@ -54,17 +78,18 @@ export const getPaymentValueByType = (
54
78
  ) => {
55
79
  if (paymentTypeTitle === PAYMENT_TYPE_TITLES.FEE) {
56
80
  const feeWithoutVatValue =
57
- payments.find((payment) => payment.paymentType.title === paymentTypeTitle)
58
- ?.amount ?? 0;
81
+ payments?.find(
82
+ (payment) => payment.paymentType.title === paymentTypeTitle
83
+ )?.amount ?? 0;
59
84
 
60
85
  const vatValue =
61
- payments.find(
86
+ payments?.find(
62
87
  (payment) => payment.paymentType.title === PAYMENT_TYPE_TITLES.VAT
63
88
  )?.amount ?? 0;
64
89
  return feeWithoutVatValue + vatValue;
65
90
  }
66
91
  return (
67
- payments.find((payment) => payment.paymentType.title === paymentTypeTitle)
92
+ payments?.find((payment) => payment.paymentType.title === paymentTypeTitle)
68
93
  ?.amount ?? 0
69
94
  );
70
95
  };
@@ -141,7 +141,9 @@ export const PaymentPage = ({
141
141
  )}
142
142
  <SummaryTotalBlock
143
143
  label={t(paymentMetadata ? "remaining" : "total")}
144
- amount={data?.amount || 0}
144
+ amount={
145
+ data?.amount + (bookingSummaryProps?.transactionFee || 0)
146
+ }
145
147
  />
146
148
  </div>
147
149
  </BookingSummaryFooter>
@@ -27,7 +27,8 @@ interface PaymentStatusComponentProps {
27
27
  isLoading?: boolean;
28
28
  status: OrderStatusPrefix;
29
29
  isAppUsingInIframe?: boolean;
30
- bookingSummaryProps?: BookingSummaryProps;
30
+ transactionFee?: number;
31
+ bookingSummaryProps?: Omit<BookingSummaryProps, "transactionFee">;
31
32
  EventCardComponent?: ReactNode;
32
33
  showCloseButton?: boolean;
33
34
  email?: string;
@@ -41,6 +42,7 @@ export const PaymentStatusPage = ({
41
42
  totalAmount,
42
43
  isLoading,
43
44
  status,
45
+ transactionFee = 0,
44
46
  isAppUsingInIframe,
45
47
  bookingSummaryProps,
46
48
  EventCardComponent,
@@ -101,18 +103,22 @@ export const PaymentStatusPage = ({
101
103
  {bookingSummaryProps?.formValues ? (
102
104
  <BookingSummary.SummaryTotal
103
105
  formValues={bookingSummaryProps?.formValues}
106
+ transactionFee={transactionFee}
104
107
  />
105
108
  ) : (
106
109
  <SummaryTotalBlock
107
110
  label={t("total")}
108
- amount={totalAmount || 0}
111
+ amount={totalAmount + transactionFee || 0}
109
112
  />
110
113
  )}
111
114
  </BookingSummaryFooter>
112
115
  }
113
116
  >
114
117
  {bookingSummaryProps ? (
115
- <BookingSummary {...bookingSummaryProps} />
118
+ <BookingSummary
119
+ {...bookingSummaryProps}
120
+ transactionFee={transactionFee}
121
+ />
116
122
  ) : (
117
123
  <h6>{title}</h6>
118
124
  )}
@@ -165,7 +165,10 @@ export function ProductCategoriesControl({
165
165
  return sum + Number(product.price) * Number(product.totalQuantity);
166
166
  }, 0);
167
167
  const quantity = productCategory.products?.reduce((sum, product) => {
168
- return sum + Number(product.totalQuantity);
168
+ const productQuantity = !product.isUnlimited
169
+ ? Number(product.totalQuantity)
170
+ : 0;
171
+ return sum + productQuantity;
169
172
  }, 0);
170
173
 
171
174
  setProductCategoryState((prevState) => ({
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { Meta } from "@storybook/react";
3
+ import { boolean } from "@storybook/addon-knobs";
3
4
  import { Event } from "@licklist/core/dist/DataMapper/Provider/EventDataMapper";
4
5
  import { User } from "@licklist/core/dist/DataMapper/User/UserDataMapper";
5
6
  import { Product } from "@licklist/core/dist/DataMapper/Product/ProductDataMapper";
@@ -10,11 +11,26 @@ export default {
10
11
  title: "Sales/Guest Profile/Previous Bookings",
11
12
  } as Meta;
12
13
 
13
- export const Default = (args) => (
14
- <div>
15
- <PreviousBookings {...args} />
16
- </div>
17
- );
14
+ export const Default = (args) => {
15
+ const useProviderLink = boolean("useProviderLink", true);
16
+
17
+ const renderOrderTitleLinkByProvider = (order: Order) => {
18
+ return (
19
+ <a href={`/some_href/${order.id}`}>{order[order.orderableType]?.name}</a>
20
+ );
21
+ };
22
+
23
+ return (
24
+ <div>
25
+ <PreviousBookings
26
+ {...args}
27
+ renderOrderTitleLinkByProvider={
28
+ useProviderLink ? renderOrderTitleLinkByProvider : undefined
29
+ }
30
+ />
31
+ </div>
32
+ );
33
+ };
18
34
 
19
35
  Default.args = {
20
36
  orders: [
@@ -43,6 +59,8 @@ Default.args = {
43
59
  updatedAt: "2022-05-20 18:28:56",
44
60
  status: "cart",
45
61
  tickets: [],
62
+ orderableType: "event",
63
+ orderableId: 1,
46
64
  event: {
47
65
  id: 1,
48
66
  name: "testEvent1",
@@ -79,6 +97,8 @@ Default.args = {
79
97
  updatedAt: "2022-05-20 18:28:56",
80
98
  status: "cart",
81
99
  tickets: [],
100
+ orderableType: "event",
101
+ orderableId: 2,
82
102
  event: {
83
103
  id: 2,
84
104
  name: "testEvent2",
@@ -128,6 +148,8 @@ Default.args = {
128
148
  updatedAt: "2022-05-20 18:28:56",
129
149
  status: "cart",
130
150
  tickets: [],
151
+ orderableType: "event",
152
+ orderableId: 3,
131
153
  event: {
132
154
  id: 3,
133
155
  name: "testEvent3",
@@ -156,6 +178,8 @@ Default.args = {
156
178
  updatedAt: "2022-05-20 18:28:56",
157
179
  status: "cart",
158
180
  tickets: [],
181
+ orderableType: "event",
182
+ orderableId: 3,
159
183
  event: {
160
184
  id: 3,
161
185
  name: "testEvent3",
@@ -184,6 +208,8 @@ Default.args = {
184
208
  updatedAt: "2022-05-20 18:28:56",
185
209
  status: "cart",
186
210
  tickets: [],
211
+ orderableType: "event",
212
+ orderableId: 3,
187
213
  event: {
188
214
  id: 3,
189
215
  name: "testEvent3",
@@ -212,6 +238,8 @@ Default.args = {
212
238
  updatedAt: "2022-05-20 18:28:56",
213
239
  status: "cart",
214
240
  tickets: [],
241
+ orderableType: "event",
242
+ orderableId: 3,
215
243
  event: {
216
244
  id: 3,
217
245
  name: "testEvent3",
@@ -239,6 +267,8 @@ Default.args = {
239
267
  updatedAt: "2022-05-20 18:28:56",
240
268
  status: "cart",
241
269
  tickets: [],
270
+ orderableType: "event",
271
+ orderableId: 3,
242
272
  event: {
243
273
  id: 3,
244
274
  name: "testEvent3",
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, ReactNode } from "react";
2
2
  import { useTranslation } from "react-i18next";
3
3
  import { DateTime } from "luxon";
4
4
  import { Button } from "react-bootstrap";
@@ -8,9 +8,13 @@ const MAX_ORDERS_COUNT = 6;
8
8
 
9
9
  export type PreviousBookingsProps = {
10
10
  orders: Order[];
11
+ renderOrderTitleLinkByProvider?: (order: Order) => ReactNode;
11
12
  };
12
13
 
13
- export const PreviousBookings = ({ orders }: PreviousBookingsProps) => {
14
+ export const PreviousBookings = ({
15
+ orders,
16
+ renderOrderTitleLinkByProvider,
17
+ }: PreviousBookingsProps) => {
14
18
  const { t } = useTranslation("Design");
15
19
  const [showOlderBookings, setShowOlderBookings] = useState(false);
16
20
 
@@ -36,13 +40,17 @@ export const PreviousBookings = ({ orders }: PreviousBookingsProps) => {
36
40
  {orders.length > 0 ? (
37
41
  <div className="events-wrapper">
38
42
  {orders.slice(0, endSlicedOrdersNumber).map((order) => {
43
+ const eventName = renderOrderTitleLinkByProvider
44
+ ? renderOrderTitleLinkByProvider(order)
45
+ : order[order.orderableType]?.name;
46
+
39
47
  return (
40
48
  <div
41
49
  className="event-info col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6"
42
50
  key={order.id}
43
51
  >
44
52
  <div className="info-wrapper">
45
- <p className="label">{order.event?.name}</p>
53
+ <p className="label">{eventName}</p>
46
54
  {order.createdAt && (
47
55
  <p className="event-date">{formatDate(order.createdAt)}</p>
48
56
  )}
@@ -71,7 +71,7 @@ export const SelectDateTypeControl = ({
71
71
  >
72
72
  <option value="">{t("Design:pleaseChooseOne")}</option>
73
73
  <option value="event">{t("Design:event")}</option>
74
- <option value="menu">{t("Design:menu")}</option>
74
+ <option value="menu">{t("Design:productSet")}</option>
75
75
  </Form.Control>
76
76
  </Form.Group>
77
77
  )}
@@ -1,6 +1,4 @@
1
1
  .customers-filter {
2
- gap: 0.5rem;
3
-
4
2
  @include media-breakpoint-down(sm) {
5
3
  label {
6
4
  font-size: 0.8rem;
@@ -24,11 +22,32 @@
24
22
  }
25
23
 
26
24
  .customers-filter-items {
27
- gap: 0.5rem;
25
+ width: 100%;
26
+
27
+ .customer-filter {
28
+ flex: 0 0 33.33%;
29
+ max-width: 33.33%;
30
+ }
28
31
 
29
32
  @include media-breakpoint-down(xs) {
30
33
  flex-direction: column;
31
- gap: 0rem;
34
+
35
+ .customer-filter {
36
+ flex: 1;
37
+ max-width: 100%;
38
+ }
39
+ }
40
+
41
+ @include media-breakpoint-up(sm) {
42
+ .customer-filter {
43
+ &:first-child {
44
+ padding-left: 0;
45
+ }
46
+
47
+ &:last-child {
48
+ padding-right: 0;
49
+ }
50
+ }
32
51
  }
33
52
  }
34
53
  }