@licklist/design 0.63.2 → 0.63.3-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 (153) 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/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  4. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +1 -1
  5. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts.map +1 -1
  6. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +1 -1
  7. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  8. package/dist/iframe/ryft/RyftPaymentForm.d.ts +4 -1
  9. package/dist/iframe/ryft/RyftPaymentForm.d.ts.map +1 -1
  10. package/dist/iframe/ryft/RyftPaymentForm.js +1 -1
  11. package/dist/iframe/ryft/utils/ryft-form.d.ts +5 -2
  12. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
  13. package/dist/iframe/ryft/utils/ryft-form.js +1 -1
  14. package/dist/product-set/control/DateAndRecurrenceInput.d.ts +1 -1
  15. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  16. package/dist/product-set/control/DateAndRecurrenceInput.js +1 -1
  17. package/dist/product-set/control/DateInput.js +1 -1
  18. package/dist/product-set/control/ProductSetControl.d.ts +3 -2
  19. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  20. package/dist/product-set/control/ProductSetControl.js +1 -1
  21. package/dist/product-set/form/ProductCategoriesControl.d.ts +3 -1
  22. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  23. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  24. package/dist/product-set/form/ProductSetForm.d.ts +6 -2
  25. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  26. package/dist/product-set/form/ProductSetForm.js +1 -1
  27. package/dist/product-set/form/ProductsControl.d.ts +3 -1
  28. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  29. package/dist/product-set/form/ProductsControl.js +1 -1
  30. package/dist/product-set/form/StepsControl.d.ts +3 -1
  31. package/dist/product-set/form/StepsControl.d.ts.map +1 -1
  32. package/dist/product-set/form/StepsControl.js +1 -1
  33. package/dist/product-set/product/ProductControl.d.ts +1 -0
  34. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  35. package/dist/product-set/product/ProductControl.js +1 -1
  36. package/dist/product-set/step/StepControl.d.ts +2 -1
  37. package/dist/product-set/step/StepControl.d.ts.map +1 -1
  38. package/dist/product-set/step/StepControl.js +1 -1
  39. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  40. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +1 -1
  41. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts.map +1 -1
  42. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.js +1 -1
  43. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +3 -1
  44. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  45. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +1 -1
  46. package/dist/recurring-date-picker-input/utils.d.ts +5 -0
  47. package/dist/recurring-date-picker-input/utils.d.ts.map +1 -1
  48. package/dist/recurring-date-picker-input/utils.js +1 -1
  49. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  50. package/dist/sales/coupon/control/CouponFormControl.d.ts +2 -1
  51. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  52. package/dist/sales/coupon/control/CouponFormControl.js +1 -1
  53. package/dist/sales/coupon/form/CouponFrom.d.ts +2 -2
  54. package/dist/sales/coupon/form/CouponFrom.d.ts.map +1 -1
  55. package/dist/sales/coupon/utils/index.d.ts +7 -0
  56. package/dist/sales/coupon/utils/index.d.ts.map +1 -0
  57. package/dist/sales/coupon/utils/index.js +1 -0
  58. package/dist/setting/admin/AdminSettingForm.d.ts +2 -2
  59. package/dist/setting/admin/AdminSettingForm.d.ts.map +1 -1
  60. package/dist/sortable-tree/SortableTreeItem.d.ts +1 -2
  61. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  62. package/dist/sortable-tree/SortableTreeItem.js +1 -1
  63. package/dist/styles/iframe-page/PageBody.scss +0 -1
  64. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +8 -0
  65. package/dist/styles/sales/BookingResults.scss +1 -1
  66. package/dist/styles/zones/ZoneForm.scss +2 -1
  67. package/dist/typeahead/Typeahead.d.ts +2 -1
  68. package/dist/typeahead/Typeahead.d.ts.map +1 -1
  69. package/dist/typeahead/Typeahead.js +1 -1
  70. package/dist/zone/form/ZoneForm.d.ts +2 -2
  71. package/dist/zone/form/ZoneForm.d.ts.map +1 -1
  72. package/dist/zone/form/ZoneForm.js +1 -1
  73. package/dist/zone/form/components/ZoneControl.d.ts +2 -2
  74. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  75. package/dist/zone/form/components/ZoneControl.js +1 -1
  76. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts +4 -4
  77. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  78. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  79. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  80. package/package.json +12 -37
  81. package/src/date-time-button/DateTimeButton.stories.tsx +2 -1
  82. package/src/date-time-button/DateTimeButton.tsx +7 -5
  83. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +14 -9
  84. package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +2 -0
  85. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  86. package/src/iframe/ryft/RyftPaymentForm.tsx +11 -2
  87. package/src/iframe/ryft/utils/ryft-form.ts +23 -4
  88. package/src/product-set/control/DateAndRecurrenceInput.tsx +3 -4
  89. package/src/product-set/control/DateInput.tsx +2 -2
  90. package/src/product-set/control/ProductSetControl.tsx +11 -4
  91. package/src/product-set/form/ProductCategoriesControl.tsx +15 -4
  92. package/src/product-set/form/ProductSetForm.tsx +13 -2
  93. package/src/product-set/form/ProductsControl.tsx +93 -77
  94. package/src/product-set/form/StepsControl.tsx +15 -7
  95. package/src/product-set/product/ProductControl.tsx +39 -39
  96. package/src/product-set/step/StepControl.tsx +4 -3
  97. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +4 -18
  98. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +40 -21
  99. package/src/recurring-date-picker-input/RecurringDatePickerInput.stories.tsx +13 -7
  100. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +12 -1
  101. package/src/recurring-date-picker-input/utils.ts +90 -1
  102. package/src/sales/booking/results/components/ResultCard.tsx +0 -3
  103. package/src/sales/coupon/control/CouponFormControl.tsx +28 -51
  104. package/src/sales/coupon/form/CouponFrom.tsx +5 -15
  105. package/src/sales/coupon/utils/index.ts +13 -0
  106. package/src/setting/admin/AdminSettingForm.tsx +2 -2
  107. package/src/sortable-tree/SortableTreeItem.tsx +0 -3
  108. package/src/static/switch/BooleanSwitch.tsx +1 -1
  109. package/src/styles/iframe-page/PageBody.scss +0 -1
  110. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +8 -0
  111. package/src/styles/sales/BookingResults.scss +1 -1
  112. package/src/styles/zones/ZoneForm.scss +2 -1
  113. package/src/typeahead/Typeahead.tsx +16 -3
  114. package/src/zone/form/ZoneForm.tsx +3 -2
  115. package/src/zone/form/components/ZoneControl.tsx +3 -3
  116. package/src/zone/form/components/ZoneRecurrencesControl.tsx +7 -5
  117. package/src/zone/form/utils/dates.ts +9 -10
  118. package/jest.config.js +0 -29
  119. package/tests/Auth/Authorizer.test.tsx +0 -194
  120. package/tests/Auth/Layout/UserNavDropDown.test.tsx +0 -43
  121. package/tests/Auth/Layout/UserNavDropDownToggle.test.tsx +0 -33
  122. package/tests/Auth/Login/LoginComponent.test.tsx +0 -246
  123. package/tests/Auth/Login/LoginFormComponent.test.tsx +0 -182
  124. package/tests/Auth/Register/RegisterComponent.test.tsx +0 -285
  125. package/tests/Auth/Register/RegisterFormComponent.test.tsx +0 -170
  126. package/tests/Auth/Settings/Dashboard/IpInput.test.tsx +0 -130
  127. package/tests/Auth/Social/SocialCallbackComponent.test.tsx +0 -133
  128. package/tests/Auth/Social/SocialFormComponent.test.tsx +0 -118
  129. package/tests/FileUpload/FileUpload.test.tsx +0 -42
  130. package/tests/Notification/EmailTemplate.test.tsx +0 -82
  131. package/tests/ProductSet/ProductSetPopover.test.tsx +0 -40
  132. package/tests/Report/Report.test.tsx +0 -48
  133. package/tests/Sales/Coupon.test.tsx +0 -51
  134. package/tests/Sales/SalesAndVIews.test.tsx +0 -63
  135. package/tests/SnippetTemplates/SnippetTemplates.test.tsx +0 -56
  136. package/tests/Table/FilterHelperComponent.test.tsx +0 -88
  137. package/tests/Table/PaginationHelperComponent.test.tsx +0 -109
  138. package/tests/Table/PerPageHelperComponent.test.tsx +0 -34
  139. package/tests/Table/TableHelperComponent.test.tsx +0 -295
  140. package/tests/TipTapEditor/TipTapEditor.test.tsx +0 -28
  141. package/tests/__mock__/hooks/useAuthApi.ts +0 -13
  142. package/tests/__mock__/hooks/useAuthMock.ts +0 -13
  143. package/tests/__mock__/hooks/useFormMock.ts +0 -27
  144. package/tests/__mock__/hooks/useNotificationMock.ts +0 -13
  145. package/tests/__mock__/hooks/useQueryMock.ts +0 -16
  146. package/tests/__mock__/hooks/useSocialApiMock.ts +0 -20
  147. package/tests/__mock__/hooks/useTranslationMock.ts +0 -17
  148. package/tests/__mock__/hooks/useUserApiMock.ts +0 -18
  149. package/tests/__mock__/hooks/useUserMock.ts +0 -13
  150. package/tests/__mock__/styleMock.js +0 -1
  151. package/tests/__mock__/windowMock.ts +0 -5
  152. package/tests/packages/react-query.tsx +0 -28
  153. package/tests/setupTests.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"Typeahead.d.ts","sourceRoot":"","sources":["../../src/typeahead/Typeahead.tsx"],"names":[],"mappings":";AAIA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,iBAAS,SAAS,CAAC,EACjB,OAAO,EACP,WAAW,EACX,UAAkB,EAClB,gBAAgB,EAChB,IAAS,EACT,gBAAqB,EACrB,SAAS,GACV,EAAE,cAAc,eAiChB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"Typeahead.d.ts","sourceRoot":"","sources":["../../src/typeahead/Typeahead.tsx"],"names":[],"mappings":";AAIA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,iBAAS,SAAS,CAAC,EACjB,OAAO,EACP,WAAW,EACX,UAAkB,EAClB,gBAAgB,EAChB,IAAS,EACT,YAAoB,EACpB,gBAAqB,EACrB,SAAS,GACV,EAAE,cAAc,eA4ChB;AAED,OAAO,EAAE,SAAS,EAAE,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 r=require("tslib"),n=e(require("react")),t=require("react-hook-form"),o=e(require("react-select"));exports.Typeahead=function(e){var i=e.options,l=e.placeholder,a=e.isRequired,u=void 0!==a&&a,s=e.isMultipleChoise,c=e.name,d=void 0===c?"":c,p=e.noOptionsMessage,f=void 0===p?"":p,v=e.isInvalid,m=t.useFormContext().control;return n.createElement(n.Fragment,null,n.createElement(t.Controller,{name:d,control:m,rules:{required:u},render:function(e){var t=e.field;return n.createElement(o,{placeholder:l,value:t.value,isMulti:s,styles:{control:function(e){return r.__assign(r.__assign({},e),v?{borderColor:"red"}:{})}},onChange:function(e){t.onChange(e)},options:i,noOptionsMessage:function(){return n.createElement("span",null,f)}})}}))};
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("tslib"),n=e(require("react")),o=require("react-hook-form"),t=e(require("react-select"));exports.Typeahead=function(e){var i=e.options,s=e.placeholder,a=e.isRequired,l=void 0!==a&&a,u=e.isMultipleChoise,c=e.name,d=void 0===c?"":c,p=e.isCouponForm,m=void 0!==p&&p,f=e.noOptionsMessage,v=void 0===f?"":f,g=e.isInvalid,_=o.useFormContext().control;return n.createElement(n.Fragment,null,n.createElement(o.Controller,{name:d,control:_,rules:{required:l},render:function(e){var o=e.field;return n.createElement(t,{placeholder:s,value:o.value,isMulti:u,styles:{control:function(e){return r.__assign(r.__assign({},e),(n=m?{borderRadius:"1rem",minHeight:"3rem"}:{},g?r.__assign({borderColor:"red"},n):r.__assign({},n)));var n}},onChange:function(e){o.onChange(e)},options:i,noOptionsMessage:function(){return n.createElement("span",null,v)}})}}))};
@@ -7,10 +7,10 @@ export type ZoneFormProps = {
7
7
  onSubmit: (values: Partial<Zone>) => void;
8
8
  serverErrors?: ServerError;
9
9
  isLoading?: boolean;
10
- workHours?: WorkHour[];
10
+ workHours: WorkHour[] | undefined;
11
11
  };
