@licklist/design 0.62.3 → 0.63.0-dev.1

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 (170) hide show
  1. package/bitbucket-pipelines.yml +0 -8
  2. package/dist/date-time-button/DateTimeButton.js +1 -1
  3. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts +3 -1
  4. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
  5. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +1 -1
  6. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts +3 -1
  7. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  8. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +1 -1
  9. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts +3 -1
  10. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts.map +1 -1
  11. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +1 -1
  12. package/dist/iframe/payment/order-items-table/utils/paymentSummary.js +1 -1
  13. package/dist/iframe/ryft/RyftPaymentForm.d.ts.map +1 -1
  14. package/dist/iframe/ryft/RyftPaymentForm.js +1 -1
  15. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
  16. package/dist/iframe/ryft/utils/ryft-form.js +1 -1
  17. package/dist/product-set/control/DateAndRecurrenceInput.d.ts +1 -5
  18. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  19. package/dist/product-set/control/DateAndRecurrenceInput.js +1 -1
  20. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  21. package/dist/product-set/control/DateInput.js +1 -1
  22. package/dist/product-set/control/ProductSetControl.d.ts +4 -3
  23. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  24. package/dist/product-set/control/ProductSetControl.js +1 -1
  25. package/dist/product-set/control/utils.d.ts +5 -0
  26. package/dist/product-set/control/utils.d.ts.map +1 -0
  27. package/dist/product-set/control/utils.js +1 -0
  28. package/dist/product-set/form/ProductCategoriesControl.d.ts +2 -1
  29. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  30. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  31. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  32. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  33. package/dist/product-set/form/ProductsControl.d.ts +2 -1
  34. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  35. package/dist/product-set/form/ProductsControl.js +1 -1
  36. package/dist/product-set/form/StepsControl.d.ts +2 -1
  37. package/dist/product-set/form/StepsControl.d.ts.map +1 -1
  38. package/dist/product-set/form/StepsControl.js +1 -1
  39. package/dist/product-set/hooks/useSortableTreeFunctions.d.ts.map +1 -1
  40. package/dist/product-set/product/ProductControl.d.ts +1 -0
  41. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  42. package/dist/product-set/product/ProductControl.js +1 -1
  43. package/dist/product-set/product/fixed-duration-fields/FixedDurationOptions.d.ts.map +1 -1
  44. package/dist/product-set/step/StepControl.d.ts +2 -1
  45. package/dist/product-set/step/StepControl.d.ts.map +1 -1
  46. package/dist/product-set/step/StepControl.js +1 -1
  47. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  48. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +1 -1
  49. package/dist/recurring-date-picker-input/RecurrenceAndFrequencyInput.d.ts.map +1 -1
  50. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +3 -1
  51. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  52. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +1 -1
  53. package/dist/recurring-date-picker-input/utils.d.ts +12 -0
  54. package/dist/recurring-date-picker-input/utils.d.ts.map +1 -1
  55. package/dist/recurring-date-picker-input/utils.js +1 -1
  56. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  57. package/dist/sales/booking/results/components/ResultCard.js +1 -1
  58. package/dist/sales/coupon/control/CouponFormControl.d.ts +2 -1
  59. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  60. package/dist/sales/coupon/control/CouponFormControl.js +1 -1
  61. package/dist/sales/coupon/form/CouponFrom.d.ts +2 -2
  62. package/dist/sales/coupon/form/CouponFrom.d.ts.map +1 -1
  63. package/dist/sales/coupon/utils/index.d.ts +7 -0
  64. package/dist/sales/coupon/utils/index.d.ts.map +1 -0
  65. package/dist/sales/coupon/utils/index.js +1 -0
  66. package/dist/setting/admin/AdminSettingForm.d.ts +2 -2
  67. package/dist/setting/admin/AdminSettingForm.d.ts.map +1 -1
  68. package/dist/setting/dashboard/DashboardSettingForm.d.ts +1 -0
  69. package/dist/setting/dashboard/DashboardSettingForm.d.ts.map +1 -1
  70. package/dist/setting/dashboard/DashboardSettingForm.js +1 -1
  71. package/dist/sortable-tree/SortableTreeItem.d.ts +1 -2
  72. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  73. package/dist/sortable-tree/SortableTreeItem.js +1 -1
  74. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +99 -113
  75. package/dist/styles/sales/BookingResults.scss +1 -1
  76. package/dist/typeahead/Typeahead.d.ts +2 -1
  77. package/dist/typeahead/Typeahead.d.ts.map +1 -1
  78. package/dist/typeahead/Typeahead.js +1 -1
  79. package/dist/zone/form/ZoneForm.d.ts +2 -2
  80. package/dist/zone/form/ZoneForm.d.ts.map +1 -1
  81. package/dist/zone/form/ZoneForm.js +1 -1
  82. package/dist/zone/form/components/AvailableTimesControl.d.ts +0 -2
  83. package/dist/zone/form/components/AvailableTimesControl.d.ts.map +1 -1
  84. package/dist/zone/form/components/ZoneControl.d.ts +2 -2
  85. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  86. package/dist/zone/form/components/ZoneControl.js +1 -1
  87. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts +4 -4
  88. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  89. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  90. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  91. package/package.json +10 -35
  92. package/src/date-time-button/DateTimeButton.stories.tsx +2 -1
  93. package/src/date-time-button/DateTimeButton.tsx +7 -5
  94. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +4 -0
  95. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +18 -9
  96. package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +5 -0
  97. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +6 -6
  98. package/src/iframe/ryft/RyftPaymentForm.tsx +12 -4
  99. package/src/iframe/ryft/utils/ryft-form.ts +8 -4
  100. package/src/product-set/control/DateAndRecurrenceInput.tsx +48 -14
  101. package/src/product-set/control/DateInput.tsx +2 -4
  102. package/src/product-set/control/ProductSetControl.stories.tsx +1 -1
  103. package/src/product-set/control/ProductSetControl.tsx +12 -11
  104. package/src/product-set/control/utils.ts +25 -0
  105. package/src/product-set/form/ProductCategoriesControl.tsx +8 -4
  106. package/src/product-set/form/ProductSetForm.stories.tsx +1 -2
  107. package/src/product-set/form/ProductSetForm.tsx +5 -1
  108. package/src/product-set/form/ProductsControl.tsx +87 -77
  109. package/src/product-set/form/StepsControl.tsx +11 -6
  110. package/src/product-set/hooks/useSortableTreeFunctions.ts +2 -0
  111. package/src/product-set/product/ProductControl.tsx +39 -39
  112. package/src/product-set/product/fixed-duration-fields/FixedDurationOptions.tsx +0 -2
  113. package/src/product-set/step/StepControl.tsx +4 -3
  114. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +4 -18
  115. package/src/recurring-date-picker-input/RecurrenceAndFrequencyInput.tsx +0 -1
  116. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +11 -1
  117. package/src/recurring-date-picker-input/utils.ts +77 -0
  118. package/src/sales/booking/results/BookingResults.stories.tsx +3 -2
  119. package/src/sales/booking/results/components/ResultCard.tsx +2 -5
  120. package/src/sales/coupon/control/CouponFormControl.tsx +28 -51
  121. package/src/sales/coupon/form/CouponFrom.tsx +5 -15
  122. package/src/sales/coupon/utils/index.ts +13 -0
  123. package/src/setting/admin/AdminSettingForm.tsx +2 -2
  124. package/src/setting/dashboard/DashboardSettingForm.tsx +13 -0
  125. package/src/sortable-tree/SortableTreeItem.tsx +1 -4
  126. package/src/static/switch/BooleanSwitch.tsx +1 -1
  127. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +99 -113
  128. package/src/styles/sales/BookingResults.scss +1 -1
  129. package/src/typeahead/Typeahead.tsx +16 -3
  130. package/src/zone/form/ZoneForm.tsx +3 -2
  131. package/src/zone/form/components/AvailableTimesControl.tsx +0 -2
  132. package/src/zone/form/components/ZoneControl.tsx +3 -3
  133. package/src/zone/form/components/ZoneRecurrencesControl.tsx +7 -5
  134. package/src/zone/form/utils/dates.ts +9 -10
  135. package/jest.config.js +0 -29
  136. package/tests/Auth/Authorizer.test.tsx +0 -194
  137. package/tests/Auth/Layout/UserNavDropDown.test.tsx +0 -43
  138. package/tests/Auth/Layout/UserNavDropDownToggle.test.tsx +0 -33
  139. package/tests/Auth/Login/LoginComponent.test.tsx +0 -246
  140. package/tests/Auth/Login/LoginFormComponent.test.tsx +0 -182
  141. package/tests/Auth/Register/RegisterComponent.test.tsx +0 -285
  142. package/tests/Auth/Register/RegisterFormComponent.test.tsx +0 -170
  143. package/tests/Auth/Settings/Dashboard/IpInput.test.tsx +0 -130
  144. package/tests/Auth/Social/SocialCallbackComponent.test.tsx +0 -133
  145. package/tests/Auth/Social/SocialFormComponent.test.tsx +0 -118
  146. package/tests/FileUpload/FileUpload.test.tsx +0 -42
  147. package/tests/Notification/EmailTemplate.test.tsx +0 -82
  148. package/tests/ProductSet/ProductSetPopover.test.tsx +0 -40
  149. package/tests/Report/Report.test.tsx +0 -48
  150. package/tests/Sales/Coupon.test.tsx +0 -51
  151. package/tests/Sales/SalesAndVIews.test.tsx +0 -63
  152. package/tests/SnippetTemplates/SnippetTemplates.test.tsx +0 -56
  153. package/tests/Table/FilterHelperComponent.test.tsx +0 -88
  154. package/tests/Table/PaginationHelperComponent.test.tsx +0 -109
  155. package/tests/Table/PerPageHelperComponent.test.tsx +0 -34
  156. package/tests/Table/TableHelperComponent.test.tsx +0 -295
  157. package/tests/TipTapEditor/TipTapEditor.test.tsx +0 -28
  158. package/tests/__mock__/hooks/useAuthApi.ts +0 -13
  159. package/tests/__mock__/hooks/useAuthMock.ts +0 -13
  160. package/tests/__mock__/hooks/useFormMock.ts +0 -27
  161. package/tests/__mock__/hooks/useNotificationMock.ts +0 -13
  162. package/tests/__mock__/hooks/useQueryMock.ts +0 -16
  163. package/tests/__mock__/hooks/useSocialApiMock.ts +0 -20
  164. package/tests/__mock__/hooks/useTranslationMock.ts +0 -17
  165. package/tests/__mock__/hooks/useUserApiMock.ts +0 -18
  166. package/tests/__mock__/hooks/useUserMock.ts +0 -13
  167. package/tests/__mock__/styleMock.js +0 -1
  168. package/tests/__mock__/windowMock.ts +0 -5
  169. package/tests/packages/react-query.tsx +0 -28
  170. package/tests/setupTests.ts +0 -10
@@ -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),i=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),s=require("@dnd-kit/core"),l=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),v=require("../hooks/useSortableTreeFunctions.js"),p=require("../item/CreateProductSetItem.js"),g=require("./context.js"),f=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),y=require("../product-category/ProductCategoryControl.js"),C=require("./ProductsControl.js"),b=require("./SelectCategoryModal.js"),E=require("./VenueMapSetModal.js"),_=require("../utils/index.js");var I=function(e,t){return e===f.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===f.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var S,q,T,x,N,P,h=e.isLoading,M=e.stepIndex,A=e.isOverrides,k=i.useTranslation("Design").t,j=r.useContext(g.ProductSetLoadingContext),O=j.providerHasMap,V=j.expandedProductCategories,D=j.setExpandedProductCategories,F=j.zones,R=a.useFormContext(),Y=t.__read(r.useState(!1),2),B=Y[0],L=Y[1],w=t.__read(r.useState(!1),2),G=w[0],H=w[1],U=t.__read(r.useState(!1),2),z=U[0],Q=U[1],K=R.control,W=R.formState.errors,X=R.clearErrors,J=R.watch,Z=R.trigger,$=R.getValues,ee=R.setValue,te=J("steps.".concat(M,".hasMap"))||!1,re="steps.".concat(M,".productCategories"),ne=a.useFieldArray({name:re,control:K,keyName:"_id"}),ie=ne.fields,oe=ne.append,ae=ne.remove,ue=t.__read(r.useState({}),2),de=ue[0],se=ue[1],le=v.useSortableTreeFunctions({fieldName:re,remove:ae,isOverrides:A}),ce=le.edit,me=le.saveValidField,ve=le.cancelChanges,pe=a.useWatch({control:K,name:re}),ge=null===(q=null===(S=null==W?void 0:W.steps)||void 0===S?void 0:S[M])||void 0===q?void 0:q.productCategories,fe=null===(x=null===(T=null==W?void 0:W.steps)||void 0===T?void 0:T[M])||void 0===x?void 0:x.venueMapSetId,ye=null===(P=null===(N=null==W?void 0:W.steps)||void 0===N?void 0:N[M])||void 0===P?void 0:P.pointProducts,Ce=Boolean(fe||ye),be=s.useSensor(s.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){pe&&pe.length&&pe.forEach((function(e){var r,n,i=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),o=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+(t.isUnlimited?0:Number(t.totalQuantity))}),0);se((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:i,quantity:o},n))}))}))}),[pe]),r.useEffect((function(){1===ie.length&&D((function(e){var r,n,i;return t.__assign(t.__assign({},e),((r={})[String((null===(n=ie[0])||void 0===n?void 0:n.id)||(null===(i=ie[0])||void 0===i?void 0:i.uniqueId))]=!0,r))}))}),[ie]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[be],items:ie.map((function(e){return String(e._id)})),onDragEnd:function(e){if(!A){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=ie.findIndex((function(e){return e._id===t.id})),i=ie.findIndex((function(e){return e._id===r.id}));if(n!==i){var o=$(re);if(o){var a=_.sortArrayByIndex(_.moveArrayElements(o,n,i));ee(re,a)}}}}}},ie.map((function(e,r){var i=(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))}))}(i)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat(re,".").concat(r,".name"),control:K,rules:{required:k("Validation:fieldRequired",{attribute:k("name")})},render:function(t){var a,d,s,l=t.field,v=l.value,p=l.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:v,isExpanded:V[i],setIsExpanded:u,edit:function(){return ce(r)},cancelChanges:function(){return ve(r)},isInvalid:!!ge,badge:n.createElement(o.Badge,{className:"category-badge"},k("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!==(s=null===(d=de[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===d?void 0:d.quantity)&&void 0!==s?s:"N/A"," ",k("products"))),treeLineIconColor:"#1A93AA",modalLabel:k("addNewCategory"),secondaryBadge:I(e.type,k(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:z,body:n.createElement(y.ProductCategoryControl,{isLoading:h,onCategoryNameChange:p,categoryName:v,stepIndex:M,productCategoryIndex:r,isOverride:A}),isOverride:A,onDelete:function(){return ae(r)},validate:function(){return Z("steps.".concat(M,".productCategories.").concat(r))},saveValidField:me,sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(C.ProductsControl,{isLoading:h,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,zones:F,productCategoryIndex:r,categoryType:e.type,isOverrides:A}))}})}))),n.createElement(p.CreateProductSetItem,{title:k("addCategory"),isOverride:A,onClick:function(){A||L(!0)}}),n.createElement(b.SelectCategoryModal,{isVisible:B,onHide:function(){return L(!1)},onCategorySelect:function(e){A||(oe(function(e,t){return{id:null,uniqueId:l.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:f.QUANTITY_TYPE_STANDARD,type:e,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===f.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,ie.length)),Q(!0),(null==ge?void 0:ge.type)===u.manualErrorType&&X(re))}}),O&&te&&n.createElement(n.Fragment,null,n.createElement(p.CreateProductSetItem,{title:k("editMap"),isOverride:A,onClick:function(){A||H(!0)},className:d("mt-3",Ce&&"mb-3",Ce&&"is-invalid")}),Ce&&n.createElement("div",{className:"manual-form-error"},fe&&k("Validation:fieldRequired",{attribute:k("Design:venueMapSet")}),ye&&k("Validation:fieldMinNumber",{attribute:k("pointProduct"),min:1})),n.createElement(E.VenueMapSetModal,{isVisible:G,setIsVisible:H,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},ge&&ge.message))},exports.getBadgeConfig=I;
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),i=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),d=e(require("clsx")),s=require("@dnd-kit/core"),l=require("lodash"),c=require("../../sortable-tree/SortableTreeItem.js"),m=require("../../sortable-tree/SortableTree.js"),v=require("../hooks/useSortableTreeFunctions.js"),p=require("../item/CreateProductSetItem.js"),g=require("./context.js"),f=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),y=require("../product-category/ProductCategoryControl.js"),C=require("./ProductsControl.js"),E=require("./SelectCategoryModal.js"),b=require("./VenueMapSetModal.js"),I=require("../utils/index.js");var S=function(e,t){return e===f.CATEGORY_TYPE_GAME?{className:"game-badge",label:t}:e===f.CATEGORY_TYPE_FIXED_DURATION?{className:"fixed-duration-badge",label:t}:null};exports.ProductCategoriesControl=function(e){var _,q,T,x,P,N,h=e.isLoading,M=e.stepIndex,A=e.isOverrides,k=e.isEventEditProductSet,j=i.useTranslation("Design").t,V=r.useContext(g.ProductSetLoadingContext),D=V.providerHasMap,F=V.expandedProductCategories,O=V.setExpandedProductCategories,R=V.zones,Y=a.useFormContext(),B=t.__read(r.useState(!1),2),L=B[0],w=B[1],G=t.__read(r.useState(!1),2),H=G[0],U=G[1],z=t.__read(r.useState(!1),2),Q=z[0],K=z[1],W=Y.control,X=Y.formState.errors,J=Y.clearErrors,Z=Y.watch,$=Y.trigger,ee=Y.getValues,te=Y.setValue,re=Z("steps.".concat(M,".hasMap"))||!1,ne="steps.".concat(M,".productCategories"),ie=a.useFieldArray({name:ne,control:W,keyName:"_id"}),oe=ie.fields,ae=ie.append,ue=ie.remove,de=t.__read(r.useState({}),2),se=de[0],le=de[1],ce=v.useSortableTreeFunctions({fieldName:ne,remove:ue,isOverrides:A}),me=ce.edit,ve=ce.saveValidField,pe=ce.cancelChanges,ge=a.useWatch({control:W,name:ne}),fe=null===(q=null===(_=null==X?void 0:X.steps)||void 0===_?void 0:_[M])||void 0===q?void 0:q.productCategories,ye=null===(x=null===(T=null==X?void 0:X.steps)||void 0===T?void 0:T[M])||void 0===x?void 0:x.venueMapSetId,Ce=null===(N=null===(P=null==X?void 0:X.steps)||void 0===P?void 0:P[M])||void 0===N?void 0:N.pointProducts,Ee=Boolean(ye||Ce),be=s.useSensor(s.MouseSensor,{activationConstraint:{distance:10}});return r.useEffect((function(){ge&&ge.length&&ge.forEach((function(e){var r,n,i=null===(r=e.products)||void 0===r?void 0:r.reduce((function(e,t){return e+Number(t.price)*Number(t.totalQuantity)}),0),o=null===(n=e.products)||void 0===n?void 0:n.reduce((function(e,t){return e+(t.isUnlimited?0:Number(t.totalQuantity))}),0);le((function(r){var n;return t.__assign(t.__assign({},r),((n={})[(null==e?void 0:e.id)||e.uniqueId]={price:i,quantity:o},n))}))}))}),[ge]),r.useEffect((function(){1===oe.length&&O((function(e){var r,n,i;return t.__assign(t.__assign({},e),((r={})[String((null===(n=oe[0])||void 0===n?void 0:n.id)||(null===(i=oe[0])||void 0===i?void 0:i.uniqueId))]=!0,r))}))}),[oe]),n.createElement(n.Fragment,null,n.createElement(m.SortableTree,{sensors:[be],items:oe.map((function(e){return String(e._id)})),onDragEnd:function(e){if(!A){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var n=oe.findIndex((function(e){return e._id===t.id})),i=oe.findIndex((function(e){return e._id===r.id}));if(n!==i){var o=ee(ne);if(o){var a=I.sortArrayByIndex(I.moveArrayElements(o,n,i));te(ne,a)}}}}}},oe.map((function(e,r){var i=(null==e?void 0:e.id)?String(e.id):e.uniqueId,u=e.products.some((function(e){return k?!!e.id:!!e.originalProductId})),d=function(){!function(e){O((function(r){var n;return t.__assign(t.__assign({},r),((n={})[e]=!r[e],n))}))}(i)};return n.createElement(a.Controller,{key:"product-category-".concat(e._id),name:"".concat(ne,".").concat(r,".name"),control:W,rules:{required:j("Validation:fieldRequired",{attribute:j("name")})},render:function(t){var a,s,l,v=t.field,p=v.value,g=v.onChange;return n.createElement(m.SortableTree.Item,{id:e._id,title:p,isExpanded:F[i],setIsExpanded:d,edit:function(){return me(r)},cancelChanges:function(){return pe(r)},isInvalid:!!fe,badge:n.createElement(o.Badge,{className:"category-badge"},j("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===(s=se[null!==(a=null==e?void 0:e.id)&&void 0!==a?a:e.uniqueId])||void 0===s?void 0:s.quantity)&&void 0!==l?l:"N/A"," ",j("products"))),treeLineIconColor:"#1A93AA",modalLabel:j("addNewCategory"),secondaryBadge:S(e.type,j(e.type)),modalClass:c.ProductSetModalClasses.category,isNewAdded:Q,body:n.createElement(y.ProductCategoryControl,{isLoading:h,onCategoryNameChange:g,categoryName:p,stepIndex:M,productCategoryIndex:r,isOverride:A&&u}),isOverride:A,onDelete:function(){return ue(r)},validate:function(){return $("steps.".concat(M,".productCategories.").concat(r))},saveValidField:ve,sortableItems:e.products?e.products.filter((function(e){return e.id})).map((function(e){var t=e.id;return String(t)})):[]},n.createElement(C.ProductsControl,{isLoading:h,quantityType:e.quantityType,hasTicket:null==e?void 0:e.hasTicket,stepIndex:M,zones:R,productCategoryIndex:r,categoryType:e.type,isOverrides:A,isEventEditProductSet:k}))}})}))),n.createElement(p.CreateProductSetItem,{title:j("addCategory"),onClick:function(){w(!0)}}),n.createElement(E.SelectCategoryModal,{isVisible:L,onHide:function(){return w(!1)},onCategorySelect:function(e){ae(function(e,t){return{id:null,uniqueId:l.uniqueId("product-category"),name:"",minSubItems:null,maxSubItems:null,quantityType:f.QUANTITY_TYPE_STANDARD,type:e,isTimeRelated:!1,collectUserInfo:!1,hasTicket:e===f.CATEGORY_TYPE_TICKETS,allowDeposits:!1,remainderExpireAfter:void 0,hasBookingManagement:!1,weight:0,isReusable:!1,hasSubEvents:!1,products:[],zoneId:null,sort:t}}(e,oe.length)),K(!0),(null==fe?void 0:fe.type)===u.manualErrorType&&J(ne)}}),D&&re&&n.createElement(n.Fragment,null,n.createElement(p.CreateProductSetItem,{title:j("editMap"),isOverride:A,onClick:function(){A||U(!0)},className:d("mt-3",Ee&&"mb-3",Ee&&"is-invalid")}),Ee&&n.createElement("div",{className:"manual-form-error"},ye&&j("Validation:fieldRequired",{attribute:j("Design:venueMapSet")}),Ce&&j("Validation:fieldMinNumber",{attribute:j("pointProduct"),min:1})),n.createElement(b.VenueMapSetModal,{isVisible:H,setIsVisible:U,stepIndex:M})),n.createElement("div",{className:"manual-form-error"},fe&&fe.message))},exports.getBadgeConfig=S;
@@ -11,10 +11,13 @@ import { SelectItem } from "../../types/generic/SelectItem";
11
11
  export interface WithIsLoading {
12
12
  isLoading: boolean;
13
13
  }
14
+ export interface WithIdOptional {
15
+ id?: number;
16
+ }
14
17
  export interface WithId {
15
18
  id: number;
16
19
  }
17
- export interface ProductSetFormValues extends FormValues, WithId, ProductSetControlValues {
20
+ export interface ProductSetFormValues extends FormValues, WithIdOptional, ProductSetControlValues {
18
21
  steps: Step[];
19
22
  isOverrides?: boolean;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSetForm.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductSetForm.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAI1F,OAAO,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAK5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oFAAoF,CAAC;AACtI,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAEtF,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,MAAM,EACN,uBAAuB;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBACf,SAAQ,aAAa,EACnB,uBAAuB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,mBAAmB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,4BAA4B,CAAC,EAAE,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;IACxF,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAsB,EACtB,YAAiB,EACjB,4BAA4B,EAC5B,KAAK,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,GAAG,MAAM,EACV,EAAE,mBAAmB,eAuIrB"}
1
+ {"version":3,"file":"ProductSetForm.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductSetForm.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAI1F,OAAO,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAK5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oFAAoF,CAAC;AACtI,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAEtF,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,cAAc,EACd,uBAAuB;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBACf,SAAQ,aAAa,EACnB,uBAAuB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,mBAAmB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,4BAA4B,CAAC,EAAE,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;IACxF,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAsB,EACtB,YAAiB,EACjB,4BAA4B,EAC5B,KAAK,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,GAAG,MAAM,EACV,EAAE,mBAAmB,eAuIrB"}
@@ -11,7 +11,8 @@ interface ProductsControlProps extends WithIsLoading {
11
11
  categoryType: CategoryType;
12
12
  zones?: Zone[];
13
13
  isOverrides?: boolean;
14
+ isEventEditProductSet?: boolean;
14
15
  }
15
- export declare function ProductsControl({ isLoading, quantityType, stepIndex, productCategoryIndex, hasTicket, categoryType, zones, isOverrides, }: ProductsControlProps): JSX.Element;
16
+ export declare function ProductsControl({ isLoading, quantityType, stepIndex, productCategoryIndex, hasTicket, categoryType, zones, isOverrides, isEventEditProductSet, }: ProductsControlProps): JSX.Element;
16
17
  export {};
17
18
  //# sourceMappingURL=ProductsControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductsControl.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmCD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,KAAK,EACL,WAAW,GACZ,EAAE,oBAAoB,eA6NtB"}
1
+ {"version":3,"file":"ProductsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductsControl.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAoCD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,KAAK,EACL,WAAW,EACX,qBAAqB,GACtB,EAAE,oBAAoB,eAoOtB"}
@@ -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"),o=e(r),n=require("react-i18next"),i=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),c=require("@dnd-kit/core"),d=require("lodash");require("../elements/DeleteFieldButton.js");var s=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js");require("../card/ProductSetCard.js");var p=require("../hooks/useSortableTreeFunctions.js"),m=require("../item/CreateProductSetItem.js");require("../step/StepControl.js"),require("../product-category/ProductCategoryControl.js");var v=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),g=require("@licklist/core/dist/Services");require("../product/booking-management/ProductBookingManagementControl.js"),require("../product/deposit/ProductDepositControl.js"),require("../product/quantity/ProductQuantityControl.js"),require("../product/quantity/ProductQuantityConstantControl.js"),require("../product/quantity/ProductQuantityRechargingControl.js");var f=require("../product/ProductControl.js"),q=require("./SubProductsControl.js"),y=require("./ProductCategoriesControl.js");require("../control/ProductSetControl.js"),require("../deposit-paid/ProductSetDepositPaidControl.js"),require("./ProductSetForm.js"),require("../popover/ProductSetPopover.js"),require("../tabs/ProductSetTab.js"),require("../tabs/ProductSetTabs.js");exports.ProductsControl=function(e){var C,P,b,S,_=e.isLoading,j=e.quantityType,T=e.stepIndex,h=e.productCategoryIndex,E=e.hasTicket,I=e.categoryType,k=e.zones,x=e.isOverrides,D=n.useTranslation("Design").t,N=a.useFormContext(),F=t.__read(r.useState(!1),2),A=F[0],O=F[1],M=N.control,Q=N.formState.errors,w=N.clearErrors,B=N.trigger,U=N.setValue,L=N.watch,R=N.getValues,V=L("steps.".concat(T,".productCategories.").concat(h,".zoneId")),z=null==k?void 0:k.find((function(e){return e.id===Number(V)})),W="steps.".concat(T,".productCategories.").concat(h,".products"),H="steps.".concat(T,".pointProducts"),G=a.useFieldArray({name:W,control:M,keyName:"_id"}),Y=G.fields,J=G.append,K=G.remove,X=G.move,Z=p.useSortableTreeFunctions({fieldName:W,remove:K,isOverrides:x}),$=Z.edit,ee=Z.saveValidField,te=Z.cancelChanges,re=L("steps.".concat(T,".productCategories.").concat(h,".allowDeposits")),oe=a.useWatch({control:M,name:t.__spreadArray([],t.__read(Y.map((function(e,t){return"".concat(W,".").concat(t,".price")}))),!1)}),ne=a.useWatch({control:M,name:t.__spreadArray([],t.__read(Y.map((function(e,t){return"".concat(W,".").concat(t,".totalQuantity")}))),!1)}),ie=a.useWatch({control:M,name:t.__spreadArray([],t.__read(Y.map((function(e,t){return"".concat(W,".").concat(t,".isUnlimited")}))),!1)}),ae=null===(S=null===(b=null===(P=null===(C=null==Q?void 0:Q.steps)||void 0===C?void 0:C[T])||void 0===P?void 0:P.productCategories)||void 0===b?void 0:b[h])||void 0===S?void 0:S.products,ue=1===Y.length,ce=c.useSensor(c.MouseSensor,{activationConstraint:{distance:10}});return o.createElement(o.Fragment,null,o.createElement(l.SortableTree,{items:Y.map((function(e){return String(e._id)})),onDragEnd:function(e){if(!x){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var o=Y.findIndex((function(e){return e._id===t.id})),n=Y.findIndex((function(e){return e._id===r.id}));o!==n&&(X(o,n),Y.forEach((function(e,t){U("".concat(W,".").concat(t,".sort"),t)})))}}},sensors:[ce]},Y.map((function(e,t){return o.createElement(a.Controller,{key:e._id,control:M,name:"".concat(W,".").concat(t,".name"),rules:{required:D("Validation:fieldRequired",{attribute:D("name")})},render:function(r){var n=r.field,a=n.value,u=n.onChange;return o.createElement(l.SortableTree.Item,{key:"product-".concat(e._id),id:String(e._id),isExpanded:ue,isInvalid:!!ae,title:a,isOverride:x,badge:o.createElement(i.Badge,{className:"product-badge"},D("product")),isIconInHeader:!1,cancelChanges:function(){return te(t)},edit:function(){return $(t)},isProduct:!0,secondaryBadge:y.getBadgeConfig(I,D(I)),subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-product-dot"}),o.createElement("span",null,"£".concat(oe[t]," ").concat(D("each")," - ").concat(D("qty"),":").concat(ie[t]?D(" unlimited"):" ".concat(ne[t])," ").concat(ie[t]?"":" - ".concat(D("possibleRevenue")," £").concat(oe[t]*ne[t])," "))),modalLabel:D("addNewProduct"),modalClass:s.ProductSetModalClasses.product,isNewAdded:A,body:o.createElement(f.ProductControl,{isLoading:_,quantityType:j,allowDeposits:re,hasBookingManagement:!1,fieldNamePrefix:"".concat(W,".").concat(t),productName:a,onProductNameChange:u,hasTicket:E,categoryType:I,zoneDuration:null==z?void 0:z.defaultDuration,isOverrides:x}),onDelete:function(){return function(e){if(!x){var t=R("".concat(W,".").concat(e)),r=R(H);U(H,(null==r?void 0:r.filter((function(e){return e.productUuid!==t.uuid})))||[]),K(e)}}(t)},validate:function(){return B("".concat(W,".").concat(t))},saveValidField:ee},o.createElement(q.SubProductsControl,{isLoading:_,quantityType:j,stepIndex:T,productCategoryIndex:h,productIndex:t}))}})}))),o.createElement(m.CreateProductSetItem,{title:D("addProduct"),isOverride:x,onClick:function(){var e;x||(J((e=Y.length,{id:null,name:"",termsAndConditions:"",productGroupId:null,description:"",price:0,deposit:0,minQuantity:null,maxQuantity:null,totalQuantity:0,capacity:0,duration:0,isAvailable:!0,isSoldOut:!1,isRequired:!1,isUnlimited:!1,quantitySelector:1,hasSpecialNotes:!1,weight:0,type:v.DEFAULT_PRODUCT_TYPE,tierId:Number(d.uniqueId()),zoneId:null,subProducts:[],images:[],uuid:g.generateUuid(),subSlots:null,offset:null,pause:null,serviceTime:null,sort:e})),O(!0),(null==ae?void 0:ae.type)===u.manualErrorType&&w(W))}}),o.createElement("div",{className:"manual-form-error"},ae&&ae.message))};
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"),o=e(r),n=require("react-i18next"),i=require("react-bootstrap"),a=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),c=require("@dnd-kit/core"),d=require("lodash");require("../elements/DeleteFieldButton.js");var s=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js");require("../card/ProductSetCard.js");var p=require("../hooks/useSortableTreeFunctions.js"),m=require("../item/CreateProductSetItem.js");require("../step/StepControl.js"),require("../product-category/ProductCategoryControl.js");var v=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),g=require("@licklist/core/dist/Services");require("../product/booking-management/ProductBookingManagementControl.js"),require("../product/deposit/ProductDepositControl.js"),require("../product/quantity/ProductQuantityControl.js"),require("../product/quantity/ProductQuantityConstantControl.js"),require("../product/quantity/ProductQuantityRechargingControl.js");var f=require("../product/ProductControl.js"),q=require("./SubProductsControl.js"),y=require("./ProductCategoriesControl.js");require("../control/ProductSetControl.js"),require("../deposit-paid/ProductSetDepositPaidControl.js"),require("./ProductSetForm.js"),require("../popover/ProductSetPopover.js"),require("../tabs/ProductSetTab.js"),require("../tabs/ProductSetTabs.js");exports.ProductsControl=function(e){var C,P,b,S,_=e.isLoading,j=e.quantityType,T=e.stepIndex,h=e.productCategoryIndex,E=e.hasTicket,I=e.categoryType,k=e.zones,x=e.isOverrides,D=e.isEventEditProductSet,N=n.useTranslation("Design").t,F=a.useFormContext(),A=t.__read(r.useState(!1),2),M=A[0],O=A[1],Q=F.control,w=F.formState.errors,B=F.clearErrors,U=F.trigger,L=F.setValue,R=F.watch,V=F.getValues,z=R("steps.".concat(T,".productCategories.").concat(h,".zoneId")),W=null==k?void 0:k.find((function(e){return e.id===Number(z)})),H="steps.".concat(T,".productCategories.").concat(h,".products"),G="steps.".concat(T,".pointProducts"),Y=a.useFieldArray({name:H,control:Q,keyName:"_id"}),J=Y.fields,K=Y.append,X=Y.remove,Z=Y.move,$=p.useSortableTreeFunctions({fieldName:H,remove:X,isOverrides:x}),ee=$.edit,te=$.saveValidField,re=$.cancelChanges,oe=R("steps.".concat(T,".productCategories.").concat(h,".allowDeposits")),ne=a.useWatch({control:Q,name:t.__spreadArray([],t.__read(J.map((function(e,t){return"".concat(H,".").concat(t,".price")}))),!1)}),ie=a.useWatch({control:Q,name:t.__spreadArray([],t.__read(J.map((function(e,t){return"".concat(H,".").concat(t,".totalQuantity")}))),!1)}),ae=a.useWatch({control:Q,name:t.__spreadArray([],t.__read(J.map((function(e,t){return"".concat(H,".").concat(t,".isUnlimited")}))),!1)}),ue=null===(S=null===(b=null===(P=null===(C=null==w?void 0:w.steps)||void 0===C?void 0:C[T])||void 0===P?void 0:P.productCategories)||void 0===b?void 0:b[h])||void 0===S?void 0:S.products,ce=1===J.length,de=c.useSensor(c.MouseSensor,{activationConstraint:{distance:10}});return o.createElement(o.Fragment,null,o.createElement(l.SortableTree,{items:J.map((function(e){return String(e._id)})),onDragEnd:function(e){if(!x){var t=e.active,r=e.over;if(t&&r&&(null==t?void 0:t.id)&&(null==r?void 0:r.id)){var o=J.findIndex((function(e){return e._id===t.id})),n=J.findIndex((function(e){return e._id===r.id}));o!==n&&(Z(o,n),J.forEach((function(e,t){L("".concat(H,".").concat(t,".sort"),t)})))}}},sensors:[de]},J.map((function(e,t){var r=D?!!e.id:x&&!!e.originalProductId;return o.createElement(a.Controller,{key:e._id,control:Q,name:"".concat(H,".").concat(t,".name"),rules:{required:N("Validation:fieldRequired",{attribute:N("name")})},render:function(n){var a=n.field,u=a.value,c=a.onChange;return o.createElement(l.SortableTree.Item,{key:"product-".concat(e._id),id:String(e._id),isExpanded:ce,isInvalid:!!ue,title:u,isOverride:x,badge:o.createElement(i.Badge,{className:"product-badge"},N("product")),isIconInHeader:!1,cancelChanges:function(){return re(t)},edit:function(){return ee(t)},secondaryBadge:y.getBadgeConfig(I,N(I)),subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-product-dot"}),o.createElement("span",null,"£".concat(ne[t]," ").concat(N("each")," - ").concat(N("qty"),":").concat(ae[t]?N(" unlimited"):" ".concat(ie[t])," ").concat(ae[t]?"":" - ".concat(N("possibleRevenue")," £").concat(ne[t]*ie[t])," "))),modalLabel:N("addNewProduct"),modalClass:s.ProductSetModalClasses.product,isNewAdded:M,body:o.createElement(f.ProductControl,{isLoading:_,quantityType:j,allowDeposits:oe,hasBookingManagement:!1,fieldNamePrefix:"".concat(H,".").concat(t),productName:u,onProductNameChange:c,hasTicket:E,categoryType:I,zoneDuration:null==W?void 0:W.defaultDuration,isOverrides:r}),onDelete:function(){return function(e){if(!x){var t=V("".concat(H,".").concat(e)),r=V(G);L(G,(null==r?void 0:r.filter((function(e){return e.productUuid!==t.uuid})))||[]),X(e)}}(t)},validate:function(){return U("".concat(H,".").concat(t))},saveValidField:te},o.createElement(q.SubProductsControl,{isLoading:_,quantityType:j,stepIndex:T,productCategoryIndex:h,productIndex:t}))}})}))),o.createElement(m.CreateProductSetItem,{title:N("addProduct"),onClick:function(){var e;K((e=J.length,{id:null,name:"",termsAndConditions:"",productGroupId:null,description:"",price:0,deposit:0,minQuantity:null,maxQuantity:null,totalQuantity:0,capacity:0,duration:0,isAvailable:!0,isSoldOut:!1,isRequired:!1,isUnlimited:!1,quantitySelector:1,hasSpecialNotes:!1,weight:0,originalProductId:null,type:v.DEFAULT_PRODUCT_TYPE,tierId:Number(d.uniqueId()),zoneId:null,subProducts:[],images:[],uuid:g.generateUuid(),subSlots:null,offset:null,pause:null,serviceTime:null,sort:e})),O(!0),(null==ue?void 0:ue.type)===u.manualErrorType&&B(H)}}),o.createElement("div",{className:"manual-form-error"},ue&&ue.message))};
@@ -2,7 +2,8 @@
2
2
  interface StepsControlProps {
3
3
  isLoading: boolean;
4
4
  isOverrides?: boolean;
5
+ isEventEditProductSet?: boolean;
5
6
  }
6
- export declare function StepsControl({ isLoading, isOverrides }: StepsControlProps): JSX.Element;
7
+ export declare function StepsControl({ isLoading, isOverrides, isEventEditProductSet, }: StepsControlProps): JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=StepsControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/StepsControl.tsx"],"names":[],"mappings":";AAkBA,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,iBAAiB,eA+IzE"}
1
+ {"version":3,"file":"StepsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/StepsControl.tsx"],"names":[],"mappings":";AAkBA,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,EAAE,iBAAiB,eA+InB"}
@@ -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"),o=e(r),a=require("react-i18next"),s=require("react-hook-form"),n=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js"),d=e(require("react-bootstrap/Badge")),u=require("../hooks/useSortableTreeFunctions.js"),c=require("../item/CreateProductSetItem.js"),m=require("../step/StepControl.js"),p=require("./ProductCategoriesControl.js");exports.StepsControl=function(e){var v=e.isLoading,g=e.isOverrides,f=s.useFormContext(),C=a.useTranslation("Design").t,b=t.__read(r.useState(!1),2),S=b[0],E=b[1],q=f.control,I=f.formState,h=I.errors,F=I.isSubmitting,N=f.clearErrors,j=f.getValues,y=f.setFocus,T=s.useFieldArray({name:"steps",control:q,keyName:"_id"}),k=T.fields,x=T.append,P=T.remove,_=u.useSortableTreeFunctions({fieldName:"steps",remove:P,isOverrides:g}),O=_.edit,L=_.saveValidField,M=_.cancelChanges;r.useEffect((function(){F&&E(!F)}),[F]);var V=1===k.length;return o.createElement(o.Fragment,null,k.map((function(e,t){var r="steps.".concat(t),a=j(r);return o.createElement(s.Controller,{key:"step-".concat(e._id),name:"".concat(r,".name"),control:q,rules:{required:C("Validation:fieldRequired",{attribute:C("name")})},render:function(s){var n,u,c,f=s.field,b=f.value,E=f.onChange;return o.createElement(l.SortableTree.Item,{id:e._id,title:b,badge:o.createElement(d,{className:"step-badge"},C("step")),isExpanded:V||!!(null===(n=h.steps)||void 0===n?void 0:n[t]),isInvalid:!!(null===(u=h.steps)||void 0===u?void 0:u[t]),isIconInHeader:!1,modalLabel:C("addNewStep"),modalClass:i.ProductSetModalClasses.step,isNewAdded:S,edit:function(){return!g&&O(t)},cancelChanges:function(){return M(t)},isOverride:g,subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-step-dot"}),o.createElement("span",null,null===(c=a.productCategories)||void 0===c?void 0:c.length," ",C("categories"))),treeLineIconColor:"#D52902",body:o.createElement(m.StepControl,{isLoading:v,stepIndex:t,stepName:b,onStepNameChange:E}),onDelete:function(){return P(t)},sortableItems:e.productCategories?e.productCategories.map((function(e){var t=e.id;return String(t)})):[],validate:function(){var e,o,a=null===(o=null===(e=h.steps)||void 0===e?void 0:e[t])||void 0===o?void 0:o.name;return a&&y("".concat(r,".name")),Promise.resolve(!a)},saveValidField:L},o.createElement(p.ProductCategoriesControl,{isLoading:v,stepIndex:t,isOverrides:g}))}})})),o.createElement(c.CreateProductSetItem,{title:C("addStep"),isOverride:g,onClick:function(){var e;g||(x({id:null,name:"".concat(C("step")," ").concat(k.length+1),productCategories:[],weight:0,hasMap:!1,venueMapSetId:null}),E(!0),(null===(e=h.steps)||void 0===e?void 0:e.type)===n.manualErrorType&&N("steps"))}}),o.createElement("div",{className:"manual-form-error"},h.steps&&h.steps.message))};
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"),o=e(r),s=require("react-i18next"),a=require("react-hook-form"),i=e(require("@licklist/plugins/dist/services/Form/HookFormService")),n=require("../../sortable-tree/SortableTreeItem.js"),l=require("../../sortable-tree/SortableTree.js"),d=e(require("react-bootstrap/Badge")),u=require("../hooks/useSortableTreeFunctions.js"),c=require("../item/CreateProductSetItem.js"),m=require("../step/StepControl.js"),p=require("./ProductCategoriesControl.js");exports.StepsControl=function(e){var v=e.isLoading,g=e.isOverrides,f=e.isEventEditProductSet,C=a.useFormContext(),b=s.useTranslation("Design").t,S=t.__read(r.useState(!1),2),E=S[0],q=S[1],I=C.control,h=C.formState,F=h.errors,N=h.isSubmitting,P=C.clearErrors,j=C.getValues,y=C.setFocus,T=a.useFieldArray({name:"steps",control:I,keyName:"_id"}),k=T.fields,x=T.append,_=T.remove,O=u.useSortableTreeFunctions({fieldName:"steps",remove:_,isOverrides:g}),L=O.edit,M=O.saveValidField,V=O.cancelChanges;r.useEffect((function(){N&&q(!N)}),[N]);var w=1===k.length;return o.createElement(o.Fragment,null,k.map((function(e,t){var r="steps.".concat(t),s=j(r),i=!!e.id;return o.createElement(a.Controller,{key:"step-".concat(e._id),name:"".concat(r,".name"),control:I,rules:{required:b("Validation:fieldRequired",{attribute:b("name")})},render:function(a){var u,c,C,S=a.field,q=S.value,I=S.onChange;return o.createElement(l.SortableTree.Item,{id:e._id,title:q,badge:o.createElement(d,{className:"step-badge"},b("step")),isExpanded:w||!!(null===(u=F.steps)||void 0===u?void 0:u[t]),isInvalid:!!(null===(c=F.steps)||void 0===c?void 0:c[t]),isIconInHeader:!1,modalLabel:b("addNewStep"),modalClass:n.ProductSetModalClasses.step,isNewAdded:E,edit:function(){return L(t)},cancelChanges:function(){return V(t)},isOverride:i,subTitle:o.createElement("div",{className:"product-set-badges-container"},o.createElement("div",{className:"product-set-subtitle-dot product-set-subtitle-step-dot"}),o.createElement("span",null,null===(C=s.productCategories)||void 0===C?void 0:C.length," ",b("categories"))),treeLineIconColor:"#D52902",body:o.createElement(m.StepControl,{isLoading:v,stepIndex:t,stepName:q,onStepNameChange:I,isOverrides:i}),onDelete:function(){return _(t)},sortableItems:e.productCategories?e.productCategories.map((function(e){var t=e.id;return String(t)})):[],validate:function(){var e,o,s=null===(o=null===(e=F.steps)||void 0===e?void 0:e[t])||void 0===o?void 0:o.name;return s&&y("".concat(r,".name")),Promise.resolve(!s)},saveValidField:M},o.createElement(p.ProductCategoriesControl,{isLoading:v,stepIndex:t,isOverrides:g,isEventEditProductSet:f}))}})})),o.createElement(c.CreateProductSetItem,{title:b("addStep"),onClick:function(){var e;x({id:null,name:"".concat(b("step")," ").concat(k.length+1),productCategories:[],weight:0,hasMap:!1,venueMapSetId:null}),q(!0),(null===(e=F.steps)||void 0===e?void 0:e.type)===i.manualErrorType&&P("steps")}}),o.createElement("div",{className:"manual-form-error"},F.steps&&F.steps.message))};
@@ -1 +1 @@
1
- {"version":3,"file":"useSortableTreeFunctions.d.ts","sourceRoot":"","sources":["../../../src/product-set/hooks/useSortableTreeFunctions.ts"],"names":[],"mappings":"AAGA,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,eAAO,MAAM,wBAAwB,wCAIlC,6BAA6B;kBAIT,MAAM;2BAOG,MAAM;;CAiBrC,CAAC"}
1
+ {"version":3,"file":"useSortableTreeFunctions.d.ts","sourceRoot":"","sources":["../../../src/product-set/hooks/useSortableTreeFunctions.ts"],"names":[],"mappings":"AAGA,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,eAAO,MAAM,wBAAwB,wCAIlC,6BAA6B;kBAIT,MAAM;2BAOG,MAAM;;CAmBrC,CAAC"}
@@ -18,6 +18,7 @@ export interface ProductControlValues extends FormValues, ProductDepositControlV
18
18
  totalQuantity: number;
19
19
  isAvailable: boolean;
20
20
  isSoldOut: boolean;
21
+ originalProductId: number | null;
21
22
  isUnlimited: boolean;
22
23
  isRequired: boolean;
23
24
  quantitySelector: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EAMb,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AAEvF,OAAO,EACL,mBAAmB,EACnB,UAAU,EACX,MAAM,8DAA8D,CAAC;AAGtE,OAAc,EACZ,WAAW,EAKZ,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAO9D,OAAO,EAEL,oCAAoC,EACpC,qCAAqC,EACtC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQ5C,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,2BAA2B,EAC3B,qCAAqC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,gBAAgB,EACtB,mBAAmB,CAAC,CAAC,CAAC,EACtB,oCAAoC,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EACnD,SAAiB,EACjB,eAAe,EACf,aAAqB,EACrB,oBAA4B,EAC5B,QAAa,EACb,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAmB,GACpB,EAAE,mBAAmB,CAAC,CAAC,CAAC,eAwlBxB"}
1
+ {"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EAMb,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EACL,WAAW,EAEZ,MAAM,0DAA0D,CAAC;AAGlE,OAAO,EACL,mBAAmB,EACnB,UAAU,EACX,MAAM,8DAA8D,CAAC;AAEtE,OAAc,EACZ,WAAW,EAKZ,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAO9D,OAAO,EAEL,oCAAoC,EACpC,qCAAqC,EACtC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQ5C,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,2BAA2B,EAC3B,qCAAqC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,gBAAgB,EACtB,mBAAmB,CAAC,CAAC,CAAC,EACtB,oCAAoC,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EACnD,SAAiB,EACjB,eAAe,EACf,aAAqB,EACrB,oBAA4B,EAC5B,QAAa,EACb,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAmB,GACpB,EAAE,mBAAmB,CAAC,CAAC,CAAC,eAolBxB"}
@@ -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"),a=require("react"),n=e(a),r=require("react-i18next"),o=e(require("react-bootstrap/Row")),i=e(require("react-bootstrap/Col")),l=require("react-bootstrap"),c=require("../../static/Icon.js"),s=require("react-hook-form"),d=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@react-aria/utils"),m=e(require("clsx")),p=require("../../static/switch/BooleanSwitch.js"),E=require("../../static/form-number-input/FormNumberInput.js");require("../../static/index.js");var g=require("../form/context.js"),f=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),C=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),v=require("./booking-management/ProductBookingManagementControl.js"),b=require("./deposit/ProductDepositControl.js"),h=require("./quantity/ProductQuantityControl.js"),P=require("./quantity/ProductQuantityConstantControl.js"),I=require("./quantity/ProductQuantityRechargingControl.js"),N=e(require("react-bootstrap/Collapse")),F=require("@licklist/plugins/dist/hooks/Media/useImages"),q=require("@licklist/core/dist/DataMapper/Media/ImageDataMapper"),T=require("../../file-upload/FileUpload.js");require("../../snippet/snippet-template/context/snippetTemplate.js"),require("../../snippet/snippet-template/context/snippetTemplateLoading.js"),require("../../snippet/snippet-template/context/snippetTemplateView.js");var y=require("../../snippet/snippet-template/control/PropertyControl.js");require("../../snippet/snippet-template/form/SnippetTemplateForm.js");var x=require("../../tiptap-editor/TipTapEditor.js");require("../../snippet/snippet-template/settings/SettingButton.js"),require("../../snippet/snippet-template/preview/Preview.js"),require("../../snippet/snippet-template/SnippetTemplate.js");var _=require("./fixed-duration-fields/FixedDurationOptions.js"),k=require("./duration/ProductDurationControl.js"),S=require("./price/ProductPriceControl.js"),D=require("./constants.js");exports.ProductControl=function(e){var j=e.isLoading,L=void 0!==j&&j,A=e.fieldNamePrefix,R=e.allowDeposits,w=void 0!==R&&R,M=e.hasBookingManagement,O=void 0!==M&&M,G=e.zoneList,U=void 0===G?[]:G,B=e.onCopy,Y=e.onProductNameChange,V=e.productName,Q=e.hasTicket,H=e.categoryType,X=e.zoneDuration,z=e.isOverrides,W=void 0!==z&&z,Z=s.useFormContext(),J=Z.register,K=Z.control,$=Z.formState.errors,ee=Z.setValue,te=Z.getValues,ae=Z.watch,ne=Z.trigger,re=Z.clearErrors,oe=a.useContext(g.ProductSetLoadingContext).setLoading,ie=r.useTranslation(["Design","Validation","ProductSet"]).t,le=t.__read(a.useState(!1),2),ce=le[0],se=le[1],de=t.__read(a.useState(null),2),ue=de[0],me=de[1],pe=Boolean(ae("".concat(A,".isUnlimited"))),Ee=ae("".concat(A,".capacity")),ge="0"===Ee||!Ee,fe=u.useId(),Ce=u.useId(),ve=u.useId(),be=u.useId(),he=u.useId(),Pe=u.useId(),Ie=u.useId(),Ne=u.useId(),Fe=u.useId(),qe=u.useId(),Te=u.useId(),ye=[{id:1,value:ie("quantitySelector")},{id:2,value:ie("stockControl")}],xe=a.useCallback((function(){return se((function(e){return!e}))}),[]),_e=s.useWatch({control:K,name:"".concat(A,".quantitySelector")}),ke=F.useImages(ue),Se=ke.images,De=ke.handleImageRemove,je=ke.handleImageUploading,Le=ke.isLoading,Ae=a.useCallback((function(e){je(e,q.IMAGE_TYPE_IMAGE)}),[je]),Re=a.useCallback((function(e,t){De(String(e),t)}),[De]),we=function(e){return e.target.select()};a.useEffect((function(){oe(Le)}),[oe,Le]),a.useEffect((function(){var e=te("".concat(A,".images"));me(e)}),[te,me,A]),a.useEffect((function(){Array.isArray(Se)&&ee("".concat(A,".images"),Se)}),[Se,A,ee]),a.useEffect((function(){ge?(ee("".concat(A,".duration"),0),re("".concat(A,".duration"))):ne("".concat(A,".duration"))}),[ge]);var Me=null!=_e?_e:"1",Oe=f.QUANTITY_TYPE_LIST_DTO[Me];return n.createElement(n.Fragment,null,n.createElement(o,null,n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:Ce},n.createElement(l.Form.Label,null,ie("name")),n.createElement(l.Form.Control,t.__assign({},J("".concat(A,".name")),{value:V,onChange:Y,isInvalid:d.isInvalid("".concat(A,".name"),$),disabled:L||W,placeholder:ie("name")})),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".name"),$))),n.createElement(l.Form.Group,{controlId:ve},n.createElement(l.Form.Label,null,ie("description")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange;return n.createElement(x.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:r,content:a,disabled:L||W})},rules:{maxLength:{value:D.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH,message:ie("Validation:descriptionTooManyCharactersMessage",{max:D.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH})}},control:K,name:"".concat(A,".description")})),n.createElement("div",{className:"invalid-feedback field-values-error d-block"},d.getErrors("".concat(A,".description"),$)),w?n.createElement(o,null,n.createElement(b.ProductDepositControl,{isLoading:L,fieldNamePrefix:A}),n.createElement(S.ProductPriceControl,{isLoading:L,fieldNamePrefix:"".concat(A,".price"),title:ie("totalPrice"),allowDeposits:w})):n.createElement(S.ProductPriceControl,{isLoading:L,fieldNamePrefix:"".concat(A,".price")}),n.createElement("div",null,n.createElement(h.ProductQuantityControl,{isLoading:L,fieldNamePrefix:A,isOverrides:W,onFocus:we}),Oe===f.QUANTITY_TYPE_CONSTANT&&n.createElement(P.ProductQuantityConstantControl,{isLoading:L,fieldNamePrefix:A,onFocus:we,disabled:pe}),Oe===f.QUANTITY_TYPE_RECHARGING&&n.createElement(I.ProductQuantityRechargingControl,{isLoading:L,fieldNamePrefix:A,onFocus:we,disabled:pe}),n.createElement(l.Form.Group,{controlId:qe,className:"custom-checkbox"},n.createElement(l.Form.Check,t.__assign({custom:!0,type:"checkbox"},J("".concat(A,".isUnlimited")),{name:"".concat(A,".isUnlimited"),disabled:L})),n.createElement(l.Form.Check.Label,null,ie("isUnlimited")))),n.createElement(l.Form.Group,{controlId:Ne},n.createElement(l.Form.Label,null,ie("quantitySelectorType")),n.createElement(l.Form.Control,t.__assign({as:"select",defaultValue:Q?ye[0].id:void 0},J("".concat(A,".quantitySelector")),{isInvalid:d.isInvalid("".concat(A,".quantitySelector"),$),disabled:L||Q||W}),ye.map((function(e){return n.createElement("option",{value:e.id,key:e.id},e.value)}))),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".quantitySelector"),$))),n.createElement(y.PropertyControl,{item:"".concat(A,".color"),label:ie("ProductSet:selectColor"),isDisabled:W,isRequired:!1,defaultColors:C.PRODUCT_DEfAULT_COLORS}))),H===f.CATEGORY_TYPE_FIXED_DURATION&&n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(k.ProductDurationControl,{fieldNamePrefix:A,disabled:ge||W}),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".capacity"),label:ie("capacity"),disabled:W,rules:{min:{value:0,message:ie("Validation:fieldMinNumber",{attribute:ie("capacity"),min:0})}}})),ge&&n.createElement("div",{className:"duration-hint duration-capacity-container"},ie("Design:forDurationEditing"))),H===f.CATEGORY_TYPE_GAME&&n.createElement(n.Fragment,null,n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".capacity"),label:ie("capacity"),onChange:function(e){X&&ee("".concat(A,".duration"),e*X)},disabled:W,rules:{min:{value:0,message:ie("Validation:fieldMinNumber",{attribute:ie("capacity"),min:1})}}})),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".duration"),label:ie("durationMinutes"),disabled:ge||W,rules:{min:{value:0,message:ie("Validation:fieldMinNumber",{attribute:ie("duration"),min:0})},validate:function(e){return!(!ge&&(!e||e<1))||ie("Validation:fieldRequired",{attribute:ie("duration")})}}}))),ge&&n.createElement("div",{className:"duration-hint pl-0"},ie("Design:forDurationEditing"))),n.createElement(o,{className:"mt-4"},n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:be},n.createElement(l.Form.Label,null,ie("productTermsConditions")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name,i=t.ref;return n.createElement(l.Form.Control,{ref:i,as:"textarea",rows:3,value:a,onChange:r,isInvalid:d.isInvalid("".concat(A,".termsAndConditions"),$),disabled:L||W,name:o})},control:K,name:"".concat(A,".termsAndConditions")}),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".termsAndConditions"),$)))),n.createElement(i,{lg:4,md:4,className:m("licklist-file-upload-wrapper",W&&"opacity-50")},n.createElement(T.FileUpload,{onFilesChange:Ae,allowedExtensions:["jpeg","jpg","png"],subTitle:".jpeg .jpg .png",enablePreview:!0,onFileRemove:Re,defaultFiles:Se,isLoading:Le,disabled:W,withIcon:!0,title:ie("addImage")}))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(l.Form.Group,{controlId:he,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ie("isAvailable")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:L||W})},control:K,name:"".concat(A,".isAvailable")})),n.createElement(l.Form.Group,{controlId:Pe,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ie("isSoldOut")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:L})},control:K,name:"".concat(A,".isSoldOut")})),n.createElement(l.Form.Group,{controlId:fe,className:"custom-checkbox"},n.createElement(l.Form.Check,{custom:!0,type:"checkbox",name:fe,disabled:L||W},n.createElement(l.Form.Check.Input,{checked:ce,onChange:xe,type:"checkbox"}),n.createElement(l.Form.Check.Label,null,ie("showAdvancedOptions"))))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(N,{in:ce},n.createElement("div",null,n.createElement(l.Form.Group,{controlId:Ie,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ie("isRequired")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:L||W})},control:K,name:"".concat(A,".isRequired")})),n.createElement(l.Form.Group,{controlId:Fe,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ie("hasSpecialNotes")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:L||W})},control:K,name:"".concat(A,".hasSpecialNotes")})),[f.CATEGORY_TYPE_GAME,f.CATEGORY_TYPE_FIXED_DURATION].includes(H)&&n.createElement(_.FixedDurationOptions,{fieldNamePrefix:A,isOverrides:W}),n.createElement(l.Form.Group,{controlId:Te,className:"advanced-switch-container"},n.createElement(S.ProductPriceControl,{title:ie("minSpend"),isRequired:!1,isMoreThanZero:!0,allowDeposits:!1,isLoading:L||W,fieldNamePrefix:"".concat(A,".minSpend")})))),n.createElement(o,null,n.createElement(i,{xs:12},O&&n.createElement(v.ProductBookingManagementControl,{isLoading:L,zoneList:U,fieldNamePrefix:A})))),n.createElement(o,null,n.createElement(i,{xs:!0},n.createElement("div",{className:"d-flex justify-content-end mt-4"},Boolean(B)&&n.createElement(l.Button,{onClick:B,variant:"link",className:"d-flex align-items-center"},n.createElement(c.default,{type:"clipboard",height:"1rem",className:"mr-2"})," ",ie("copy"))))))};
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"),a=require("react"),n=e(a),r=require("react-i18next"),o=e(require("react-bootstrap/Row")),i=e(require("react-bootstrap/Col")),l=require("react-bootstrap"),c=require("../../static/Icon.js"),s=require("react-hook-form"),d=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@react-aria/utils"),m=e(require("clsx")),p=require("../../static/switch/BooleanSwitch.js"),E=require("../../static/form-number-input/FormNumberInput.js");require("../../static/index.js");var g=require("../form/context.js"),f=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),C=require("@licklist/core/dist/DataMapper/Product/ProductDataMapper"),v=require("./booking-management/ProductBookingManagementControl.js"),b=require("./deposit/ProductDepositControl.js"),I=require("./quantity/ProductQuantityControl.js"),h=require("./quantity/ProductQuantityConstantControl.js"),F=require("./quantity/ProductQuantityRechargingControl.js"),P=e(require("react-bootstrap/Collapse")),N=require("@licklist/plugins/dist/hooks/Media/useImages"),q=require("@licklist/core/dist/DataMapper/Media/ImageDataMapper"),T=require("../../file-upload/FileUpload.js");require("../../snippet/snippet-template/context/snippetTemplate.js"),require("../../snippet/snippet-template/context/snippetTemplateLoading.js"),require("../../snippet/snippet-template/context/snippetTemplateView.js");var y=require("../../snippet/snippet-template/control/PropertyControl.js");require("../../snippet/snippet-template/form/SnippetTemplateForm.js");var _=require("../../tiptap-editor/TipTapEditor.js");require("../../snippet/snippet-template/settings/SettingButton.js"),require("../../snippet/snippet-template/preview/Preview.js"),require("../../snippet/snippet-template/SnippetTemplate.js");var x=require("./fixed-duration-fields/FixedDurationOptions.js"),k=require("./duration/ProductDurationControl.js"),S=require("./price/ProductPriceControl.js"),D=require("./constants.js");exports.ProductControl=function(e){var L=e.isLoading,j=void 0!==L&&L,A=e.fieldNamePrefix,G=e.allowDeposits,R=void 0!==G&&G,w=e.hasBookingManagement,M=void 0!==w&&w,O=e.zoneList,U=void 0===O?[]:O,B=e.onCopy,Y=e.onProductNameChange,V=e.productName,Q=e.hasTicket,H=e.categoryType,X=e.zoneDuration,z=e.isOverrides,W=void 0!==z&&z,Z=s.useFormContext(),J=Z.register,K=Z.control,$=Z.formState.errors,ee=Z.setValue,te=Z.getValues,ae=Z.watch,ne=Z.trigger,re=Z.clearErrors,oe=a.useContext(g.ProductSetLoadingContext),ie=oe.setLoading,le=oe.productGroupList,ce=r.useTranslation(["Design","Validation","ProductSet"]).t,se=t.__read(a.useState(!1),2),de=se[0],ue=se[1],me=t.__read(a.useState(null),2),pe=me[0],Ee=me[1],ge=Boolean(ae("".concat(A,".isUnlimited"))),fe=ae("".concat(A,".capacity")),Ce="0"===fe||!fe,ve=u.useId(),be=u.useId(),Ie=u.useId(),he=u.useId(),Fe=u.useId(),Pe=u.useId(),Ne=u.useId(),qe=u.useId(),Te=u.useId(),ye=u.useId(),_e=u.useId(),xe=u.useId(),ke=[{id:1,value:ce("quantitySelector")},{id:2,value:ce("stockControl")}],Se=a.useCallback((function(){return ue((function(e){return!e}))}),[]),De=s.useWatch({control:K,name:"".concat(A,".quantitySelector")}),Le=N.useImages(pe),je=Le.images,Ae=Le.handleImageRemove,Ge=Le.handleImageUploading,Re=Le.isLoading,we=a.useCallback((function(e){Ge(e,q.IMAGE_TYPE_IMAGE)}),[Ge]),Me=a.useCallback((function(e,t){Ae(String(e),t)}),[Ae]),Oe=function(e){return e.target.select()};a.useEffect((function(){ie(Re)}),[ie,Re]),a.useEffect((function(){var e=te("".concat(A,".images"));Ee(e)}),[te,Ee,A]),a.useEffect((function(){Array.isArray(je)&&ee("".concat(A,".images"),je)}),[je,A,ee]),a.useEffect((function(){Ce?(ee("".concat(A,".duration"),0),re("".concat(A,".duration"))):ne("".concat(A,".duration"))}),[Ce]);var Ue=null!=De?De:"1",Be=f.QUANTITY_TYPE_LIST_DTO[Ue];return n.createElement(n.Fragment,null,n.createElement(o,null,n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:be},n.createElement(l.Form.Label,null,ce("name")),n.createElement(l.Form.Control,t.__assign({},J("".concat(A,".name")),{value:V,onChange:Y,isInvalid:d.isInvalid("".concat(A,".name"),$),disabled:j||W,placeholder:ce("name")})),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".name"),$))),n.createElement(l.Form.Group,{controlId:he},n.createElement(l.Form.Label,null,ce("description")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange;return n.createElement(_.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:r,content:a,disabled:j||W})},rules:{maxLength:{value:D.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH,message:ce("Validation:descriptionTooManyCharactersMessage",{max:D.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH})}},control:K,name:"".concat(A,".description")})),n.createElement("div",{className:"invalid-feedback field-values-error d-block"},d.getErrors("".concat(A,".description"),$)),R?n.createElement(o,null,n.createElement(b.ProductDepositControl,{isLoading:j,fieldNamePrefix:A}),n.createElement(S.ProductPriceControl,{isLoading:j,fieldNamePrefix:"".concat(A,".price"),title:ce("totalPrice"),allowDeposits:R})):n.createElement(S.ProductPriceControl,{isLoading:j,fieldNamePrefix:"".concat(A,".price")}),n.createElement("div",null,n.createElement(I.ProductQuantityControl,{isLoading:j,fieldNamePrefix:A,isOverrides:W,onFocus:Oe}),Be===f.QUANTITY_TYPE_CONSTANT&&n.createElement(h.ProductQuantityConstantControl,{isLoading:j,fieldNamePrefix:A,onFocus:Oe,disabled:ge}),Be===f.QUANTITY_TYPE_RECHARGING&&n.createElement(F.ProductQuantityRechargingControl,{isLoading:j,fieldNamePrefix:A,onFocus:Oe,disabled:ge}),n.createElement(l.Form.Group,{controlId:_e,className:"custom-checkbox"},n.createElement(l.Form.Check,t.__assign({custom:!0,type:"checkbox"},J("".concat(A,".isUnlimited")),{name:"".concat(A,".isUnlimited"),disabled:j})),n.createElement(l.Form.Check.Label,null,ce("isUnlimited")))),n.createElement(l.Form.Group,{controlId:Te},n.createElement(l.Form.Label,null,ce("quantitySelectorType")),n.createElement(l.Form.Control,t.__assign({as:"select",defaultValue:Q?ke[0].id:void 0},J("".concat(A,".quantitySelector")),{isInvalid:d.isInvalid("".concat(A,".quantitySelector"),$),disabled:j||Q||W}),ke.map((function(e){return n.createElement("option",{value:e.id,key:e.id},e.value)}))),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".quantitySelector"),$))),n.createElement(y.PropertyControl,{item:"".concat(A,".color"),label:ce("ProductSet:selectColor"),isDisabled:W,isRequired:!1,defaultColors:C.PRODUCT_DEfAULT_COLORS}),n.createElement(l.Form.Group,{controlId:Ie},n.createElement(l.Form.Label,null,ce("productGroup")),n.createElement(l.Form.Control,t.__assign({as:"select"},J("".concat(A,".productGroupId")),{isInvalid:d.isInvalid("".concat(A,".productGroupId"),$),disabled:j||W,defaultValue:""}),n.createElement("option",{value:""},ce("Design:selectProductGroup")),le.map((function(e){return n.createElement("option",{value:e.id,key:e.id},e.value)}))),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".productGroupId"),$))))),H===f.CATEGORY_TYPE_FIXED_DURATION&&n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(k.ProductDurationControl,{fieldNamePrefix:A,disabled:Ce||W}),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".capacity"),label:ce("capacity"),disabled:W,rules:{min:{value:0,message:ce("Validation:fieldMinNumber",{attribute:ce("capacity"),min:0})}}})),Ce&&n.createElement("div",{className:"duration-hint duration-capacity-container"},ce("Design:forDurationEditing"))),H===f.CATEGORY_TYPE_GAME&&n.createElement(n.Fragment,null,n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".capacity"),label:ce("capacity"),onChange:function(e){X&&ee("".concat(A,".duration"),e*X)},disabled:W,rules:{min:{value:0,message:ce("Validation:fieldMinNumber",{attribute:ce("capacity"),min:1})}}})),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(A,".duration"),label:ce("durationMinutes"),disabled:Ce||W,rules:{min:{value:0,message:ce("Validation:fieldMinNumber",{attribute:ce("duration"),min:0})},validate:function(e){return!(!Ce&&(!e||e<1))||ce("Validation:fieldRequired",{attribute:ce("duration")})}}}))),Ce&&n.createElement("div",{className:"duration-hint pl-0"},ce("Design:forDurationEditing"))),n.createElement(o,{className:"mt-4"},n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:Fe},n.createElement(l.Form.Label,null,ce("productTermsConditions")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name,i=t.ref;return n.createElement(l.Form.Control,{ref:i,as:"textarea",rows:3,value:a,onChange:r,isInvalid:d.isInvalid("".concat(A,".termsAndConditions"),$),disabled:j||W,name:o})},control:K,name:"".concat(A,".termsAndConditions")}),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(A,".termsAndConditions"),$)))),n.createElement(i,{lg:4,md:4,className:m("licklist-file-upload-wrapper",W&&"opacity-50")},n.createElement(T.FileUpload,{onFilesChange:we,allowedExtensions:["jpeg","jpg","png"],subTitle:".jpeg .jpg .png",enablePreview:!0,onFileRemove:Me,defaultFiles:je,isLoading:Re,disabled:W,withIcon:!0,title:ce("addImage")}))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(l.Form.Group,{controlId:Pe,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ce("isAvailable")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:j||W})},control:K,name:"".concat(A,".isAvailable")})),n.createElement(l.Form.Group,{controlId:Ne,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ce("isSoldOut")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:j})},control:K,name:"".concat(A,".isSoldOut")})),n.createElement(l.Form.Group,{controlId:ve,className:"custom-checkbox"},n.createElement(l.Form.Check,{custom:!0,type:"checkbox",name:ve,disabled:j||W},n.createElement(l.Form.Check.Input,{checked:de,onChange:Se,type:"checkbox"}),n.createElement(l.Form.Check.Label,null,ce("showAdvancedOptions"))))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(P,{in:de},n.createElement("div",null,n.createElement(l.Form.Group,{controlId:qe,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ce("isRequired")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:j||W})},control:K,name:"".concat(A,".isRequired")})),n.createElement(l.Form.Group,{controlId:ye,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ce("hasSpecialNotes")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(p.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:j||W})},control:K,name:"".concat(A,".hasSpecialNotes")})),[f.CATEGORY_TYPE_GAME,f.CATEGORY_TYPE_FIXED_DURATION].includes(H)&&n.createElement(x.FixedDurationOptions,{fieldNamePrefix:A,isOverrides:W}),n.createElement(l.Form.Group,{controlId:xe,className:"advanced-switch-container"},n.createElement(S.ProductPriceControl,{title:ce("minSpend"),isRequired:!1,isMoreThanZero:!0,allowDeposits:!1,isLoading:j||W,fieldNamePrefix:"".concat(A,".minSpend")})))),n.createElement(o,null,n.createElement(i,{xs:12},M&&n.createElement(v.ProductBookingManagementControl,{isLoading:j,zoneList:U,fieldNamePrefix:A})))),n.createElement(o,null,n.createElement(i,{xs:!0},n.createElement("div",{className:"d-flex justify-content-end mt-4"},Boolean(B)&&n.createElement(l.Button,{onClick:B,variant:"link",className:"d-flex align-items-center"},n.createElement(c.default,{type:"clipboard",height:"1rem",className:"mr-2"})," ",ce("copy"))))))};
@@ -1 +1 @@
1
- {"version":3,"file":"FixedDurationOptions.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/fixed-duration-fields/FixedDurationOptions.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAMnG,UAAU,yBAAyB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,qFA+ChC,CAAC"}
1
+ {"version":3,"file":"FixedDurationOptions.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/fixed-duration-fields/FixedDurationOptions.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAInG,UAAU,yBAAyB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,qFA+ChC,CAAC"}
@@ -16,6 +16,7 @@ export interface StepControlProps extends IsDeletableEvent {
16
16
  stepIndex: number;
17
17
  stepName: string;
18
18
  onStepNameChange: (args: any) => void;
19
+ isOverrides?: boolean;
19
20
  }