12
12
  export type ZoneFormValues = Partial<Zone> & {
13
13
  localImageBlobURL?: string;
14
14
  };
15
- export declare const ZoneForm: ({ defaultValues, onSubmit, serverErrors, isLoading, }: ZoneFormProps) => JSX.Element;
15
+ export declare const ZoneForm: ({ defaultValues, onSubmit, serverErrors, isLoading, workHours, }: ZoneFormProps) => JSX.Element;
16
16
  //# sourceMappingURL=ZoneForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneForm.d.ts","sourceRoot":"","sources":["../../../src/zone/form/ZoneForm.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,QAAQ,0DAKlB,aAAa,gBAiDf,CAAC"}
1
+ {"version":3,"file":"ZoneForm.d.ts","sourceRoot":"","sources":["../../../src/zone/form/ZoneForm.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,wDAAwD,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,QAAQ,qEAMlB,aAAa,gBAiDf,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 r=require("tslib"),t=require("react"),o=e(t),n=require("react-i18next"),s=require("react-bootstrap"),a=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/FormErrorService")),i=require("./components/ZoneControl.js");exports.ZoneForm=function(e){var u=e.defaultValues,c=e.onSubmit,m=e.serverErrors,d=e.isLoading,f=void 0!==d&&d,b=n.useTranslation("Design").t,p=a.useForm({mode:"onChange",defaultValues:{zoneRecurrences:[]}}),v=p.reset,E=p.setError,g=p.handleSubmit,q=(0,p.watch)();return t.useEffect((function(){u&&v(u)}),[u,v]),t.useEffect((function(){m&&l.handleServerErrors(m,E)}),[m,E]),o.createElement(a.FormProvider,r.__assign({},p),o.createElement(s.Form,{onSubmit:g((function(e){e.localImageBlobURL;var t=r.__rest(e,["localImageBlobURL"]);c(t)}))},o.createElement(i.ZoneControl,{isLoading:f}),o.createElement(s.Row,null,o.createElement(s.Col,{md:6,sm:12}),o.createElement(s.Col,{className:"product-set-save-btn-wrapper p-0 pl-4 d-flex mw-100",md:6,sm:12},o.createElement(s.Button,{className:"product-set-save-btn mt-5 ml-5 d-no dne d-md-block",type:"submit",disabled:f||!q.name},b("saveAndClose"))))))};
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("tslib"),t=require("react"),o=e(t),n=require("react-i18next"),s=require("react-bootstrap"),a=require("react-hook-form"),l=e(require("@licklist/plugins/dist/services/Form/FormErrorService")),u=require("./components/ZoneControl.js");exports.ZoneForm=function(e){var i=e.defaultValues,c=e.onSubmit,m=e.serverErrors,d=e.isLoading,f=void 0!==d&&d,b=e.workHours,p=n.useTranslation("Design").t,v=a.useForm({mode:"onChange",defaultValues:{zoneRecurrences:[]}}),E=v.reset,g=v.setError,q=v.handleSubmit,w=(0,v.watch)();return t.useEffect((function(){i&&E(i)}),[i,E]),t.useEffect((function(){m&&l.handleServerErrors(m,g)}),[m,g]),o.createElement(a.FormProvider,r.__assign({},v),o.createElement(s.Form,{onSubmit:q((function(e){e.localImageBlobURL;var t=r.__rest(e,["localImageBlobURL"]);c(t)}))},o.createElement(u.ZoneControl,{isLoading:f,workHours:b}),o.createElement(s.Row,null,o.createElement(s.Col,{md:6,sm:12}),o.createElement(s.Col,{className:"product-set-save-btn-wrapper p-0 pl-4 d-flex mw-100",md:6,sm:12},o.createElement(s.Button,{className:"product-set-save-btn mt-5 ml-5 d-no dne d-md-block",type:"submit",disabled:f||!w.name},p("saveAndClose"))))))};
@@ -2,7 +2,7 @@
2
2
  import { WorkHour } from "@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper";