20
- export declare function StepControl({ isLoading, stepIndex, stepName, onStepNameChange, }: StepControlProps): JSX.Element;
21
+ export declare function StepControl({ isLoading, stepIndex, stepName, onStepNameChange, isOverrides, }: StepControlProps): JSX.Element;
21
22
  //# sourceMappingURL=StepControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/step/StepControl.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI7D,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,EAAE,gBAAgB,eAqGlB"}
1
+ {"version":3,"file":"StepControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/step/StepControl.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI7D,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,WAAmB,GACpB,EAAE,gBAAgB,eAoGlB"}
@@ -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("react"),r=e(t),a=require("react-i18next"),n=require("react-bootstrap"),o=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("@react-aria/utils"),s=require("../../static/switch/BooleanSwitch.js"),c=require("../form/context.js");exports.StepControl=function(e){var m,u,d=e.isLoading,p=e.stepIndex,v=e.stepName,f=e.onStepNameChange,E=t.useContext(c.ProductSetLoadingContext).providerHasMap,C=o.useFormContext(),g=C.control,h=C.formState.errors,F=C.clearErrors,b=C.watch,q=a.useTranslation("Design").t,x="steps.".concat(p,".name"),I="steps.".concat(p,".productCategories"),S=null===(u=null===(m=null==h?void 0:h.steps)||void 0===m?void 0:m[p])||void 0===u?void 0:u.productCategories,M=b("steps.".concat(p,".hasMap"))||!1,N=i.useId(),w=i.useId();return r.createElement(r.Fragment,null,r.createElement(n.Row,null,r.createElement(n.Col,{xs:!0,sm:6,md:!0,lg:!0},r.createElement(n.Form.Group,{controlId:N},r.createElement(n.Form.Label,null,q("name")),r.createElement(o.Controller,{render:function(e){var t=e.field,a=t.name,o=t.ref;return r.createElement(n.Form.Control,{ref:o,value:v,onChange:f,name:a,placeholder:q("name"),isInvalid:l.isInvalid(x,h),disabled:d})},control:g,name:x,rules:{required:q("Validation:fieldRequired",{attribute:q("name")}),validate:function(){return(null==S?void 0:S.type)===l.manualErrorType&&F(I),!0}}}),r.createElement(n.Form.Control.Feedback,{type:"invalid"},l.getErrors(x,h)),E&&r.createElement("div",{className:"mt-5 pt-5"},r.createElement("hr",null),r.createElement(n.Form.Group,{controlId:w,className:"d-flex mb-3 align-items-center"},r.createElement(n.Form.Label,{className:"mr-5 m-0"},q("hasAMap")),r.createElement("div",null,r.createElement(o.Controller,{render:function(e){var t=e.field,a=t.name,n=t.value,o=t.onChange;return r.createElement(s.BooleanSwitch,{name:a,value:Boolean(n),onChange:o,disabled:d})},control:g,name:"steps.".concat(p,".hasMap")}))),M&&r.createElement("p",{className:"mt-5 info"},q("toUseAMapPleaseAddProductsFirst")))))))};
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react"),t=e(r),a=require("react-i18next"),n=require("react-bootstrap"),o=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("@react-aria/utils"),s=require("../../static/switch/BooleanSwitch.js"),c=require("../form/context.js");exports.StepControl=function(e){var m,u,d=e.isLoading,p=e.stepIndex,v=e.stepName,f=e.onStepNameChange,E=e.isOverrides,C=void 0!==E&&E,g=r.useContext(c.ProductSetLoadingContext).providerHasMap,h=o.useFormContext(),F=h.control,b=h.formState.errors,q=h.clearErrors,x=h.watch,I=a.useTranslation("Design").t,S="steps.".concat(p,".name"),M="steps.".concat(p,".productCategories"),N=null===(u=null===(m=null==b?void 0:b.steps)||void 0===m?void 0:m[p])||void 0===u?void 0:u.productCategories,w=x("steps.".concat(p,".hasMap"))||!1,y=i.useId(),j=i.useId();return t.createElement(t.Fragment,null,t.createElement(n.Row,null,t.createElement(n.Col,{xs:!0,sm:6,md:!0,lg:!0},t.createElement(n.Form.Group,{controlId:y},t.createElement(n.Form.Label,null,I("name")),t.createElement(o.Controller,{render:function(e){var r=e.field,a=r.name,o=r.ref;return t.createElement(n.Form.Control,{ref:o,value:v,onChange:f,name:a,placeholder:I("name"),isInvalid:l.isInvalid(S,b),disabled:d||C})},control:F,name:S,rules:{required:I("Validation:fieldRequired",{attribute:I("name")}),validate:function(){return(null==N?void 0:N.type)===l.manualErrorType&&q(M),!0}}}),t.createElement(n.Form.Control.Feedback,{type:"invalid"},l.getErrors(S,b)),g&&t.createElement("div",{className:"mt-5 pt-5"},t.createElement("hr",null),t.createElement(n.Form.Group,{controlId:j,className:"d-flex mb-3 align-items-center"},t.createElement(n.Form.Label,{className:"mr-5 m-0"},I("hasAMap")),t.createElement("div",null,t.createElement(o.Controller,{render:function(e){var r=e.field,a=r.name,n=r.value,o=r.onChange;return t.createElement(s.BooleanSwitch,{name:a,value:Boolean(n),onChange:o,disabled:d||C})},control:F,name:"steps.".concat(p,".hasMap")}))),w&&t.createElement("p",{className:"mt-5 info"},I("toUseAMapPleaseAddProductsFirst")))))))};
@@ -1 +1 @@
1
- {"version":3,"file":"WorkingHoursInputDescription.d.ts","sourceRoot":"","sources":["../../../src/provider/working-hours-input/WorkingHoursInputDescription.tsx"],"names":[],"mappings":";AASA,wBAAgB,4BAA4B,gBAwC3C"}
1
+ {"version":3,"file":"WorkingHoursInputDescription.d.ts","sourceRoot":"","sources":["../../../src/provider/working-hours-input/WorkingHoursInputDescription.tsx"],"names":[],"mappings":";AAOA,wBAAgB,4BAA4B,gBA4B3C"}
@@ -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,o=require("@licklist/core/dist/Config"),n=require("react-i18next"),a=require("react-bootstrap"),i=require("react-hook-form"),u=require("luxon"),l=require("./utils.js");exports.WorkingHoursInputDescription=function(){var e=(0,i.useFormContext().watch)("workingHours"),t=l.useWeekdays("short"),s=n.useTranslation("Design").t;return e?r.createElement(r.Fragment,null,Array.from({length:t.length},(function(e,t){return t})).filter((function(t){var r;return null===(r=null==e?void 0:e[t])||void 0===r?void 0:r.start})).map((function(n){var i=null==e?void 0:e[n];return r.createElement(a.Row,{key:n},r.createElement(a.Col,{xs:"auto"},t[n],":"),r.createElement(a.Col,null,(null==i?void 0:i.end)?i.start?s("timeInterval",{start:u.DateTime.fromISO(i.start).toFormat(o.TIME_FORMAT),end:u.DateTime.fromISO(i.start).toFormat(o.TIME_FORMAT)}):s("timeFrom",{start:u.DateTime.fromISO(i.start).toFormat(o.TIME_FORMAT)}):null))}))):null};
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,n=require("react-i18next"),o=require("react-bootstrap"),u=require("react-hook-form"),a=require("./utils.js");exports.WorkingHoursInputDescription=function(){var e=(0,u.useFormContext().watch)("workingHours"),t=a.useWeekdays("short"),l=n.useTranslation("Design").t;return e?r.createElement(r.Fragment,null,Array.from({length:t.length},(function(e,t){return t})).filter((function(t){var r;return null===(r=null==e?void 0:e[t])||void 0===r?void 0:r.start})).map((function(n){var u=null==e?void 0:e[n];return r.createElement(o.Row,{key:n},r.createElement(o.Col,{xs:"auto"},t[n],":"),r.createElement(o.Col,null,l("timeInterval",{start:u.start,end:u.end})))}))):null};
@@ -1 +1 @@
1
- {"version":3,"file":"RecurrenceAndFrequencyInput.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/RecurrenceAndFrequencyInput.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAC;AAGlE,UAAU,wCAAwC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CACnB,eAAe,EACf,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CACpD,CAAC;IACF,YAAY,CAAC,EAAE,IAAI,CACjB,eAAe,EACf,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CACpD,CAAC;CACH;AAED,iBAAS,2BAA2B,CAAC,EACnC,QAAgB,EAChB,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,EAAE,wCAAwC,eAsG1C;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"RecurrenceAndFrequencyInput.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/RecurrenceAndFrequencyInput.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAC;AAGlE,UAAU,wCAAwC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CACnB,eAAe,EACf,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CACpD,CAAC;IACF,YAAY,CAAC,EAAE,IAAI,CACjB,eAAe,EACf,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CACpD,CAAC;CACH;AAED,iBAAS,2BAA2B,CAAC,EACnC,QAAgB,EAChB,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,EAAE,wCAAwC,eAqG1C;AAED,eAAe,2BAA2B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { PropsWithChildren } from "react";
2
2
  import { Frequency, Weekday } from "rrule";
3
3
  import { DateTime } from "luxon";
4
+ import { WorkHour } from "@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper";
4
5
  import { SupportedFrequency } from "./utils";
5
6
  export interface RecurringDatePickerInputProps {
6
7
  disabled?: boolean;
@@ -10,6 +11,7 @@ export interface RecurringDatePickerInputProps {
10
11
  initialFrequency?: Frequency;
11
12
  setInitialStartDateAfterSelect?: boolean;
12
13
  minDate?: string;
14
+ workHours: WorkHour[] | undefined;
13
15
  }
14
16
  export interface RecurringDatePickerInputValues {
15
17
  rrule?: string;
@@ -24,6 +26,6 @@ export interface RecurringDatePickerInputValues {
24
26
  count?: number;
25
27
  withOutEndDate?: boolean;
26
28
  }
27
- export declare function RecurringDatePickerInput({ disabled, onChange, onDelete, defaultValues, initialFrequency, setInitialStartDateAfterSelect, children, minDate, }: PropsWithChildren<RecurringDatePickerInputProps>): JSX.Element;
29
+ export declare function RecurringDatePickerInput({ disabled, onChange, onDelete, defaultValues, initialFrequency, setInitialStartDateAfterSelect, children, minDate, workHours, }: PropsWithChildren<RecurringDatePickerInputProps>): JSX.Element;
28
30
  export declare const getDateTimeObject: (date: string, time: string) => DateTime | string;
29
31
  //# sourceMappingURL=RecurringDatePickerInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringDatePickerInput.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/RecurringDatePickerInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAsB,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACrE,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAY,MAAM,OAAO,CAAC;AAY3C,OAAO,EAAyB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIpE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,gBAAkC,EAClC,8BAAsC,EACtC,QAAQ,EACR,OAAO,GACR,EAAE,iBAAiB,CAAC,6BAA6B,CAAC,eA0LlD;AAmGD,eAAO,MAAM,iBAAiB,SACtB,MAAM,QACN,MAAM,KACX,QAAQ,GAAG,MAiBb,CAAC"}
1
+ {"version":3,"file":"RecurringDatePickerInput.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/RecurringDatePickerInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAsB,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACrE,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAY,MAAM,OAAO,CAAC;AAU3C,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,OAAO,EAEL,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,gBAAkC,EAClC,8BAAsC,EACtC,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,CAAC,6BAA6B,CAAC,eA6LlD;AAmGD,eAAO,MAAM,iBAAiB,SACtB,MAAM,QACN,MAAM,KACX,QAAQ,GAAG,MAiBb,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"),n=require("react"),r=e(n),a=require("react-i18next"),i=e(require("react-bootstrap/Button")),l=require("react-bootstrap"),u=require("react-hook-form"),o=require("luxon"),d=require("../modals/confirmation/ConfirmModal.js");require("../modals/dialog/Dialog.js"),require("../modals/dialog/DialogContext.js");var s=require("../product-set/elements/DeleteFieldButton.js"),c=require("rrule"),m=e(c),f=require("@licklist/core/dist/Config/Date"),v=require("react-intl"),D=require("@licklist/plugins/dist/hooks/Value/usePreviousValue"),y=require("./RecurrenceIntervalAndFrequencyInput.js"),T=require("./utils.js"),p=require("./RecurrenceWeekdaysInput.js");var q=function(e){var n=e.rrule,r=e.startDate,a=e.endDate,i=e.startTime,l=e.endTime,u=e.initialFrequency,o=void 0===u?c.Frequency.DAILY:u;return t.__assign({startDate:r,endDate:a,startTime:i,endTime:l,interval:1,freq:o},n&&T.parseAndValidateRRule({rrule:n,date:r}))},g=function(e){var r=e.startDate,a=e.endDate,i=e.startTime,l=e.endTime,u=e.byWeekDay,d=void 0===u?[]:u,s=k(r,i||"00:00:00"),c=k(a,l||"23:59:59"),m=v.useIntl(),f=m.formatList,D=m.formatNumber;return n.useMemo((function(){if(s instanceof o.DateTime&&c instanceof o.DateTime&&s.isValid&&c.isValid){var e=o.Interval.fromDateTimes(s.set({second:0}),c.set({second:0})).toDuration(["days","hours","minutes"]);if(e.isValid){var n=function(e,t){return D(e,{style:"unit",unit:t,unitDisplay:"long"})},r=o.Interval.fromDateTimes(s.minus({second:1}),c.plus({second:1})).splitBy({days:1});if(!(d.length?r.reduce((function(e,t){return d.some((function(e){return e.weekday+1===t.start.weekday}))?e+1:e}),0):1))return n(0,"minute");var a=[[e.days,"day"],[e.hours,"hour"],[e.minutes,"minute"]].filter((function(e){return t.__read(e,1)[0]}));return a.length||a.push([0,"minute"]),f(a.map((function(e){return n.apply(void 0,t.__spreadArray([],t.__read(e),!1))})),{style:"long",type:"unit"})}}}),[s,c,d,f,D])},k=function(e,t){var n=o.DateTime.fromFormat("".concat(e," ").concat(t),f.DATE_TIME_FORMAT);if(n.isValid)return n;var r=o.DateTime.fromFormat("".concat(e," ").concat(t),f.DATE_TIME_FULL_FORMAT);return r.isValid?r:""};exports.RecurringDatePickerInput=function(e){var v,T,_,b,F,E,w=e.disabled,h=void 0!==w&&w,I=e.onChange,A=e.onDelete,V=e.defaultValues,x=e.initialFrequency,L=void 0===x?c.Frequency.DAILY:x,j=e.setInitialStartDateAfterSelect,M=void 0!==j&&j,R=e.children,S=e.minDate,N=a.useTranslation(["Design"]).t,C=u.useForm({defaultValues:q({rrule:null!==(v=null==V?void 0:V.rrule)&&void 0!==v?v:"",startDate:null!==(T=null==V?void 0:V.startDate)&&void 0!==T?T:"",endDate:null!==(_=null==V?void 0:V.endDate)&&void 0!==_?_:"",startTime:null!==(b=null==V?void 0:V.startTime)&&void 0!==b?b:"",endTime:null!==(F=null==V?void 0:V.endTime)&&void 0!==F?F:"",initialFrequency:null!==(E=null==V?void 0:V.freq)&&void 0!==E?E:L}),mode:"onChange"}),O=C.watch,P=C.setValue,W=C.handleSubmit,B=O("startDate"),Y=O("endDate"),U=O("startTime"),Q=O("endTime"),J=O("byweekday"),K=D.usePreviousValue(B),z=g({startDate:B,endDate:Y,startTime:U,endTime:Q,byWeekDay:J}),G=function(e){var n,r=k(Y,Q||"23:59:59"),a=Array.isArray(e.byweekday)?e.byweekday.map((function(e){return e instanceof c.Weekday?e:new c.Weekday(null==e?void 0:e.weekday)})):e.byweekday,i=(null==e?void 0:e.endTime)?o.DateTime.fromISO(null==e?void 0:e.endTime).toFormat(f.TIME_FULL_FORMAT):"",l=null!==(n=null==e?void 0:e.endDate)&&void 0!==n?n:"",u=m.optionsToString({until:r instanceof o.DateTime&&r.isValid?null==r?void 0:r.toJSDate():null,byweekday:a,count:e.count,freq:(null==a?void 0:a.length)?c.Frequency.WEEKLY:c.Frequency.DAILY,interval:e.interval}).replace("RRULE:","");I(t.__assign(t.__assign({},e),{endDate:l,endTime:i,rrule:u}))};return n.useEffect((function(){var e,t;if(M&&(!K||B)&&!B&&J&&J.length&&!Number.isNaN(null===(e=J[0])||void 0===e?void 0:e.weekday)){var n=(null===(t=J[0])||void 0===t?void 0:t.weekday)+1,r=o.DateTime.local(),a=o.DateTime.local().set({weekday:n});a>=r||n===r.weekday?P("startDate",a.toSQLDate()):P("startDate",a.plus({week:1}).toSQLDate())}}),[J,M]),r.createElement(u.FormProvider,t.__assign({},C),r.createElement(l.Form,{noValidate:!0,onSubmit:function(e){return e.preventDefault(),e.stopPropagation(),W(G)(e)}},r.createElement(p.default,{date:B,disabled:h}),r.createElement(y.default,{disabled:h,minDate:S}),R,r.createElement("div",{className:"d-inline-flex align-items-center w-100"},r.createElement(i,{type:"submit"},N("Design:apply")),r.createElement("div",{className:"d-flex flex-grow-1 text-muted mx-3 flex-column"},r.createElement("div",null,z&&"lasts ".concat(z))),V&&r.createElement("div",{className:"d-flex justify-content-end delete-btn"},r.createElement(d.ConfirmModal,null,(function(e){return r.createElement(s.DeleteFieldButton,{onDelete:function(){return e(A)}})}))))))},exports.getDateTimeObject=k;
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"),n=require("react"),r=e(n),a=require("react-i18next"),i=e(require("react-bootstrap/Button")),l=require("react-bootstrap"),u=require("react-hook-form"),o=require("luxon"),s=require("../modals/confirmation/ConfirmModal.js");require("../modals/dialog/Dialog.js"),require("../modals/dialog/DialogContext.js");var d=require("../product-set/elements/DeleteFieldButton.js"),c=require("rrule"),m=e(c),f=require("@licklist/core/dist/Config/Date"),v=require("react-intl"),D=require("@licklist/plugins/dist/hooks/Value/usePreviousValue"),y=require("./RecurrenceIntervalAndFrequencyInput.js"),T=require("./utils.js"),p=require("./RecurrenceWeekdaysInput.js");var q=function(e){var n=e.rrule,r=e.startDate,a=e.endDate,i=e.startTime,l=e.endTime,u=e.initialFrequency,o=void 0===u?c.Frequency.DAILY:u;return t.__assign({startDate:r,endDate:a,startTime:i,endTime:l,interval:1,freq:o},n&&T.parseAndValidateRRule({rrule:n,date:r}))},g=function(e){var r=e.startDate,a=e.endDate,i=e.startTime,l=e.endTime,u=e.byWeekDay,s=void 0===u?[]:u,d=k(r,i||"00:00:00"),c=k(a,l||"23:59:59"),m=v.useIntl(),f=m.formatList,D=m.formatNumber;return n.useMemo((function(){if(d instanceof o.DateTime&&c instanceof o.DateTime&&d.isValid&&c.isValid){var e=o.Interval.fromDateTimes(d.set({second:0}),c.set({second:0})).toDuration(["days","hours","minutes"]);if(e.isValid){var n=function(e,t){return D(e,{style:"unit",unit:t,unitDisplay:"long"})},r=o.Interval.fromDateTimes(d.minus({second:1}),c.plus({second:1})).splitBy({days:1});if(!(s.length?r.reduce((function(e,t){return s.some((function(e){return e.weekday+1===t.start.weekday}))?e+1:e}),0):1))return n(0,"minute");var a=[[e.days,"day"],[e.hours,"hour"],[e.minutes,"minute"]].filter((function(e){return t.__read(e,1)[0]}));return a.length||a.push([0,"minute"]),f(a.map((function(e){return n.apply(void 0,t.__spreadArray([],t.__read(e),!1))})),{style:"long",type:"unit"})}}}),[d,c,s,f,D])},k=function(e,t){var n=o.DateTime.fromFormat("".concat(e," ").concat(t),f.DATE_TIME_FORMAT);if(n.isValid)return n;var r=o.DateTime.fromFormat("".concat(e," ").concat(t),f.DATE_TIME_FULL_FORMAT);return r.isValid?r:""};exports.RecurringDatePickerInput=function(e){var v,_,b,F,E,w,h=e.disabled,I=void 0!==h&&h,V=e.onChange,A=e.onDelete,x=e.defaultValues,L=e.initialFrequency,j=void 0===L?c.Frequency.DAILY:L,R=e.setInitialStartDateAfterSelect,M=void 0!==R&&R,S=e.children,N=e.minDate,W=e.workHours,C=a.useTranslation(["Design"]).t,O=u.useForm({defaultValues:q({rrule:null!==(v=null==x?void 0:x.rrule)&&void 0!==v?v:"",startDate:null!==(_=null==x?void 0:x.startDate)&&void 0!==_?_:"",endDate:null!==(b=null==x?void 0:x.endDate)&&void 0!==b?b:"",startTime:null!==(F=null==x?void 0:x.startTime)&&void 0!==F?F:"",endTime:null!==(E=null==x?void 0:x.endTime)&&void 0!==E?E:"",initialFrequency:null!==(w=null==x?void 0:x.freq)&&void 0!==w?w:j}),mode:"onChange"}),P=O.watch,B=O.setValue,Y=O.handleSubmit,U=P("startDate"),H=P("endDate"),Q=P("startTime"),J=P("endTime"),K=P("byweekday"),z=D.usePreviousValue(U),G=g({startDate:U,endDate:H,startTime:Q,endTime:J,byWeekDay:K}),X=T.useWorkHoursValidationRules(K,W),Z=function(e){var n,r=k(H,J||"23:59:59"),a=Array.isArray(e.byweekday)?e.byweekday.map((function(e){return e instanceof c.Weekday?e:new c.Weekday(null==e?void 0:e.weekday)})):e.byweekday,i=(null==e?void 0:e.endTime)?o.DateTime.fromISO(null==e?void 0:e.endTime).toFormat(f.TIME_FULL_FORMAT):"",l=null!==(n=null==e?void 0:e.endDate)&&void 0!==n?n:"",u=m.optionsToString({until:r instanceof o.DateTime&&r.isValid?null==r?void 0:r.toJSDate():null,byweekday:a,count:e.count,freq:(null==a?void 0:a.length)?c.Frequency.WEEKLY:c.Frequency.DAILY,interval:e.interval}).replace("RRULE:","");V(t.__assign(t.__assign({},e),{endDate:l,endTime:i,rrule:u}))};return n.useEffect((function(){var e,t;if(M&&(!z||U)&&!U&&K&&K.length&&!Number.isNaN(null===(e=K[0])||void 0===e?void 0:e.weekday)){var n=(null===(t=K[0])||void 0===t?void 0:t.weekday)+1,r=o.DateTime.local(),a=o.DateTime.local().set({weekday:n});a>=r||n===r.weekday?B("startDate",a.toSQLDate()):B("startDate",a.plus({week:1}).toSQLDate())}}),[K,M]),r.createElement(u.FormProvider,t.__assign({},O),r.createElement(l.Form,{noValidate:!0,onSubmit:function(e){return e.preventDefault(),e.stopPropagation(),Y(Z)(e)}},r.createElement(p.default,{date:U,disabled:I}),r.createElement(y.default,t.__assign({disabled:I,minDate:N},X)),S,r.createElement("div",{className:"d-inline-flex align-items-center w-100"},r.createElement(i,{type:"submit"},C("Design:apply")),r.createElement("div",{className:"d-flex flex-grow-1 text-muted mx-3 flex-column"},r.createElement("div",null,G&&"lasts ".concat(G))),x&&r.createElement("div",{className:"d-flex justify-content-end delete-btn"},r.createElement(s.ConfirmModal,null,(function(e){return r.createElement(d.DeleteFieldButton,{onDelete:function(){return e(A)}})}))))))},exports.getDateTimeObject=k;
@@ -1,3 +1,4 @@
1
+ import { WorkHour } from "@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper";
1
2
  import { Frequency, Weekday } from "rrule";
2
3
  export declare const getWeekdayForFrequency: ({ date, frequency, }: {
3
4
  date: string;
@@ -15,4 +16,15 @@ export declare const parseAndValidateRRule: ({ rrule, date, }: {
15
16
  rrule: string;
16
17
  date: string;
17
18
  }) => ParsedRRuleOptions;
19
+ export declare const useWorkHoursValidationRules: (byWeekDay: Weekday[], workHours: WorkHour[] | undefined) => {
20
+ startTimeRules?: undefined;
21
+ endTimeRules?: undefined;
22
+ } | {
23
+ startTimeRules: {
24
+ validate: (date: string) => string | true;
25
+ };
26
+ endTimeRules: {
27
+ validate: (date: string) => string | true;
28
+ };
29
+ };
18
30
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/utils.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,sBAAsB;UAI3B,MAAM;eACD,SAAS;MAClB,OAUH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,MAAM,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,qBAAqB;WAIzB,MAAM;UACP,MAAM;wBAsEb,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAItF,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,sBAAsB;UAI3B,MAAM;eACD,SAAS;MAClB,OAWH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,MAAM,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,qBAAqB;WAIzB,MAAM;UACP,MAAM;wBAsEb,CAAC;AAEF,eAAO,MAAM,2BAA2B,cAC3B,OAAO,EAAE,aACT,QAAQ,EAAE,GAAG,SAAS;;;;;yBAsBd,MAAM;;;yBA+BN,MAAM;;CAe1B,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("luxon"),n=require("rrule"),t=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,u=function(e){var t=e.date,u=e.frequency,o=r.DateTime.fromISO(t);return new n.Weekday(o.weekday-1,u!==n.Frequency.MONTHLY?void 0:o.day+7>o.daysInMonth?-1:Math.floor(o.day/7)+1)};exports.getWeekdayForFrequency=u,exports.parseAndValidateRRule=function(e){var r,o,a=e.rrule,i=e.date,y="Unsupported RRule",d=new Set(["interval","freq","byweekday","until","count"]),l=new Set([n.Frequency.DAILY,n.Frequency.WEEKLY,n.Frequency.MONTHLY,n.Frequency.YEARLY]),f=t.parseString(a.includes("EXDATE")?a.split(";EXDATE=")[0]:a);if(Object.keys(f).some((function(e){return!d.has(e)}))||void 0===f.freq||!l.has(f.freq)||f.until&&f.count)throw new Error(y);if(f.byweekday){var c=f.byweekday;if(f.freq===n.Frequency.WEEKLY){if(c.some((function(e){return void 0!==e.n})))throw new Error(y)}else{if(f.freq!==n.Frequency.MONTHLY)throw new Error(y);var q=u({date:i,frequency:n.Frequency.MONTHLY});if(c.length>1||(null===(r=c[0])||void 0===r?void 0:r.weekday)!==q.weekday||(null===(o=c[0])||void 0===o?void 0:o.n)!==q.n)throw new Error(y)}}return{interval:f.interval,freq:f.freq,byweekday:f.byweekday,count:f.count,until:f.until}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("@licklist/core/dist/Config"),t=require("react-i18next"),n=require("luxon"),i=require("rrule"),a=(e=i)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@licklist/plugins/dist/utils/dateTime"),u=function(e){var r=e.date,t=e.frequency,a=n.DateTime.fromISO(r);return new i.Weekday(a.weekday-1,t!==i.Frequency.MONTHLY?void 0:a.day+7>a.daysInMonth?-1:Math.floor(a.day/7)+1)};exports.getWeekdayForFrequency=u,exports.parseAndValidateRRule=function(e){var r,t,n=e.rrule,o=e.date,d="Unsupported RRule",l=new Set(["interval","freq","byweekday","until","count"]),f=new Set([i.Frequency.DAILY,i.Frequency.WEEKLY,i.Frequency.MONTHLY,i.Frequency.YEARLY]),s=a.parseString(n.includes("EXDATE")?n.split(";EXDATE=")[0]:n);if(Object.keys(s).some((function(e){return!l.has(e)}))||void 0===s.freq||!f.has(s.freq)||s.until&&s.count)throw new Error(d);if(s.byweekday){var m=s.byweekday;if(s.freq===i.Frequency.WEEKLY){if(m.some((function(e){return void 0!==e.n})))throw new Error(d)}else{if(s.freq!==i.Frequency.MONTHLY)throw new Error(d);var T=u({date:o,frequency:i.Frequency.MONTHLY});if(m.length>1||(null===(r=m[0])||void 0===r?void 0:r.weekday)!==T.weekday||(null===(t=m[0])||void 0===t?void 0:t.n)!==T.n)throw new Error(d)}}return{interval:s.interval,freq:s.freq,byweekday:s.byweekday,count:s.count,until:s.until}},exports.useWorkHoursValidationRules=function(e,i){void 0===e&&(e=[]);var a=t.useTranslation("Validation").t;if(!i)return{};var u=e.length?e.map((function(e){var r=e.weekday;return i.find((function(e){return e.day===r}))})):i,d=u.map((function(e){return n.DateTime.fromFormat(e.start,r.TIME_FORMAT)})).sort(o.dateTimesSortFn("desc"))[0],l={validate:function(e){return n.DateTime.fromFormat(e,r.TIME_FORMAT)>=d||a("fieldTimeAfter",{attribute:a("Design:startTimeSmall"),time:d.toFormat(r.TIME_FORMAT)})}},f=u.map((function(e){var t=e.start,i=e.end;return n.DateTime.fromFormat(t,r.TIME_FORMAT)<=n.DateTime.fromFormat(i,r.TIME_FORMAT)?i:"23:59"})).map((function(e){return n.DateTime.fromFormat(e,r.TIME_FORMAT)})).sort(o.dateTimesSortFn("asc"))[0];return{startTimeRules:l,endTimeRules:{validate:function(e){return n.DateTime.fromFormat(e,r.TIME_FORMAT)<=f||a("fieldTimeBefore",{attribute:a("Design:endTimeSmall"),time:f.toFormat(r.TIME_FORMAT)})}}}};
@@ -1 +1 @@
1
- {"version":3,"file":"ResultCard.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/results/components/ResultCard.tsx"],"names":[],"mappings":";AAKA,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,oDAAoD,CAAC;AAQ1E,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAIF,eAAO,MAAM,UAAU,oDAKpB,eAAe,gBA2FjB,CAAC"}
1
+ {"version":3,"file":"ResultCard.d.ts","sourceRoot":"","sources":["../../../../../src/sales/booking/results/components/ResultCard.tsx"],"names":[],"mappings":";AAKA,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,oDAAoD,CAAC;AAO1E,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,UAAU,oDAKpB,eAAe,gBA2FjB,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=e(require("react")),r=require("@licklist/core/dist/Config"),l=require("react-i18next"),a=require("../../../../static/Icon.js"),n=e(require("clsx")),i=require("luxon"),c=require("react-intl"),u=require("@licklist/plugins/dist/utils/formatDate"),s=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),o=require("@licklist/plugins/dist/utils/sourceTitle");exports.ResultCard=function(e){var m,d,p,E=e.order,f=e.className,v=e.staffMember,y=e.onCardClick,N=l.useTranslation("Design").t,q=c.useIntl().formatNumber,D=E.id,g=E.people,C=E.user,O=E.status,M=E.startDate,T=E.products,b=E.source,k=E.totalAmount,x=E.event,A=E.menu,h=E.remainingToPay,I=(null===(m=T.map((function(e){return e.name})))||void 0===m?void 0:m.join(", "))||"",R=(null==x?void 0:x.name)||(null==A?void 0:A.name)||"",_=function(){y&&y(D)};return t.createElement("div",{className:n("result-card",f),onClick:_,onKeyUp:_,role:"button",tabIndex:0},t.createElement("div",{className:"card-content"},t.createElement("div",{className:"order-id"},D),t.createElement("div",{className:"order-people"},t.createElement(a.default,{type:"user",width:"10",height:"11"}),g),t.createElement("div",{className:"order-description"},t.createElement("p",{className:"name"},C.firstName," ",C.lastName),C.email&&t.createElement("p",null,C.email),(null===(d=C.userDetail)||void 0===d?void 0:d.phone)&&t.createElement("p",null,null===(p=C.userDetail)||void 0===p?void 0:p.phone),t.createElement("p",null,"------"),t.createElement("p",null,N("activity"),": ",R," "),b===s.ORDER_SOURCE_MANUAL&&v&&t.createElement("p",null,N("staff"),": ","".concat(v.firstName," ").concat(v.lastName)),t.createElement("p",null,N("status"),": ",N(O)),t.createElement("p",null,N("date"),": ",u.formatDateStringForEvent(M,!1)),t.createElement("p",null,N("time"),": ",i.DateTime.fromISO(M).toFormat(r.TIME_FORMAT)),t.createElement("p",{className:"products",title:I},N("products"),": ",I),!!h&&t.createElement("p",null,N("remainingAmount"),":"," ",q(h,{style:"currency",currency:r.Currency.GBP})),t.createElement("p",null,N("paidAmount"),":"," ",q(k,{style:"currency",currency:r.Currency.GBP})),t.createElement("p",null,N("source"),": ",N(o.getOrderSourceTitle(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=e(require("react")),r=require("@licklist/core/dist/Config"),l=require("react-i18next"),a=require("../../../../static/Icon.js"),n=e(require("clsx")),i=require("luxon"),c=require("react-intl"),u=require("@licklist/plugins/dist/utils/formatDate"),s=require("@licklist/core/dist/DataMapper/Order/OrderDataMapper"),o=require("@licklist/plugins/dist/utils/sourceTitle");exports.ResultCard=function(e){var m,d,p,E=e.order,f=e.className,v=e.staffMember,y=e.onCardClick,N=l.useTranslation("Design").t,q=c.useIntl().formatNumber,D=E.id,g=E.people,C=E.user,O=E.status,M=E.startDate,T=E.products,b=E.source,k=E.event,x=E.menu,A=E.remainingToPay,h=E.paidAmount,I=(null===(m=T.map((function(e){return e.name})))||void 0===m?void 0:m.join(", "))||"",R=(null==k?void 0:k.name)||(null==x?void 0:x.name)||"",_=function(){y&&y(D)};return t.createElement("div",{className:n("result-card",f),onClick:_,onKeyUp:_,role:"button",tabIndex:0},t.createElement("div",{className:"card-content"},t.createElement("div",{className:"order-id"},D),t.createElement("div",{className:"order-people"},t.createElement(a.default,{type:"user",width:"10",height:"11"}),g),t.createElement("div",{className:"order-description"},t.createElement("p",{className:"name"},C.firstName," ",C.lastName),C.email&&t.createElement("p",null,C.email),(null===(d=C.userDetail)||void 0===d?void 0:d.phone)&&t.createElement("p",null,null===(p=C.userDetail)||void 0===p?void 0:p.phone),t.createElement("p",null,"------"),t.createElement("p",null,N("activity"),": ",R," "),b===s.ORDER_SOURCE_MANUAL&&v&&t.createElement("p",null,N("staff"),": ","".concat(v.firstName," ").concat(v.lastName)),t.createElement("p",null,N("status"),": ",N(O)),t.createElement("p",null,N("date"),": ",u.formatDateStringForEvent(M,!1)),t.createElement("p",null,N("time"),": ",i.DateTime.fromISO(M).toFormat(r.TIME_FORMAT)),t.createElement("p",{className:"products",title:I},N("products"),": ",I),!!A&&t.createElement("p",null,N("remainingAmount"),":"," ",q(A,{style:"currency",currency:r.Currency.GBP})),t.createElement("p",null,N("paidAmount"),":"," ",q(h,{style:"currency",currency:r.Currency.GBP})),t.createElement("p",null,N("source"),": ",N(o.getOrderSourceTitle(b))))))};
@@ -1,11 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { ProductGroup } from "@licklist/core/dist/DataMapper/Product/ProductGroupDataMapper";
3
3
  import { CouponTotalType, CouponType } from "@licklist/core/dist/DataMapper/Product/CouponDataMapper";
4
+ import { TypeaheadOptions } from "../../../typeahead";
4
5
  export interface CouponFormValues {
5
6
  name?: string;
6
7
  code: string;
7
8
  discountType: CouponType;
8
- productGroupIds: string[];
9
+ productGroupIds: Array<TypeaheadOptions | ProductGroup>;
9
10
  discount: number;
10
11
  totalType: CouponTotalType;
11
12
  startFrom: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CouponFormControl.d.ts","sourceRoot":"","sources":["../../../../src/sales/coupon/control/CouponFormControl.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,EAOL,eAAe,EACf,UAAU,EACX,MAAM,yDAAyD,CAAC;AAajE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,UAAU,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,kCAG3B,eAAe,gBAgXjB,CAAC"}
1
+ {"version":3,"file":"CouponFormControl.d.ts","sourceRoot":"","sources":["../../../../src/sales/coupon/control/CouponFormControl.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,EAOL,eAAe,EACf,UAAU,EACX,MAAM,yDAAyD,CAAC;AAYjE,OAAO,EAAa,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,UAAU,CAAC;IACzB,eAAe,EAAE,KAAK,CAAC,gBAAgB,GAAG,YAAY,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,kCAG3B,eAAe,gBAuVjB,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"),l=require("react"),n=e(l),r=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),i=require("luxon"),m=require("@licklist/core/dist/DataMapper/Product/CouponDataMapper"),u=e(require("@licklist/plugins/dist/validation/Rules/couponCodeRules"));exports.CouponFormControl=function(e){var s,d,c,E,p,g,v,F,C,_=e.isLoading,b=void 0!==_&&_,f=e.productGroups,D=a.useFormContext(),y=D.register,T=D.setValue,P=D.getValues,x=D.formState.errors,O=D.watch,G=r.useTranslation(["Design","Notification","App"]).t,R=t.__read(l.useState([]),2),N=R[0],k=R[1],L=O("startFrom"),A=O("validTill"),h=l.useRef(null),w=l.useRef(null),q=((s={})[m.COUPON_TYPE_FIXED]=G("Design:fixed"),s[m.COUPON_TYPE_FIXED_PER_PERSON]=G("Design:fixedPerPerson"),s[m.COUPON_TYPE_PERCENTAGE]=G("Design:percentage"),s[m.COUPON_TYPE_PERCENTAGE_PER_PERSON]=G("Design:percentagePerPerson"),s),S=((d={})[m.COUPON_TOTAL_TYPE_GROSS]=G("Design:grossTotal"),d[m.COUPON_TOTAL_TYPE_TOTAL]=G("Design:depositTotal"),d);return l.useEffect((function(){k(P("productGroupIds"))}),[P]),l.useEffect((function(){T("productGroupIds",N)}),[P,T,N]),n.createElement(o.Row,null,n.createElement(o.Col,{md:5},n.createElement("h2",{className:"mb-5"},G("Design:coupon")),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:name")),n.createElement(o.Form.Control,t.__assign({isInvalid:void 0!==x.name},y("name",{required:G("Validation:fieldRequired",{attribute:G("Design:name")})}),{disabled:b})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(c=null==x?void 0:x.name)||void 0===c?void 0:c.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:couponCode")),n.createElement(o.Form.Control,t.__assign({isInvalid:void 0!==x.code},y("code",{required:G("Validation:fieldRequired",{attribute:G("Design:code")}),pattern:{message:"".concat(G("Validation:fieldCouponCode")),value:u}}),{disabled:b})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(E=null==x?void 0:x.code)||void 0===E?void 0:E.message)))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:discountType")),n.createElement(o.Form.Control,t.__assign({},y("discountType",{required:!0}),{as:"select",defaultValue:null!==(p=P("discountType"))&&void 0!==p?p:1,disabled:b}),Object.keys(q).map((function(e){return n.createElement("option",{value:e,key:e},q[e])}))))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:discount")),n.createElement(o.Form.Control,t.__assign({type:"number",isInvalid:void 0!==x.discount},y("discount",{required:G("Validation:fieldRequired",{attribute:G("Design:discount")})}),{disabled:b})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(g=null==x?void 0:x.discount)||void 0===g?void 0:g.message)))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:applyOn")),n.createElement(o.Form.Control,t.__assign({},y("totalType",{required:!0}),{as:"select",defaultValue:null!==(v=P("totalType"))&&void 0!==v?v:1,disabled:b}),Object.keys(S).map((function(e){return n.createElement("option",{value:e,key:e},S[e])}))))))),n.createElement(o.Col,{md:{span:5,offset:1}},n.createElement("h2",{className:"mb-5"},G("Design:limitations")),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:startFrom")),n.createElement(o.Form.Control,t.__assign({type:"date"},y("startFrom"),{value:L,isInvalid:void 0!==x.startFrom,onChange:function(e){var t=i.DateTime.fromSQL(e.target.value).toISODate();T("startFrom",t)},className:L&&"date-input-with-value",ref:h,onClick:function(){var e;return null===(e=null==h?void 0:h.current)||void 0===e?void 0:e.showPicker()},disabled:b})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(F=null==x?void 0:x.startFrom)||void 0===F?void 0:F.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:validTill")),n.createElement(o.Form.Control,t.__assign({type:"date"},y("validTill"),{value:A,onChange:function(e){var t=i.DateTime.fromSQL(e.target.value).toISODate();T("validTill",t)},ref:w,className:A&&"date-input-with-value",onClick:function(){var e;return null===(e=null==w?void 0:w.current)||void 0===e?void 0:e.showPicker()},disabled:b}))))),f&&(null==f?void 0:f.length)>0&&n.createElement(o.Row,null,n.createElement(o.Col,{md:12},n.createElement("h5",{className:"mt-4"},G("Design:productGroups")),n.createElement(o.Form.Group,{className:"d-flex flex-wrap justify-content-between mt-4 mb-5"},null==f?void 0:f.map((function(e){var l,r,a=null!==(r=null===(l=P("productGroupIds"))||void 0===l?void 0:l.includes(String(e.id)))&&void 0!==r&&r;return n.createElement(o.Form.Check,{key:e.id,label:e.name,defaultChecked:a,disabled:b,onChange:function(l){l.target.checked?k((function(l){return Array.from(new Set(t.__spreadArray(t.__spreadArray([],t.__read(l),!1),[String(e.id)],!1)))})):k((function(t){return t.filter((function(t){return String(e.id)!==t}))}))}})})),n.createElement(o.Form.Control,t.__assign({},y("productGroupIds"),{hidden:!0,value:N,disabled:b}))))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:totalCoupons")),n.createElement(o.Form.Control,t.__assign({},y("totalCoupons"),{type:"number",isInvalid:void 0!==x.totalCoupons,disabled:b})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(C=null==x?void 0:x.totalCoupons)||void 0===C?void 0:C.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:usesPerUser")),n.createElement(o.Form.Control,t.__assign({type:"number"},y("usesPerUser"),{disabled:b}))))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:useAgain")),n.createElement(o.Form.Control,t.__assign({type:"number"},y("useAgain"),{disabled:b})),n.createElement(o.Form.Text,{className:"text-muted"},G("Design:useAgainExplanation")))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:usesPerUserDay")),n.createElement(o.Form.Control,t.__assign({type:"number"},y("usesPerUserDay"),{disabled:b})),n.createElement(o.Form.Text,{className:"text-muted"},G("Design:usesPerUserDayExplanation"))))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:minAmount")),n.createElement(o.Form.Control,t.__assign({type:"number"},y("minAmount"),{disabled:b})),n.createElement(o.Form.Text,{className:"text-muted"},G("Design:minAmountExplanation")))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,G("Design:maxAmount")),n.createElement(o.Form.Control,t.__assign({type:"number"},y("maxAmount"),{disabled:b})),n.createElement(o.Form.Text,{className:"text-muted"},G("Design:maxAmountExplanation")))))))};
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"),l=require("react"),n=e(l),r=require("react-i18next"),o=require("react-bootstrap"),a=require("react-hook-form"),i=require("luxon"),m=require("../../../typeahead/Typeahead.js"),s=require("@licklist/core/dist/DataMapper/Product/CouponDataMapper"),u=e(require("@licklist/plugins/dist/validation/Rules/couponCodeRules")),d=require("../utils/index.js");exports.CouponFormControl=function(e){var c,E,p,g,F,v,C,b,_,D=e.isLoading,T=void 0!==D&&D,f=e.productGroups,y=a.useFormContext(),P=y.register,O=y.setValue,x=y.getValues,G=y.formState.errors,R=y.watch,L=r.useTranslation(["Design","Notification","App"]).t,N=t.__read(l.useState([]),2),h=N[0],q=N[1],k=R("startFrom"),A=R("validTill"),w=l.useRef(null),I=l.useRef(null),S=((c={})[s.COUPON_TYPE_FIXED]=L("Design:fixed"),c[s.COUPON_TYPE_FIXED_PER_PERSON]=L("Design:fixedPerPerson"),c[s.COUPON_TYPE_PERCENTAGE]=L("Design:percentage"),c[s.COUPON_TYPE_PERCENTAGE_PER_PERSON]=L("Design:percentagePerPerson"),c),U=((E={})[s.COUPON_TOTAL_TYPE_GROSS]=L("Design:grossTotal"),E[s.COUPON_TOTAL_TYPE_TOTAL]=L("Design:depositTotal"),E);l.useEffect((function(){var e=x("productGroupIds");q(d.convertToTypeaheadOptions(e))}),[x]),l.useEffect((function(){O("productGroupIds",h)}),[x,O,h]);var V=d.convertToTypeaheadOptions(f);return n.createElement(o.Row,null,n.createElement(o.Col,{md:5},n.createElement("h2",{className:"mb-5"},L("Design:coupon")),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:name")),n.createElement(o.Form.Control,t.__assign({isInvalid:void 0!==G.name},P("name",{required:L("Validation:fieldRequired",{attribute:L("Design:name")})}),{disabled:T})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(p=null==G?void 0:G.name)||void 0===p?void 0:p.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:couponCode")),n.createElement(o.Form.Control,t.__assign({isInvalid:void 0!==G.code},P("code",{required:L("Validation:fieldRequired",{attribute:L("Design:code")}),pattern:{message:"".concat(L("Validation:fieldCouponCode")),value:u}}),{disabled:T})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(g=null==G?void 0:G.code)||void 0===g?void 0:g.message)))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:discountType")),n.createElement(o.Form.Control,t.__assign({},P("discountType",{required:!0}),{as:"select",defaultValue:null!==(F=x("discountType"))&&void 0!==F?F:1,disabled:T}),Object.keys(S).map((function(e){return n.createElement("option",{value:e,key:e},S[e])}))))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:discount")),n.createElement(o.Form.Control,t.__assign({type:"number",isInvalid:void 0!==G.discount},P("discount",{required:L("Validation:fieldRequired",{attribute:L("Design:discount")})}),{disabled:T})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(v=null==G?void 0:G.discount)||void 0===v?void 0:v.message)))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:applyOn")),n.createElement(o.Form.Control,t.__assign({},P("totalType",{required:!0}),{as:"select",defaultValue:null!==(C=x("totalType"))&&void 0!==C?C:1,disabled:T}),Object.keys(U).map((function(e){return n.createElement("option",{value:e,key:e},U[e])}))))))),n.createElement(o.Col,{md:{span:5,offset:1}},n.createElement("h2",{className:"mb-5"},L("Design:limitations")),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:startFrom")),n.createElement(o.Form.Control,t.__assign({type:"date"},P("startFrom"),{value:k,isInvalid:void 0!==G.startFrom,onChange:function(e){var t=i.DateTime.fromSQL(e.target.value).toISODate();O("startFrom",t)},className:k&&"date-input-with-value",ref:w,onClick:function(){var e;return null===(e=null==w?void 0:w.current)||void 0===e?void 0:e.showPicker()},disabled:T})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(b=null==G?void 0:G.startFrom)||void 0===b?void 0:b.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:validTill")),n.createElement(o.Form.Control,t.__assign({type:"date"},P("validTill"),{value:A,onChange:function(e){var t=i.DateTime.fromSQL(e.target.value).toISODate();O("validTill",t)},ref:I,className:A&&"date-input-with-value",onClick:function(){var e;return null===(e=null==I?void 0:I.current)||void 0===e?void 0:e.showPicker()},disabled:T}))))),n.createElement(o.Row,null,n.createElement(o.Col,null,n.createElement(o.Form.Group,{className:"mb-3"},n.createElement(o.Form.Label,null,L("Design:productGroups")),n.createElement(m.Typeahead,{name:"productGroupIds",options:V,isMultipleChoise:!0,isCouponForm:!0,placeholder:L("Design:choose"),noOptionsMessage:L("Design:noSelectedProductGroups")})))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:totalCoupons")),n.createElement(o.Form.Control,t.__assign({},P("totalCoupons"),{type:"number",isInvalid:void 0!==G.totalCoupons,disabled:T})),n.createElement(o.Form.Control.Feedback,{type:"invalid"},null===(_=null==G?void 0:G.totalCoupons)||void 0===_?void 0:_.message))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:usesPerUser")),n.createElement(o.Form.Control,t.__assign({type:"number"},P("usesPerUser"),{disabled:T}))))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:useAgain")),n.createElement(o.Form.Control,t.__assign({type:"number"},P("useAgain"),{disabled:T})),n.createElement(o.Form.Text,{className:"text-muted"},L("Design:useAgainExplanation")))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:usesPerUserDay")),n.createElement(o.Form.Control,t.__assign({type:"number"},P("usesPerUserDay"),{disabled:T})),n.createElement(o.Form.Text,{className:"text-muted"},L("Design:usesPerUserDayExplanation"))))),n.createElement(o.Row,null,n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:minAmount")),n.createElement(o.Form.Control,t.__assign({type:"number"},P("minAmount"),{disabled:T})),n.createElement(o.Form.Text,{className:"text-muted"},L("Design:minAmountExplanation")))),n.createElement(o.Col,{md:6},n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,L("Design:maxAmount")),n.createElement(o.Form.Control,t.__assign({type:"number"},P("maxAmount"),{disabled:T})),n.createElement(o.Form.Text,{className:"text-muted"},L("Design:maxAmountExplanation")))))))};
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { ProductGroup } from "@licklist/core/dist/DataMapper/Product/ProductGroupDataMapper";
2
+ import { ProductGroup, ProductGroupDTO } from "@licklist/core/dist/DataMapper/Product/ProductGroupDataMapper";
3
3
  import { CouponTotalType, CouponType } from "@licklist/core/dist/DataMapper/Product/CouponDataMapper";
4
4
  import { ServerError } from "@licklist/plugins/dist/hooks/Api/useHttpQuery";
5
5
  export interface CouponFormValues {
6
6
  name?: string;
7
7
  code: string;
8
8
  discountType: CouponType;
9
- productGroupIds: string[];
9
+ productGroupIds: ProductGroupDTO[];
10
10
  discount: number;
11
11
  totalType: CouponTotalType;
12
12
  startFrom: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CouponFrom.d.ts","sourceRoot":"","sources":["../../../../src/sales/coupon/form/CouponFrom.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,yDAAyD,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAK5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,UAAU,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,UAAU,wFAOpB,eAAe,gBA+CjB,CAAC"}
1
+ {"version":3,"file":"CouponFrom.d.ts","sourceRoot":"","sources":["../../../../src/sales/coupon/form/CouponFrom.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,YAAY,EACZ,eAAe,EAChB,MAAM,+DAA+D,CAAC;AACvE,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,yDAAyD,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAK5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,UAAU,CAAC;IACzB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,UAAU,wFAOpB,eAAe,gBAkCjB,CAAC"}