3
3
  export type ZoneControlProps = {
4
4
  isLoading: boolean;
5
- workHours?: WorkHour[];
5
+ workHours: WorkHour[] | undefined;
6
6
  };
7
- export declare const ZoneControl: ({ isLoading }: ZoneControlProps) => JSX.Element;
7
+ export declare const ZoneControl: ({ isLoading, workHours }: ZoneControlProps) => JSX.Element;
8
8
  //# sourceMappingURL=ZoneControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAStF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,WAAW,kBAAmB,gBAAgB,gBA0B1D,CAAC"}
1
+ {"version":3,"file":"ZoneControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAStF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,WAAW,6BAA8B,gBAAgB,gBA0BrE,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,o=require("react-bootstrap"),n=require("./NameControl.js"),l=require("./ZoneTypeControl.js"),a=require("./SortControl.js"),i=require("./ZoneRecurrencesControl.js"),m=require("./DescriptionControl.js"),s=require("./ZoneImageControl.js"),c=require("./GameDurationControl.js");exports.ZoneControl=function(e){var r=e.isLoading;return t.createElement(o.Row,null,t.createElement(o.Col,{md:6,sm:12,className:"pr-5"},t.createElement(n.NameControl,{isLoading:r}),t.createElement(i.ZoneRecurrencesControl,null),t.createElement("hr",null),t.createElement(o.Row,null,t.createElement(o.Col,{md:6,sm:6},t.createElement(l.ZoneTypeControl,{isLoading:r}),t.createElement(a.SortControl,{isLoading:r}),t.createElement(c.GameDurationControl,{isLoading:r})),t.createElement(o.Col,{md:6,sm:6},t.createElement(s.ZoneImageControl,{isLoading:r}))),t.createElement("hr",null),t.createElement(o.Row,null,t.createElement(o.Col,{md:12,sm:12},t.createElement(m.DescriptionControl,{isLoading:r})))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("react"),o=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,t=require("react-bootstrap"),n=require("./NameControl.js"),l=require("./ZoneTypeControl.js"),a=require("./SortControl.js"),i=require("./ZoneRecurrencesControl.js"),s=require("./DescriptionControl.js"),m=require("./ZoneImageControl.js"),c=require("./GameDurationControl.js");exports.ZoneControl=function(e){var r=e.isLoading,u=e.workHours;return o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:12,className:"pr-5"},o.createElement(n.NameControl,{isLoading:r}),o.createElement(i.ZoneRecurrencesControl,{workHours:u}),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:6},o.createElement(l.ZoneTypeControl,{isLoading:r}),o.createElement(a.SortControl,{isLoading:r}),o.createElement(c.GameDurationControl,{isLoading:r})),o.createElement(t.Col,{md:6,sm:6},o.createElement(m.ZoneImageControl,{isLoading:r}))),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:12,sm:12},o.createElement(s.DescriptionControl,{isLoading:r})))))};
@@ -4,9 +4,9 @@ import { WorkHour } from "@licklist/core/dist/DataMapper/Provider/WorkHourDataMa
4
4
  export interface DateAndRecurrenceInputValues {
5
5
  zoneRecurrences?: Partial<ZoneRecurrence>[];
6
6
  }
7
- export type ZoneRecurrenceControlProps = {
8
- workHours?: WorkHour[];
9
- isLoading?: boolean;
7
+ type ZoneRecurrenceControlProps = {
8
+ workHours: WorkHour[] | undefined;
10
9
  };
11
- export declare const ZoneRecurrencesControl: () => JSX.Element;
10
+ export declare const ZoneRecurrencesControl: ({ workHours, }: ZoneRecurrenceControlProps) => JSX.Element;
11
+ export {};
12
12
  //# sourceMappingURL=ZoneRecurrencesControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneRecurrencesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneRecurrencesControl.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAMlG,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAWtF,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,mBAsMlC,CAAC"}
1
+ {"version":3,"file":"ZoneRecurrencesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneRecurrencesControl.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAMlG,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAWtF,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;CAC7C;AAED,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,mBAEhC,0BAA0B,gBAuM5B,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("react-i18next"),o=require("react-bootstrap"),a=require("../../../static/Icon.js"),u=require("react-hook-form"),l=require("@react-aria/utils"),c=require("react-use");require("../../../static/index.js");var d=require("@dnd-kit/core"),s=require("@dnd-kit/sortable"),m=require("../../../modals/confirmation/ConfirmModal.js"),v=require("../../../recurring-date-picker-input/RecurringDatePickerInput.js"),f=require("../../../product-set/control/DateAndRecurrenceInput.js"),p=require("./ZoneRecurrenceControl.js");exports.ZoneRecurrencesControl=function(){var e,g,_=u.useFormContext(),E=_.control,q=_.register,x=_.formState.errors,C=_.getValues,D=_.setValue,R=_.clearErrors,b=u.useFieldArray({name:"zoneRecurrences",control:E,keyName:"_id"}),y=b.fields,I=b.append,S=b.update,k=b.move,z=r.__read(t.useState(!1),2),N=z[0],h=z[1],j=r.__read(t.useState({index:null,values:null}),2),T=j[0],A=j[1],w=function(){return A({index:null,values:null})},F=t.useRef();c.useClickAway(F,(function(e){var r,t,n;m.CONFIRM_MODAL_ACTIONS.includes(null===(n=null===(t=null===(r=e.target)||void 0===r?void 0:r.attributes)||void 0===t?void 0:t.getNamedItem("data-id"))||void 0===n?void 0:n.value)||(h(!1),w())}));var M=l.useId(),P=i.useTranslation(["Design","Validation"]).t,O=function(){w(),h((function(e){return!e}))};return t.useEffect((function(){y.length&&R("zoneRecurrences")}),[y,R]),n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,P("zoneAvailable")),n.createElement(o.OverlayTrigger,{show:N,overlay:n.createElement(o.Popover,{id:M,className:"rounded"},n.createElement(o.Popover.Content,{className:"shadow-lg rounded",ref:F},n.createElement(v.RecurringDatePickerInput,{defaultValues:T.values,onChange:function(e){return r.__awaiter(void 0,void 0,void 0,(function(){var t,n,i;return r.__generator(this,(function(r){return t={rrule:e.rrule,startDate:e.startDate,endDate:e.endDate,startTime:e.startTime,endTime:e.endTime},(null===(n=T.values)||void 0===n?void 0:n.id)&&(t.id=null===(i=T.values)||void 0===i?void 0:i.id),null!==T.index?S(T.index,t):I(t),h((function(){return!1})),w(),[2]}))}))},onDelete:function(){var e=T.index;h(!1),w(),setTimeout((function(){var r=C().zoneRecurrences;D("zoneRecurrences",(void 0===r?[]:r).filter((function(r,t){return t!==e})))}),100)},setInitialStartDateAfterSelect:!0}))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[f.sameWidthPopperModifier]}},n.createElement("div",{className:"zone-recurrences"},n.createElement(d.DndContext,{onDragEnd:function(e){var r=e.over,t=e.active;if(r.id!==t.id){var n=y.findIndex((function(e){return String(e._id)===t.id})),i=y.findIndex((function(e){return String(e._id)===r.id}));k(n,i)}}},n.createElement(s.SortableContext,{items:null!==(e=null==y?void 0:y.map((function(e){return String(e._id)})))&&void 0!==e?e:[],strategy:s.verticalListSortingStrategy},null==y?void 0:y.map((function(e,r){return n.createElement(p.ZoneRecurrenceControl,{key:e._id,zoneRecurrence:e,onEdit:function(){return function(e,r){w(),A({index:r,values:e}),h((function(){return!0}))}(e,r)}})})))),n.createElement("div",{className:"zone-recurrence-icon-wrapper",role:"button",tabIndex:0,onClick:O,onKeyDown:O},n.createElement(a.default,{type:"plus-circle",height:"1rem",className:"zone-recurrence-icon-add mr-2"}),P("addDates")),n.createElement(o.Form.Control,r.__assign({type:"hidden"},q("zoneRecurrences",{required:{value:!0,message:P("Validation:fieldMinNumber",{attribute:P("dates"),min:1})}}))),n.createElement("div",{className:"manual-form-error"},null===(g=x.zoneRecurrences)||void 0===g?void 0:g.message))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("react-i18next"),o=require("react-bootstrap"),a=require("../../../static/Icon.js"),u=require("react-hook-form"),l=require("@react-aria/utils"),c=require("react-use");require("../../../static/index.js");var d=require("@dnd-kit/core"),s=require("@dnd-kit/sortable"),m=require("../../../modals/confirmation/ConfirmModal.js"),v=require("../../../recurring-date-picker-input/RecurringDatePickerInput.js"),f=require("../../../product-set/control/DateAndRecurrenceInput.js"),p=require("./ZoneRecurrenceControl.js");exports.ZoneRecurrencesControl=function(e){var g,_,E=e.workHours,q=u.useFormContext(),x=q.control,C=q.register,D=q.formState.errors,R=q.getValues,b=q.setValue,k=q.clearErrors,y=u.useFieldArray({name:"zoneRecurrences",control:x,keyName:"_id"}),I=y.fields,S=y.append,z=y.update,N=y.move,h=r.__read(t.useState(!1),2),j=h[0],w=h[1],T=r.__read(t.useState({index:null,values:null}),2),A=T[0],F=T[1],M=function(){return F({index:null,values:null})},P=t.useRef();c.useClickAway(P,(function(e){var r,t,n;m.CONFIRM_MODAL_ACTIONS.includes(null===(n=null===(t=null===(r=e.target)||void 0===r?void 0:r.attributes)||void 0===t?void 0:t.getNamedItem("data-id"))||void 0===n?void 0:n.value)||(w(!1),M())}));var O=l.useId(),V=i.useTranslation(["Design","Validation"]).t,L=function(){M(),w((function(e){return!e}))};return t.useEffect((function(){I.length&&k("zoneRecurrences")}),[I,k]),n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,V("zoneAvailable")),n.createElement(o.OverlayTrigger,{show:j,overlay:n.createElement(o.Popover,{id:O,className:"rounded"},n.createElement(o.Popover.Content,{className:"shadow-lg rounded",ref:P},n.createElement(v.RecurringDatePickerInput,{defaultValues:A.values,onChange:function(e){return r.__awaiter(void 0,void 0,void 0,(function(){var t,n,i;return r.__generator(this,(function(r){return t={rrule:e.rrule,startDate:e.startDate,endDate:e.endDate,startTime:e.startTime,endTime:e.endTime},(null===(n=A.values)||void 0===n?void 0:n.id)&&(t.id=null===(i=A.values)||void 0===i?void 0:i.id),null!==A.index?z(A.index,t):S(t),w((function(){return!1})),M(),[2]}))}))},onDelete:function(){var e=A.index;w(!1),M(),setTimeout((function(){var r=R().zoneRecurrences;b("zoneRecurrences",(void 0===r?[]:r).filter((function(r,t){return t!==e})))}),100)},setInitialStartDateAfterSelect:!0,workHours:E}))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[f.sameWidthPopperModifier]}},n.createElement("div",{className:"zone-recurrences"},n.createElement(d.DndContext,{onDragEnd:function(e){var r=e.over,t=e.active;if(r.id!==t.id){var n=I.findIndex((function(e){return String(e._id)===t.id})),i=I.findIndex((function(e){return String(e._id)===r.id}));N(n,i)}}},n.createElement(s.SortableContext,{items:null!==(g=null==I?void 0:I.map((function(e){return String(e._id)})))&&void 0!==g?g:[],strategy:s.verticalListSortingStrategy},null==I?void 0:I.map((function(e,r){return n.createElement(p.ZoneRecurrenceControl,{key:e._id,zoneRecurrence:e,onEdit:function(){return function(e,r){M(),F({index:r,values:e}),w((function(){return!0}))}(e,r)}})})))),n.createElement("div",{className:"zone-recurrence-icon-wrapper",role:"button",tabIndex:0,onClick:L,onKeyDown:L},n.createElement(a.default,{type:"plus-circle",height:"1rem",className:"zone-recurrence-icon-add mr-2"}),V("addDates")),n.createElement(o.Form.Control,r.__assign({type:"hidden"},C("zoneRecurrences",{required:{value:!0,message:V("Validation:fieldMinNumber",{attribute:V("dates"),min:1})}}))),n.createElement("div",{className:"manual-form-error"},null===(_=D.zoneRecurrences)||void 0===_?void 0:_.message))))};
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/utils/dates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAOtF,eAAO,MAAM,qBAAqB,cACrB,MAAM,WACR,MAAM,6BAuChB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB,QAAQ,EAAE,aA0C9D,CAAC"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/utils/dates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAOtF,eAAO,MAAM,qBAAqB,cACrB,MAAM,WACR,MAAM,6BAuChB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB,QAAQ,EAAE,aAyC9D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.63.2",
3
+ "version": "0.63.3-dev.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -16,14 +16,11 @@
16
16
  "type-check:watch": "yarn type-check -- --watch",
17
17
  "build": "rollup -c",
18
18
  "watch": "yarn build -- -w",
19
- "test": "jest --verbose --coverage --watchAll=false",
20
- "run-test": "jest --verbose --watchAll=false",
21
19
  "lint": "eslint --ext .ts,.tsx .",
22
20
  "lint:fix": "yarn run lint -- --fix",
23
21
  "lint:format": "prettier \"**/*.{md,json,yml,scss}\" --check",
24
22
  "lint:format:fix": "prettier \"**/*.{md,json,yml,scss}\" --write",
25
23
  "prepare": "husky install",
26
- "test-staged": "CI=true jest --passWithNoTests --findRelatedTests",
27
24
  "tests": "yarn tests-staged",
28
25
  "prettier-write": "prettier --write",
29
26
  "tsc": "bash -c tsc -p tsconfig.json -b"
@@ -53,9 +50,9 @@
53
50
  "@fortawesome/free-brands-svg-icons": "5.15.2",
54
51
  "@fortawesome/free-solid-svg-icons": "5.15.2",
55
52
  "@fortawesome/react-fontawesome": "0.1.9",
56
- "@licklist/core": "^0.25.1",
57
- "@licklist/eslint-config": "0.3.4",
58
- "@licklist/plugins": "^0.27.2",
53
+ "@licklist/core": ">=0.25.1-dev.2 < 0.25.1",
54
+ "@licklist/eslint-config": "0.4.5",
55
+ "@licklist/plugins": ">=0.28.0-dev.3 < 0.28.0",
59
56
  "@mdx-js/react": "1.6.22",
60
57
  "@popperjs/core": "2.11.8",
61
58
  "@react-aria/utils": "3.9.0",
@@ -73,10 +70,6 @@
73
70
  "@svgr/rollup": "5.5.0",
74
71
  "@svgr/webpack": "5.5.0",
75
72
  "@tanstack/react-table": "8.10.6",
76
- "@testing-library/jest-dom": "5.16.1",
77
- "@testing-library/react": "11.2.5",
78
- "@testing-library/react-hooks": "5.1.0",
79
- "@testing-library/user-event": "13.5.0",
80
73
  "@tiptap/core": "2.0.0-beta.176",
81
74
  "@tiptap/extension-blockquote": "2.0.0-beta.29",
82
75
  "@tiptap/extension-bold": "2.0.0-beta.28",
@@ -99,14 +92,10 @@
99
92
  "@tiptap/react": "2.0.0-beta.109",
100
93
  "@tiptap/suggestion": "2.0.0-beta.92",
101
94
  "@types/babel__core": "7.1.12",
102
- "@types/enzyme-adapter-react-16": "1.0.6",
103
- "@types/jest": "26.0.20",
104
95
  "@types/luxon": "1.26.2",
105
96
  "@types/mdx-js__react": "1.5.3",
106
- "@types/react": "17.0.2",
107
97
  "@types/react-bootstrap": "1.0.1",
108
- "@types/react-date-range": "^1.4.4",
109
- "@types/react-dom": "17.0.1",
98
+ "@types/react-date-range": "1.4.9",
110
99
  "@types/react-email-editor": "1.1.7",
111
100
  "@types/react-loader": "2.4.4",
112
101
  "@types/react-phone-number-input": "3.0.6",
@@ -116,7 +105,6 @@
116
105
  "@typescript-eslint/eslint-plugin": "5.8.1",
117
106
  "@typescript-eslint/parser": "5.8.1",
118
107
  "@wojtekmaj/react-daterange-picker": "^4.1.0",
119
- "babel-jest": "26.6.3",
120
108
  "babel-loader": "8.2.2",
121
109
  "babel-plugin-inline-react-svg": "2.0.1",
122
110
  "bootstrap": "4.6.0",
@@ -128,21 +116,16 @@
128
116
  "emojibase": "6.1.0",
129
117
  "emojibase-data": "7.0.1",
130
118
  "emojibase-regex": "6.0.1",
131
- "enzyme": "3.11.0",
132
- "enzyme-adapter-react-16": "1.15.6",
133
119
  "eslint": "7.32.0",
134
120
  "eslint-config-airbnb": "18.2.1",
135
121
  "eslint-config-prettier": "8.3.0",
136
- "eslint-plugin-jest": "25.3.2",
137
122
  "eslint-plugin-jsx-a11y": "6.5.1",
138
123
  "eslint-plugin-prettier": "4.0.0",
139
124
  "eslint-plugin-react-hooks": "4.2.0",
140
- "eslint-plugin-testing-library": "5.0.1",
141
125
  "framer-motion": "4.1.17",
142
126
  "history": "5.3.0",
143
127
  "husky": "7.0.4",
144
128
  "i18next": "19.4.5",
145
- "jest": "26.6.0",
146
129
  "klona": "2.0.4",
147
130
  "konva": "6.0.0",
148
131
  "lint-staged": "11.1.2",
@@ -150,18 +133,18 @@
150
133
  "luxon": "1.26.0",
151
134
  "moment": "2.29.1",
152
135
  "prettier": "2.5.1",
153
- "react": "16.14.0",
136
+ "react": "17.0.2",
154
137
  "react-bootstrap": "1.6.1",
155
138
  "react-color": "2.19.3",
156
139
  "react-copy-to-clipboard": "5.0.3",
157
- "react-date-range": "^1.4.0",
158
- "react-dom": "16.14.0",
140
+ "react-date-range": "1.4.0",
141
+ "react-dom": "17.0.2",
159
142
  "react-email-editor": "1.6.1",
160
143
  "react-highlighter": "0.4.3",
161
144
  "react-hook-form": "7.13.0",
162
145
  "react-i18next": "11.8.8",
163
146
  "react-intl": "5.15.8",
164
- "react-konva": "16.13.0-6",
147
+ "react-konva": "^17.0.2-6",
165
148
  "react-loader": "2.4.7",
166
149
  "react-loading-skeleton": "^3.3.1",
167
150
  "react-overlays": "4.1.1",
@@ -186,7 +169,6 @@
186
169
  "sass": "1.32.8",
187
170
  "sass-loader": "10.1.1",
188
171
  "style-loader": "2.0.0",
189
- "ts-jest": "26.5.2",
190
172
  "twemoji-parser": "14.0.0",
191
173
  "typescript": "4.9.5",
192
174
  "url-loader": "4.1.1",
@@ -194,24 +176,17 @@
194
176
  },
195
177
  "resolutions": {
196
178
  "@types/react": "17.0.2",
197
- "@types/react-dom": "17.0.1"
198
- },
199
- "jest": {
200
- "setupFilesAfterEnv": [
201
- "./jest.config.js"
202
- ],
203
- "snapshotSerializers": [
204
- "enzyme-to-json/serializer"
205
- ]
179
+ "@types/react-dom": "17.0.2"
206
180
  },
207
181
  "lint-staged": {
208
182
  "*.{ts,tsx}": [
209
- "yarn test-staged",
210
183
  "yarn prettier-write",
211
184
  "yarn lint:fix"
212
185
  ]
213
186
  },
214
187
  "devDependencies": {
188
+ "@types/react": "17.0.2",
189
+ "@types/react-dom": "17.0.2",
215
190
  "identity-obj-proxy": "^3.0.0"
216
191
  },
217
192
  "volta": {
@@ -8,7 +8,7 @@ export default {
8
8
  component: DateTimeButton,
9
9
  } as Meta;
10
10
 
11
- const date = DateTime.now();
11
+ const date = DateTime.now().plus({ hour: 1 });
12
12
 
13
13
  export const Default: Story<DateTimeButtonProps> = (args) => {
14
14
  return <DateTimeButton {...args} />;
@@ -19,6 +19,7 @@ Default.args = {
19
19
  isSelected: false,
20
20
  isDisabled: false,
21
21
  onSelect: () => null,
22
+ shouldCalculateResources: false,
22
23
  };
23
24
 
24
25
  export const Selected: Story<DateTimeButtonProps> = (args) => {
@@ -46,7 +46,7 @@ export const DateTimeButton = ({
46
46
 
47
47
  const isTimeVariant = variant === Variant.time;
48
48
 
49
- const isTimeInPast = isTimeVariant && isDateInPast(date);
49
+ const isPast = variant === Variant.time ? isPastTime(date) : isPastDate(date);
50
50
 
51
51
  const noResources =
52
52
  shouldCalculateResources &&
@@ -55,7 +55,7 @@ export const DateTimeButton = ({
55
55
  !has(resources, "bookedResources") ||
56
56
  !has(resources, "totalResources"));
57
57
 
58
- const isDisabled = _isDisabled || isSoldOut || isTimeInPast || noResources;
58
+ const isDisabled = _isDisabled || isSoldOut || isPast || noResources;
59
59
 
60
60
  return (
61
61
  <button
@@ -85,7 +85,7 @@ export const DateTimeButton = ({
85
85
  {showResources && resources && (
86
86
  <AvailabilityIndicator
87
87
  resources={resources}
88
- isUnavailable={_isDisabled || isTimeInPast}
88
+ isUnavailable={_isDisabled || isPast}
89
89
  isSoldOut={isSoldOut}
90
90
  />
91
91
  )}
@@ -93,5 +93,7 @@ export const DateTimeButton = ({
93
93
  );
94
94
  };
95
95
 
96
- const isDateInPast = (date: DateTime): boolean =>
97
- date.toUTC() <= DateTime.now().toUTC();
96
+ const isPastTime = (date: DateTime): boolean => DateTime.now() > date;
97
+
98
+ const isPastDate = (date: DateTime): boolean =>
99
+ DateTime.now() > date.set({ hour: 23, minute: 59, second: 59 });
@@ -40,6 +40,10 @@ export const SelectEventProductSet = ({
40
40
  const productSetId = watch("productSetId");
41
41
  const editedProductSet = watch("editedProductSet");
42
42
 
43
+ const selectedProductSet = productSets.find(
44
+ (productSet) => productSet.id === productSetId
45
+ )?.parentMenuId;
46
+
43
47
  const onEditProductSet = useCallback(
44
48
  () => {
45
49
  setEditProductSetId(String(productSetId));
@@ -84,6 +88,9 @@ export const SelectEventProductSet = ({
84
88
  setValue("productSetId", value);
85
89
  };
86
90
 
91
+ const showOverrideProductSet =
92
+ !showEditProductSet && productSetId && !selectedProductSet;
93
+
87
94
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
95
  const onSubmit = (value: EditEventFormValues["editedProductSet"]) => {
89
96
  setShowEditProductSet(false);
@@ -159,7 +166,7 @@ export const SelectEventProductSet = ({
159
166
  {t("addNewProductSet")}
160
167
  </Button>
161
168
  )}
162
- {!showEditProductSet && productSetId && (
169
+ {showOverrideProductSet && (
163
170
  <Button
164
171
  variant=""
165
172
  className="btn product-set-button "
@@ -199,14 +206,12 @@ export const SelectEventProductSet = ({
199
206
  </Form.Group>
200
207
  </div>
201
208
  {showEditProductSet && productSetId && (
202
- <>
203
- <EditEventProductSet
204
- onSubmit={onSubmit}
205
- defaultValues={
206
- productSetId === editedProductSet?.id && editedProductSet
207
- }
208
- />
209
- </>
209
+ <EditEventProductSet
210
+ onSubmit={onSubmit}
211
+ defaultValues={
212
+ productSetId === editedProductSet?.id && editedProductSet
213
+ }
214
+ />
210
215
  )}
211
216
  </>
212
217
  );
@@ -124,6 +124,8 @@ export const EditEventProductSet = ({
124
124
  companyName={selectedCompany?.title}
125
125
  fee={feeInPercent}
126
126
  isEventEditProductSet
127
+ isOverrides
128
+ workHours={undefined}
127
129
  />
128
130
  <Button
129
131
  disabled={isLoading}
@@ -63,6 +63,7 @@ const processedPaymentSummary = ({
63
63
  const total = calculateTotalPrice(order, externalPaymentDetail);
64
64
 
65
65
  const totalDiscount = calculateTotalDiscount(order.payments);
66
+
66
67
  let summaryItems: SummaryItem[] = [
67
68
  {
68
69
  translateKey: AMOUNT_TOTAL,
@@ -36,6 +36,9 @@ export interface RyftPaymentFormProps {
36
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
37
  accountId: any;
38
38
  isCreateLoading: boolean;
39
+ isAppUsingInIframe?: boolean;
40
+ onApplePayButtonClick: () => void;
41
+ applePayButtonDisabled?: boolean;
39
42
  initRyft: (
40
43
  onSuccess: () => void,
41
44
  onFailure: (error?: string) => void
@@ -48,15 +51,19 @@ export interface RyftPaymentFormProps {
48
51
  export const RyftPaymentForm = ({
49
52
  accountId,
50
53
  isCreateLoading,
54
+ isAppUsingInIframe,
51
55
  providerPaymentSettings,
56
+ onApplePayButtonClick,
52
57
  initRyft,
53
58
  resetReferrer,
54
59
  onSubmit,
55
60
  }: RyftPaymentFormProps) => {
56
61
  const { t } = useTranslation(["Design", "Validation", "Ryft"]);
57
62
  const formRef = useRef<HTMLFormElement | null>(null);
63
+ const showApplePayButton =
64
+ isAppUsingInIframe &&
65
+ providerPaymentSettings?.additionalPaymentMethodsEnabled;
58
66
  const history = useHistory();
59
-
60
67
  const [isValid, setIsValid] = useState(false);
61
68
  const [isBtnDisabled, setIsBtnDisabled] = useState(false);
62
69
  const [ryftInitFailure, setRyftInitFailure] = useState<boolean>(false);
@@ -133,12 +140,14 @@ export const RyftPaymentForm = ({
133
140
  }
134
141
  injectComponentsInRyftForm({
135
142
  t,
143
+ isAppUsingInIframe,
144
+ onApplePayButtonClick,
136
145
  additionalPaymentMethodsEnabled:
137
146
  providerPaymentSettings?.additionalPaymentMethodsEnabled,
138
147
  });
139
148
  },
140
149
  // eslint-disable-next-line react-hooks/exhaustive-deps
141
- [formRef.current?.childNodes?.length]
150
+ [formRef.current?.childNodes?.length, showApplePayButton]
142
151
  );
143
152
 
144
153
  useEffect(() => {
@@ -1,12 +1,21 @@
1
1
  import { TFunction } from "react-i18next";
2
+ import { RyftPaymentFormProps } from "../RyftPaymentForm";
3
+
4
+ interface InjectComponentsInRyftForm
5
+ extends Pick<
6
+ RyftPaymentFormProps,
7
+ "onApplePayButtonClick" | "isAppUsingInIframe"
8
+ > {
9
+ t: TFunction<string[]>;
10
+ additionalPaymentMethodsEnabled?: boolean;
11
+ }
2
12
 
3
13
  export const injectComponentsInRyftForm = ({
4
14
  t,
5
15
  additionalPaymentMethodsEnabled,
6
- }: {
7
- t: TFunction<string[]>;
8
- additionalPaymentMethodsEnabled?: boolean;
9
- }) => {
16
+ isAppUsingInIframe,
17
+ onApplePayButtonClick,
18
+ }: InjectComponentsInRyftForm) => {
10
19
  const cardContainer = document.getElementById("ryft-pay-iframe");
11
20
 
12
21
  if (!cardContainer) {
@@ -34,6 +43,7 @@ export const injectComponentsInRyftForm = ({
34
43
  // Removing of the old mobile title container and divider container
35
44
  document.getElementById("mobile-pay-title")?.remove();
36
45
  document.getElementById("mobile-pay-divider-container")?.remove();
46
+ document.getElementById("apple-pay")?.remove();
37
47
 
38
48
  // Adding title and divider for apple and google pay button
39
49
  const mobilePayTitle = document.createElement("div");
@@ -48,6 +58,15 @@ export const injectComponentsInRyftForm = ({
48
58
  divider.id = "mobile-pay-divider";
49
59
  container.id = "mobile-pay-divider-container";
50
60
  container.append(dividerText, divider);
61
+ if (isAppUsingInIframe) {
62
+ const applePayButton = document.createElement("button");
63
+ applePayButton.id = "apple-pay";
64
+ applePayButton.type = "button";
65
+ applePayButton.className = "bg-dark btn btn-primary apple-pay-button";
66
+ applePayButton.textContent = t("Events:payWithApple");
67
+ applePayButton.onclick = onApplePayButtonClick;
68
+ payGrid.append(applePayButton);
69
+ }
51
70
  payGrid.before(mobilePayTitle);
52
71
  payGrid.after(container);
53
72
  };
@@ -28,15 +28,13 @@ import {
28
28
  AvailableTimesControlRef,
29
29
  } from "../../zone/form/components/AvailableTimesControl";
30
30
 
31
- // eslint-disable-next-line max-len
32
-
33
31
  export interface DateAndRecurrenceInputValues {
34
32
  menuRecurrences?: Partial<ProductSetRecurrence>[];
35
33
  }
36
34
 
37
35
  interface DateAndRecurrenceInputProps {
38
36
  isEventEditProductSet?: boolean;
39
- workHours?: WorkHour[];
37
+ workHours: WorkHour[] | undefined;
40
38
  providerHasBookingManagement: boolean;
41
39
  isLoading?: boolean;
42
40
  }
@@ -90,7 +88,7 @@ export const DateAndRecurrenceInput = ({
90
88
  clearEditState();
91
89
  });
92
90
 
93
- const popoverId = useId()!;
91
+ const popoverId = useId();
94
92
 
95
93
  const { t } = useTranslation("Design");
96
94
 
@@ -228,6 +226,7 @@ export const DateAndRecurrenceInput = ({
228
226
  defaultValues={editState.values}
229
227
  onChange={handleRecurringDateChange}
230
228
  onDelete={handleDelete}
229
+ workHours={workHours}
231
230
  >
232
231
  {providerHasBookingManagement && (
233
232
  <AvailableTimesControl
@@ -5,7 +5,7 @@ import { Form, OverlayTrigger, Popover } from "react-bootstrap";
5
5
  import { useFieldArray, useFormContext } from "react-hook-form";
6
6
  import { useTranslation } from "react-i18next";
7
7
  import { useClickAway } from "react-use";
8
- import { TIMEZONE, TIME_FORMAT } from "@licklist/core/dist/Config/Date";
8
+ import { UTC_TIMEZONE, TIME_FORMAT } from "@licklist/core/dist/Config/Date";
9
9
  import { ProductSetRecurrence } from "@licklist/core/dist/DataMapper/Product/ProductSetRecurrenceDataMapper";
10
10
  import { DateTime } from "luxon";
11
11
  import RRule, { Frequency } from "rrule";
@@ -136,7 +136,7 @@ export const DateInput = ({
136
136
  until: (start as DateTime).toJSDate(),
137
137
  byweekday: [],
138
138
  freq: Frequency.DAILY,
139
- tzid: TIMEZONE,
139
+ tzid: UTC_TIMEZONE,
140
140
  interval: 1,
141
141
  }).replace("RRULE:", "");
142
142
 
@@ -85,9 +85,10 @@ export interface ProductSetControlProps {
85
85
  fieldSets?: FieldSet[];
86
86
  showEmailTemplate?: boolean;
87
87
  showSmsTemplate?: boolean;
88
- workHours?: WorkHour[];
88
+ workHours: WorkHour[] | undefined;
89
89
  providerHasBookingManagement?: boolean;
90
90
  isOverrides?: boolean;
91
+ isCreateNewOverrides?: boolean;
91
92
  }
92
93
 
93
94
  export function ProductSetControl({
@@ -104,6 +105,7 @@ export function ProductSetControl({
104
105
  workHours,
105
106
  providerHasBookingManagement = false,
106
107
  isOverrides = false,
108
+ isCreateNewOverrides = false,
107
109
  }: ProductSetControlProps) {
108
110
  const { t } = useTranslation(["Design", "Validation", "Notification"]);
109
111
  const {
@@ -123,7 +125,7 @@ export function ProductSetControl({
123
125
 
124
126
  const showSmsTemplateSelector = showSmsTemplate && !isOverrides;
125
127
  const showEmailTemplateSelector = showEmailTemplate && !isOverrides;
126
-
128
+ const showDateSelector = !isEventEditProductSet && isOverrides;
127
129
  return (
128
130
  <Row
129
131
  className={`product-set-form ${
@@ -165,7 +167,7 @@ export function ProductSetControl({
165
167
  </Form.Control.Feedback>
166
168
  </Form.Group>
167
169
 
168
- {isOverrides ? (
170
+ {showDateSelector ? (
169
171
  <DateInput
170
172
  workHours={workHours}
171
173
  isLoading={isLoading}
@@ -188,7 +190,12 @@ export function ProductSetControl({
188
190
 
189
191
  <TutorialGifCard isOverrides={isOverrides} />
190
192
 
191
- <StepsControl isLoading={isLoading} isOverrides={isOverrides} />
193
+ <StepsControl
194
+ isLoading={isLoading}
195
+ isEventEditProductSet={isEventEditProductSet}
196
+ isOverrides={isOverrides}
197
+ isCreateNewOverrides={isCreateNewOverrides}
198
+ />
192
199
  </Col>
193
200
  <Col md={6} sm={12}>
194
201
  <div className="second-column">