@licklist/design 0.76.0-stage.7 → 0.78.0

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 (41) hide show
  1. package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
  2. package/dist/events/edit-event-modal/IntervalInput.js +1 -7
  3. package/dist/events/edit-event-modal/component/SaleDeadline/SaleDeadline.d.ts +2 -1
  4. package/dist/events/edit-event-modal/component/SaleDeadline/SaleDeadline.d.ts.map +1 -1
  5. package/dist/events/edit-event-modal/component/SaleDeadline/SaleDeadline.js +3 -2
  6. package/dist/events/edit-event-modal/hooks/useValidationOptions.d.ts +2 -6
  7. package/dist/events/edit-event-modal/hooks/useValidationOptions.d.ts.map +1 -1
  8. package/dist/events/edit-event-modal/hooks/useValidationOptions.js +5 -16
  9. package/dist/events/event-card/EventCard.d.ts.map +1 -1
  10. package/dist/events/event-card/EventCard.js +11 -3
  11. package/dist/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.d.ts.map +1 -1
  12. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.js +1 -1
  13. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.d.ts +1 -2
  14. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.d.ts.map +1 -1
  15. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.js +1 -2
  16. package/dist/iframe/payment/payment-status-page/component/PaymentStatusBody.d.ts +1 -2
  17. package/dist/iframe/payment/payment-status-page/component/PaymentStatusBody.d.ts.map +1 -1
  18. package/dist/iframe/payment/payment-status-page/component/PaymentStatusBody.js +1 -2
  19. package/dist/iframe/payment/status-body/StatusBody.d.ts +1 -2
  20. package/dist/iframe/payment/status-body/StatusBody.d.ts.map +1 -1
  21. package/dist/iframe/payment/status-body/StatusBody.js +1 -15
  22. package/dist/product-set/control/ProductSetControl.js +2 -1
  23. package/dist/recurring-date-picker-input/utils.d.ts.map +1 -1
  24. package/dist/recurring-date-picker-input/utils.js +2 -6
  25. package/dist/styles/events/EventCard.scss +3 -1
  26. package/dist/zone/form/components/DescriptionControl.js +6 -3
  27. package/package.json +6 -7
  28. package/src/events/edit-event-modal/IntervalInput.tsx +1 -7
  29. package/src/events/edit-event-modal/component/SaleDeadline/SaleDeadline.tsx +12 -4
  30. package/src/events/edit-event-modal/hooks/useValidationOptions.tsx +9 -26
  31. package/src/events/event-card/EventCard.tsx +8 -1
  32. package/src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx +0 -1
  33. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +1 -1
  34. package/src/iframe/payment/payment-status-page/PaymentStatusPage.tsx +0 -3
  35. package/src/iframe/payment/payment-status-page/component/PaymentStatusBody.tsx +0 -3
  36. package/src/iframe/payment/status-body/StatusBody.tsx +1 -8
  37. package/src/product-set/control/ProductSetControl.tsx +1 -1
  38. package/src/recurring-date-picker-input/utils.ts +2 -5
  39. package/src/styles/events/EventCard.scss +3 -1
  40. package/src/zone/form/components/DescriptionControl.tsx +2 -2
  41. package/yarn.lock +377 -421
@@ -1 +1 @@
1
- {"version":3,"file":"IntervalInput.d.ts","sourceRoot":"","sources":["../../../src/events/edit-event-modal/IntervalInput.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAA;AAIxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,UAAU,kBAAkB;IAC1B,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAyB,EACzB,YAAoB,EACrB,EAAE,kBAAkB,2CAwKpB"}
1
+ {"version":3,"file":"IntervalInput.d.ts","sourceRoot":"","sources":["../../../src/events/edit-event-modal/IntervalInput.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAA;AAIxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,UAAU,kBAAkB;IAC1B,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAyB,EACzB,YAAoB,EACrB,EAAE,kBAAkB,2CAkKpB"}
@@ -118,7 +118,7 @@ function IntervalInput(param) {
118
118
  ]).t;
119
119
  var _useFormContext = useFormContext(), register = _useFormContext.register, errors = _useFormContext.formState.errors, control = _useFormContext.control, trigger = _useFormContext.trigger, setValue = _useFormContext.setValue;
120
120
  var formattedDuration = useFormattedDuration();
121
- var validationOptions = useValidationOptions({});
121
+ var validationOptions = useValidationOptions();
122
122
  var rrule = useWatch({
123
123
  control: control,
124
124
  name: 'rrule'
@@ -182,12 +182,6 @@ function IntervalInput(param) {
182
182
  setValue('rrule', null);
183
183
  }
184
184
  };
185
- useEffect(function() {
186
- if (!start) return;
187
- trigger('end');
188
- }, [
189
- start
190
- ]);
191
185
  return /*#__PURE__*/ jsxs(Fragment, {
192
186
  children: [
193
187
  /*#__PURE__*/ jsxs(Form.Row, {
@@ -2,9 +2,10 @@ export declare const SALE_DEADLINE_NAME_CATEGORY = "saleDeadlineCategory";
2
2
  export declare const SALE_DEADLINE_NAME = "saleDeadline";
3
3
  export declare const DEADLINE_NAME: readonly ["saleDeadlineCategory", "saleDeadline"];
4
4
  export type DeadLineNameType = (typeof DEADLINE_NAME)[number];
5
- export declare const SaleDeadline: ({ disabled, onlyBefore, deadLineCategory, }: {
5
+ export declare const SaleDeadline: ({ disabled, onlyBefore, isProductSet, deadLineCategory, }: {
6
6
  disabled?: boolean;
7
7
  onlyBefore?: boolean;
8
+ isProductSet?: boolean;
8
9
  deadLineCategory?: string;
9
10
  }) => import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=SaleDeadline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaleDeadline.d.ts","sourceRoot":"","sources":["../../../../../src/events/edit-event-modal/component/SaleDeadline/SaleDeadline.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,2BAA2B,yBAAyB,CAAA;AACjE,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAWhD,eAAO,MAAM,aAAa,mDAGhB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAU7D,eAAO,MAAM,YAAY,gDAItB;IACD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,4CA8JA,CAAA"}
1
+ {"version":3,"file":"SaleDeadline.d.ts","sourceRoot":"","sources":["../../../../../src/events/edit-event-modal/component/SaleDeadline/SaleDeadline.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,2BAA2B,yBAAyB,CAAA;AACjE,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAWhD,eAAO,MAAM,aAAa,mDAGhB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAU7D,eAAO,MAAM,YAAY,8DAKtB;IACD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,4CAoKA,CAAA"}
@@ -67,7 +67,7 @@ var SALE_DEADLINES_EVENT_START_TYPES = [
67
67
  }
68
68
  ];
69
69
  var SaleDeadline = function(param) {
70
- var _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_onlyBefore = param.onlyBefore, onlyBefore = _param_onlyBefore === void 0 ? false : _param_onlyBefore, deadLineCategory = param.deadLineCategory;
70
+ var _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_onlyBefore = param.onlyBefore, onlyBefore = _param_onlyBefore === void 0 ? false : _param_onlyBefore, _param_isProductSet = param.isProductSet, isProductSet = _param_isProductSet === void 0 ? false : _param_isProductSet, deadLineCategory = param.deadLineCategory;
71
71
  var _errors_root;
72
72
  var t = useTranslation([
73
73
  'Design'
@@ -133,9 +133,10 @@ var SaleDeadline = function(param) {
133
133
  name: "sale-deadline",
134
134
  options: SALE_DEADLINES_EVENT_START_TYPES.map(function(param) {
135
135
  var type = param.type;
136
+ var salesDeadlineTitle = type === SALE_DEADLINE_BEFORE_TYPE && isProductSet ? 'beforeProductSet' : type;
136
137
  return {
137
138
  id: type,
138
- value: t("Design:".concat(type))
139
+ value: t("Design:".concat(salesDeadlineTitle))
139
140
  };
140
141
  }),
141
142
  value: deadlineType,
@@ -1,14 +1,10 @@
1
- interface useValidationOptionsProps {
2
- maxDurationExceeded?: number;
3
- }
4
- export declare const useValidationOptions: ({ maxDurationExceeded }: useValidationOptionsProps) => {
1
+ export declare const useValidationOptions: () => {
5
2
  start: {
6
3
  required: string;
7
4
  };
8
5
  end: {
9
6
  required: string;
10
- validate: (value: string) => string | true;
7
+ validate: (value: any) => string | true;
11
8
  };
12
9
  };
13
- export {};
14
10
  //# sourceMappingURL=useValidationOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useValidationOptions.d.ts","sourceRoot":"","sources":["../../../../src/events/edit-event-modal/hooks/useValidationOptions.tsx"],"names":[],"mappings":"AAIA,UAAU,yBAAyB;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,oBAAoB,4BAAkC,yBAAyB;;kBAUhF,MAAM;;;kBAMN,MAAM;0BACM,MAAM;;CAsB7B,CAAA"}
1
+ {"version":3,"file":"useValidationOptions.d.ts","sourceRoot":"","sources":["../../../../src/events/edit-event-modal/hooks/useValidationOptions.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB;;kBASrB,MAAM;;;kBAMN,MAAM;;;CAWjB,CAAA"}
@@ -2,8 +2,7 @@ import { DateTime } from 'luxon';
2
2
  import { useFormContext, useWatch } from 'react-hook-form';
3
3
  import { useTranslation } from 'react-i18next';
4
4
 
5
- var useValidationOptions = function(param) {
6
- var _param_maxDurationExceeded = param.maxDurationExceeded, maxDurationExceeded = _param_maxDurationExceeded === void 0 ? 24 : _param_maxDurationExceeded;
5
+ var useValidationOptions = function() {
7
6
  var control = useFormContext().control;
8
7
  var t = useTranslation([
9
8
  'Design',
@@ -23,21 +22,11 @@ var useValidationOptions = function(param) {
23
22
  required: t('Validation:fieldRequired', {
24
23
  attribute: t('end')
25
24
  }),
25
+ // TODO: uncomment when event splitting is implemented
26
+ // and extract into plugins
26
27
  validate: function(value) {
27
- if (!value || !start) return true;
28
- var startDt = DateTime.fromISO(start);
29
- var endDt = DateTime.fromISO(value);
30
- var diffMillis = endDt.diff(startDt).toMillis();
31
- if (diffMillis <= 0) {
32
- return t('Validation:fieldValidEventEnd');
33
- }
34
- var maxDurationExceededHours = maxDurationExceeded * 60 * 60 * 1000;
35
- if (diffMillis > maxDurationExceededHours) {
36
- return t('Design:eventMaxDurationExceeded', {
37
- maxHours: maxDurationExceeded
38
- });
39
- }
40
- return true;
28
+ return(// endAt not required
29
+ value ? DateTime.fromISO(value).diff(DateTime.fromISO(start)).toMillis() > 0 || t('Validation:fieldValidEventEnd') : true);
41
30
  }
42
31
  }
43
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EventCard.d.ts","sourceRoot":"","sources":["../../../src/events/event-card/EventCard.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAA;AASjG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAS3C,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,aAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,OAAO,GACR,EAAE,cAAc,2CA0JhB"}
1
+ {"version":3,"file":"EventCard.d.ts","sourceRoot":"","sources":["../../../src/events/event-card/EventCard.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAA;AASjG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAS3C,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,aAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,OAAO,GACR,EAAE,cAAc,2CAiKhB"}
@@ -6,6 +6,7 @@ import clsx from 'clsx';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import * as Config from '@licklist/core/dist/Config';
8
8
  import { FaEye, FaQrcode, FaExternalLinkAlt, FaEdit, FaCopy, FaTrashAlt } from 'react-icons/fa';
9
+ import { TipTapEditor } from '../../tiptap-editor/TipTapEditor.js';
9
10
  import { getStatisticInfo, formatContent, EVENT_DESCRIPTION_SIZE } from './utils.js';
10
11
  import { ReactComponent as SvgChartBar } from '../../assets/dashboard/chartBar.svg.js';
11
12
 
@@ -37,13 +38,13 @@ function _object_without_properties_loose(source, excluded) {
37
38
  return target;
38
39
  }
39
40
  function EventCard(param) {
40
- var name = param.name, description = param.description, date = param.date, imageUrl = param.imageUrl, sales = param.sales, onPreview = param.onPreview, onEdit = param.onEdit, onCopy = param.onCopy, onRemove = param.onRemove, onOpenQrCode = param.onOpenQrCode, _param_hasPermission = param.hasPermission, hasPermission = _param_hasPermission === void 0 ? true : _param_hasPermission, productSetName = param.productSetName, onStatistic = param.onStatistic, eventStatistic = param.eventStatistic, titleId = param.titleId; param.descriptionId; var eventID = param.eventID;
41
+ var name = param.name, description = param.description, date = param.date, imageUrl = param.imageUrl, sales = param.sales, onPreview = param.onPreview, onEdit = param.onEdit, onCopy = param.onCopy, onRemove = param.onRemove, onOpenQrCode = param.onOpenQrCode, _param_hasPermission = param.hasPermission, hasPermission = _param_hasPermission === void 0 ? true : _param_hasPermission, productSetName = param.productSetName, onStatistic = param.onStatistic, eventStatistic = param.eventStatistic, titleId = param.titleId, descriptionId = param.descriptionId, eventID = param.eventID;
41
42
  var t = useTranslation('Design').t;
42
43
  var _useIntl = useIntl(), formatNumber = _useIntl.formatNumber, formatDate = _useIntl.formatDate;
43
44
  var _getStatisticInfo = getStatisticInfo(eventStatistic, date), totalViews = _getStatisticInfo.totalViews, statistics = _object_without_properties(_getStatisticInfo, [
44
45
  "totalViews"
45
46
  ]);
46
- useMemo(function() {
47
+ var memoedContent = useMemo(function() {
47
48
  return formatContent(description, EVENT_DESCRIPTION_SIZE);
48
49
  }, [
49
50
  description
@@ -92,6 +93,13 @@ function EventCard(param) {
92
93
  /*#__PURE__*/ jsxs("div", {
93
94
  className: "flex-grow-1",
94
95
  children: [
96
+ /*#__PURE__*/ jsx(TipTapEditor, {
97
+ viewMode: true,
98
+ disabled: true,
99
+ className: clsx('event-description', !imageUrl && 'no-image'),
100
+ content: memoedContent,
101
+ id: descriptionId
102
+ }),
95
103
  /*#__PURE__*/ jsx("div", {
96
104
  className: "mt-2 ml-2",
97
105
  children: Object.keys(statistics).map(function(key) {
@@ -163,7 +171,7 @@ function EventCard(param) {
163
171
  })
164
172
  }),
165
173
  children: /*#__PURE__*/ jsxs("div", {
166
- className: "pl-3 mt-2 text-truncate",
174
+ className: "pl-3 text-truncate",
167
175
  children: [
168
176
  t('Design:productSet'),
169
177
  ": ",
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAKrG,UAAU,aAAc,SAAQ,SAAS;IACvC,qBAAqB,CAAC,EAAG,sBAAsB,EAAE,GAAG,IAAI,CAAC;CAC1D;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,cAAc,kDAIxB,mBAAmB,4CAyCrB,CAAA"}
1
+ {"version":3,"file":"ProductSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAIrG,UAAU,aAAc,SAAQ,SAAS;IACvC,qBAAqB,CAAC,EAAG,sBAAsB,EAAE,GAAG,IAAI,CAAC;CAC1D;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,cAAc,kDAIxB,mBAAmB,4CAyCrB,CAAA"}
@@ -36,7 +36,7 @@ var NumberInput = /*#__PURE__*/ forwardRef(function(param, ref) {
36
36
  onArrowDown(0);
37
37
  return;
38
38
  }
39
- onArrowDown(value - 1);
39
+ onArrowUp(value - 1);
40
40
  };
41
41
  var inputWrapperClasses = clsx('payment-number-input', className);
42
42
  return /*#__PURE__*/ jsxs("div", {
@@ -17,9 +17,8 @@ interface PaymentStatusComponentProps {
17
17
  showCloseButton?: boolean;
18
18
  email?: string;
19
19
  totalAmount?: number;
20
- getBookingPDF?: () => Promise<void>;
21
20
  paymentMetadata?: PaymentMetadata;
22
21
  }
23
- export declare const PaymentStatusPage: ({ onCloseWindow, onBack, onTryAgain, isLoading, status, getBookingPDF, isAppUsingInIframe, bookingSummaryProps, EventCardComponent, showCloseButton, email, totalAmount, paymentMetadata, }: PaymentStatusComponentProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const PaymentStatusPage: ({ onCloseWindow, onBack, onTryAgain, isLoading, status, isAppUsingInIframe, bookingSummaryProps, EventCardComponent, showCloseButton, email, totalAmount, paymentMetadata, }: PaymentStatusComponentProps) => import("react/jsx-runtime").JSX.Element;
24
23
  export {};
25
24
  //# sourceMappingURL=PaymentStatusPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-status-page/PaymentStatusPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAG7D,eAAO,MAAM,mBAAmB,WAAW,CAAA;AAC3C,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAC7C,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C,MAAM,MAAM,WAAW,GACnB,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,CAAA;AAE/B,UAAU,2BAA2B;IACnC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,kBAAkB,CAAC,EAAE,SAAS,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AASD,eAAO,MAAM,iBAAiB,gMAc3B,2BAA2B,4CAkI7B,CAAA"}
1
+ {"version":3,"file":"PaymentStatusPage.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/payment-status-page/PaymentStatusPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAG7D,eAAO,MAAM,mBAAmB,WAAW,CAAA;AAC3C,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAC7C,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C,MAAM,MAAM,WAAW,GACnB,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,CAAA;AAE/B,UAAU,2BAA2B;IACnC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,kBAAkB,CAAC,EAAE,SAAS,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AASD,eAAO,MAAM,iBAAiB,iLAa3B,2BAA2B,4CAiI7B,CAAA"}
@@ -60,7 +60,7 @@ var _obj;
60
60
  var titles = (_obj = {}, _define_property(_obj, ORDER_STATUS_SUCCESS, 'purchaseSuccessful'), _define_property(_obj, ORDER_STATUS_PENDING, 'pendingPayment'), _define_property(_obj, ORDER_STATUS_FAILED, 'purchaseFailed'), _obj);
61
61
  // @TODO In future think, how to reuse this component in Iframe Pending, Success and Failed Pages
62
62
  var PaymentStatusPage = function(param) {
63
- var onCloseWindow = param.onCloseWindow, onBack = param.onBack, onTryAgain = param.onTryAgain, isLoading = param.isLoading, status = param.status, getBookingPDF = param.getBookingPDF, isAppUsingInIframe = param.isAppUsingInIframe, bookingSummaryProps = param.bookingSummaryProps, EventCardComponent = param.EventCardComponent, _param_showCloseButton = param.showCloseButton, showCloseButton = _param_showCloseButton === void 0 ? false : _param_showCloseButton, email = param.email, _param_totalAmount = param.totalAmount, totalAmount = _param_totalAmount === void 0 ? 0 : _param_totalAmount, paymentMetadata = param.paymentMetadata;
63
+ var onCloseWindow = param.onCloseWindow, onBack = param.onBack, onTryAgain = param.onTryAgain, isLoading = param.isLoading, status = param.status, isAppUsingInIframe = param.isAppUsingInIframe, bookingSummaryProps = param.bookingSummaryProps, EventCardComponent = param.EventCardComponent, _param_showCloseButton = param.showCloseButton, showCloseButton = _param_showCloseButton === void 0 ? false : _param_showCloseButton, email = param.email, _param_totalAmount = param.totalAmount, totalAmount = _param_totalAmount === void 0 ? 0 : _param_totalAmount, paymentMetadata = param.paymentMetadata;
64
64
  var t = useTranslation('Design').t;
65
65
  if (isLoading) return /*#__PURE__*/ jsx(LoaderIndicator, {
66
66
  isLoaded: false
@@ -97,7 +97,6 @@ var PaymentStatusPage = function(param) {
97
97
  EventCardComponent,
98
98
  /*#__PURE__*/ jsx(PaymentStatusBody, {
99
99
  status: status,
100
- getBookingPDF: getBookingPDF,
101
100
  onBack: onBack || onCloseWindow,
102
101
  onTryAgain: onTryAgain,
103
102
  email: email
@@ -2,10 +2,9 @@ import { OrderStatus } from '../PaymentStatusPage';
2
2
  interface PaymentStatusBodyProps {
3
3
  status: OrderStatus;
4
4
  onBack: () => void;
5
- getBookingPDF?: () => Promise<void>;
6
5
  onTryAgain?: () => void;
7
6
  email?: string;
8
7
  }
9
- export declare const PaymentStatusBody: ({ status, onBack, onTryAgain, getBookingPDF, email, }: PaymentStatusBodyProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const PaymentStatusBody: ({ status, onBack, onTryAgain, email, }: PaymentStatusBodyProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export {};
11
10
  //# sourceMappingURL=PaymentStatusBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentStatusBody.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/payment-status-page/component/PaymentStatusBody.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EACZ,MAAM,sBAAsB,CAAA;AAG7B,UAAU,sBAAsB;IAC9B,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,iBAAiB,0DAM3B,sBAAsB,4CAkBxB,CAAA"}
1
+ {"version":3,"file":"PaymentStatusBody.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/payment/payment-status-page/component/PaymentStatusBody.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EACZ,MAAM,sBAAsB,CAAA;AAG7B,UAAU,sBAAsB;IAC9B,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,iBAAiB,2CAK3B,sBAAsB,4CAiBxB,CAAA"}
@@ -4,12 +4,11 @@ import { ORDER_STATUS_SUCCESS, ORDER_STATUS_PENDING } from '../PaymentStatusPage
4
4
  import { StatusBody } from '../../status-body/StatusBody.js';
5
5
 
6
6
  var PaymentStatusBody = function(param) {
7
- var status = param.status, onBack = param.onBack, onTryAgain = param.onTryAgain, getBookingPDF = param.getBookingPDF, email = param.email;
7
+ var status = param.status, onBack = param.onBack, onTryAgain = param.onTryAgain, email = param.email;
8
8
  var t = useTranslation('Design').t;
9
9
  if (status === ORDER_STATUS_SUCCESS) {
10
10
  return /*#__PURE__*/ jsx(StatusBody, {
11
11
  onBack: onBack,
12
- getBookingPDF: getBookingPDF,
13
12
  title: t('orderConfirmationAndReceiptSendToYourEmail', {
14
13
  email: email
15
14
  })
@@ -1,9 +1,8 @@
1
1
  interface StatusBodyProps {
2
2
  onTryAgain?: () => void;
3
3
  onBack: () => void;
4
- getBookingPDF?: () => void;
5
4
  title?: string;
6
5
  }
7
- export declare const StatusBody: ({ onTryAgain, onBack, title, getBookingPDF }: StatusBodyProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const StatusBody: ({ onTryAgain, onBack, title }: StatusBodyProps) => import("react/jsx-runtime").JSX.Element;
8
7
  export {};
9
8
  //# sourceMappingURL=StatusBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBody.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/status-body/StatusBody.tsx"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,UAAU,iDAAkD,eAAe,4CAiBvF,CAAA"}
1
+ {"version":3,"file":"StatusBody.d.ts","sourceRoot":"","sources":["../../../../src/iframe/payment/status-body/StatusBody.tsx"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,UAAU,kCAAmC,eAAe,4CAYxE,CAAA"}
@@ -1,10 +1,9 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Button } from 'react-bootstrap';
3
- import { Link } from 'react-router-dom';
4
3
  import { useTranslation } from 'react-i18next';
5
4
 
6
5
  var StatusBody = function(param) {
7
- var onTryAgain = param.onTryAgain, onBack = param.onBack, title = param.title, getBookingPDF = param.getBookingPDF;
6
+ var onTryAgain = param.onTryAgain, onBack = param.onBack, title = param.title;
8
7
  var t = useTranslation('Design').t;
9
8
  return /*#__PURE__*/ jsxs("div", {
10
9
  className: "status-body-wrapper mt-4",
@@ -13,19 +12,6 @@ var StatusBody = function(param) {
13
12
  className: "status-body-wrapper__text",
14
13
  children: title
15
14
  }),
16
- getBookingPDF && /*#__PURE__*/ jsxs("div", {
17
- className: "mt-2",
18
- children: [
19
- /*#__PURE__*/ jsx("p", {
20
- className: "status-body-wrapper__text",
21
- children: t('youCanDownload')
22
- }),
23
- /*#__PURE__*/ jsx(Link, {
24
- onClick: getBookingPDF,
25
- children: t('ticketDownloadLink')
26
- })
27
- ]
28
- }),
29
15
  /*#__PURE__*/ jsxs("div", {
30
16
  className: "d-flex buttons-wrapper",
31
17
  children: [
@@ -184,7 +184,8 @@ function ProductSetControl(param) {
184
184
  })
185
185
  }),
186
186
  /*#__PURE__*/ jsx(SaleDeadline, {
187
- disabled: false
187
+ disabled: false,
188
+ isProductSet: true
188
189
  }),
189
190
  /*#__PURE__*/ jsx("div", {
190
191
  className: "divider"
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAA;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,sBAAsB,yBAGhC;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,OAWH,CAAA;AAED,MAAM,MAAM,kBAAkB,GAC1B,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,MAAM,CAAA;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IACrB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAG/B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAoEM,kBACN,CAAA;AAED,eAAO,MAAM,sBAAsB,cACtB,OAAO,EAAE,cACR,QAAQ,EAAE,GAAG,SAAS,YACxB,MAAM,KACf;IAED,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAsFjC,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/recurring-date-picker-input/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAA;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,sBAAsB,yBAGhC;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,OAWH,CAAA;AAED,MAAM,MAAM,kBAAkB,GAC1B,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,MAAM,CAAA;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IACrB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAG/B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,KAoEM,kBACN,CAAA;AAED,eAAO,MAAM,sBAAsB,cACtB,OAAO,EAAE,cACR,QAAQ,EAAE,GAAG,SAAS,YACxB,MAAM,KACf;IAED,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAmFjC,CAAA"}
@@ -95,9 +95,7 @@ var useWorkHoursValidation = function() {
95
95
  var intervalsByDay = workHours.map(function(workhour, index, self) {
96
96
  var res = [];
97
97
  var startTime = fromIso(workhour.start, timeZone);
98
- var endTime = fromIso(workhour.end, timeZone).plus({
99
- minute: 1
100
- });
98
+ var endTime = fromIso(workhour.end, timeZone);
101
99
  if (endTime > startTime) {
102
100
  res.push(Interval.fromDateTimes(startTime, endTime));
103
101
  } else {
@@ -142,9 +140,7 @@ var useWorkHoursValidation = function() {
142
140
  return !interval.contains(time);
143
141
  });
144
142
  var attribute = notFittingIntervals.map(function(interval) {
145
- return "".concat(interval.start.toFormat('HH:mm'), " - ").concat(interval.end.minus({
146
- minutes: 1
147
- }).toFormat('HH:mm'));
143
+ return interval.toFormat('HH:mm');
148
144
  }).join(', ');
149
145
  if (notFittingIntervalsByDay.length !== 0) {
150
146
  return t('outsideWorkingHours', {
@@ -38,9 +38,10 @@ $event-card-views-gutter: sp(3) !default;
38
38
 
39
39
  .card-body {
40
40
  padding: 0 0 3rem 0;
41
- margin-bottom: $event-card-contents-gutter;
42
41
 
43
42
  .event-description {
43
+ min-height: 8rem;
44
+ max-height: 21rem;
44
45
  overflow: hidden;
45
46
 
46
47
  &:last-child {
@@ -49,6 +50,7 @@ $event-card-views-gutter: sp(3) !default;
49
50
 
50
51
  &.no-image {
51
52
  min-height: 13.75rem;
53
+ max-height: 22rem;
52
54
  }
53
55
  }
54
56
  }
@@ -18,8 +18,11 @@ var DescriptionControl = function(param) {
18
18
  return /*#__PURE__*/ jsxs(Form.Group, {
19
19
  controlId: descriptionId,
20
20
  children: [
21
- /*#__PURE__*/ jsx(Form.Label, {
22
- children: t('Design:description')
21
+ /*#__PURE__*/ jsxs(Form.Label, {
22
+ children: [
23
+ t('Design:description'),
24
+ "*"
25
+ ]
23
26
  }),
24
27
  /*#__PURE__*/ jsx(Controller, {
25
28
  render: function(param) {
@@ -34,7 +37,7 @@ var DescriptionControl = function(param) {
34
37
  });
35
38
  },
36
39
  rules: {
37
- required: false
40
+ required: true
38
41
  },
39
42
  control: control,
40
43
  name: "description"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.76.0-stage.7",
3
+ "version": "0.78.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -42,9 +42,9 @@
42
42
  ]
43
43
  },
44
44
  "peerDependencies": {
45
- "@licklist/core": "0.34.3-stage.5",
45
+ "@licklist/core": "0.34.3",
46
46
  "@licklist/eslint-config": "0.5.6",
47
- "@licklist/plugins": "0.35.6-stage.2",
47
+ "@licklist/plugins": "0.35.10",
48
48
  "lodash": "4.17.21",
49
49
  "luxon": "3.5.0",
50
50
  "react": "17.0.2",
@@ -61,9 +61,9 @@
61
61
  "@dnd-kit/utilities": "2.0.0",
62
62
  "@fortawesome/fontawesome-svg-core": "1.2.34",
63
63
  "@fortawesome/free-solid-svg-icons": "5.15.2",
64
- "@licklist/core": "0.34.3-stage.5",
64
+ "@licklist/core": "0.34.3",
65
65
  "@licklist/eslint-config": "0.5.6",
66
- "@licklist/plugins": "0.35.6-stage.2",
66
+ "@licklist/plugins": "0.35.10",
67
67
  "@mantine/core": "6.0.22",
68
68
  "@mantine/hooks": "6.0.22",
69
69
  "@mdx-js/react": "1.6.22",
@@ -209,6 +209,5 @@
209
209
  "volta": {
210
210
  "node": "20.9.0",
211
211
  "yarn": "4.4.0"
212
- },
213
- "stableVersion": "0.71.19-stage.1"
212
+ }
214
213
  }
@@ -45,7 +45,7 @@ export function IntervalInput({
45
45
  } = useFormContext<IntervalInputValues>()
46
46
 
47
47
  const formattedDuration = useFormattedDuration()
48
- const validationOptions = useValidationOptions({})
48
+ const validationOptions = useValidationOptions()
49
49
 
50
50
  const rrule = useWatch({ control, name: 'rrule' })
51
51
  const start = useWatch({ control, name: 'start' })
@@ -106,12 +106,6 @@ export function IntervalInput({
106
106
  }
107
107
  }
108
108
 
109
- useEffect(() => {
110
- if (!start) return
111
-
112
- trigger('end')
113
- },[start])
114
-
115
109
  return (
116
110
  <>
117
111
  <Form.Row className='interval-container'>
@@ -39,10 +39,12 @@ type SaleDeadlineType =
39
39
  export const SaleDeadline = ({
40
40
  disabled = false,
41
41
  onlyBefore = false,
42
+ isProductSet = false,
42
43
  deadLineCategory,
43
44
  }: {
44
45
  disabled?: boolean
45
46
  onlyBefore?: boolean
47
+ isProductSet?: boolean
46
48
  deadLineCategory?: string
47
49
  }) => {
48
50
  const { t } = useTranslation(['Design'])
@@ -140,10 +142,16 @@ export const SaleDeadline = ({
140
142
  <Switch
141
143
  name='sale-deadline'
142
144
  options={SALE_DEADLINES_EVENT_START_TYPES.map(
143
- ({ type }) => ({
144
- id: type,
145
- value: t(`Design:${type}`),
146
- }),
145
+ ({ type }) => {
146
+ const salesDeadlineTitle =
147
+ type === SALE_DEADLINE_BEFORE_TYPE && isProductSet
148
+ ? 'beforeProductSet'
149
+ : type
150
+ return {
151
+ id: type,
152
+ value: t(`Design:${salesDeadlineTitle}`),
153
+ }
154
+ },
147
155
  )}
148
156
  value={deadlineType}
149
157
  onChange={changeValueByType}
@@ -2,14 +2,9 @@ import { DateTime } from 'luxon'
2
2
  import { useFormContext, useWatch } from 'react-hook-form'
3
3
  import { useTranslation } from 'react-i18next'
4
4
 
5
- interface useValidationOptionsProps {
6
- maxDurationExceeded?: number
7
- }
8
-
9
- export const useValidationOptions = ({ maxDurationExceeded = 24 }: useValidationOptionsProps) => {
5
+ export const useValidationOptions = () => {
10
6
  const { control } = useFormContext()
11
7
  const { t } = useTranslation(['Design', 'Validation'])
12
-
13
8
  const start = useWatch({ control, name: 'start' })
14
9
 
15
10
  return {
@@ -23,26 +18,14 @@ export const useValidationOptions = ({ maxDurationExceeded = 24 }: useValidation
23
18
  required: t('Validation:fieldRequired', {
24
19
  attribute: t('end'),
25
20
  }) as string,
26
- validate: (value: string) => {
27
- if (!value || !start) return true
28
-
29
- const startDt = DateTime.fromISO(start)
30
- const endDt = DateTime.fromISO(value)
31
- const diffMillis = endDt.diff(startDt).toMillis()
32
-
33
- if (diffMillis <= 0) {
34
- return t('Validation:fieldValidEventEnd') as string
35
- }
36
-
37
- const maxDurationExceededHours = maxDurationExceeded * 60 * 60 * 1000
38
- if (diffMillis > maxDurationExceededHours) {
39
- return t('Design:eventMaxDurationExceeded', {
40
- maxHours: maxDurationExceeded,
41
- }) as string
42
- }
43
-
44
- return true
45
- },
21
+ // TODO: uncomment when event splitting is implemented
22
+ // and extract into plugins
23
+ validate: (value) =>
24
+ // endAt not required
25
+ value
26
+ ? DateTime.fromISO(value).diff(DateTime.fromISO(start)).toMillis() >
27
+ 0 || (t('Validation:fieldValidEventEnd') as string)
28
+ : true,
46
29
  },
47
30
  }
48
31
  }
@@ -109,6 +109,13 @@ export function EventCard({
109
109
  )}
110
110
  </Card.Title>
111
111
  <div className='flex-grow-1'>
112
+ <TipTapEditor
113
+ viewMode
114
+ disabled
115
+ className={clsx('event-description', !imageUrl && 'no-image')}
116
+ content={memoedContent}
117
+ id={descriptionId}
118
+ />
112
119
  <div className='mt-2 ml-2'>
113
120
  {Object.keys(statistics).map((key) => (
114
121
  <div className='event-card-sale' key={key}>
@@ -155,7 +162,7 @@ export function EventCard({
155
162
  </Popover>
156
163
  }
157
164
  >
158
- <div className='pl-3 mt-2 text-truncate'>
165
+ <div className='pl-3 text-truncate'>
159
166
  {t('Design:productSet')}: {productSetName}
160
167
  </div>
161
168
  </OverlayTrigger>
@@ -3,7 +3,6 @@ import { useIntl } from 'react-intl'
3
3
  import * as Config from '@licklist/core/dist/Config'
4
4
  import { OrderItem } from '@licklist/plugins/dist/types/context/Iframe/orderItems'
5
5
  import { OrderModifierByProduct } from '@licklist/core/dist/DataMapper/Order/OrderModifiierByProduct'
6
- import { calculateTotalModifiersPrice } from '../../utils'
7
6
  import { ProductWithModifier } from '../../../CategoryProduct/components/ProductWithModifier/ProductWithModifier'
8
7
 
9
8
 
@@ -69,7 +69,7 @@ export const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(
69
69
  return
70
70
  }
71
71
 
72
- onArrowDown(value - 1)
72
+ onArrowUp(value - 1)
73
73
  }
74
74
 
75
75
  const inputWrapperClasses = clsx('payment-number-input', className)
@@ -31,7 +31,6 @@ interface PaymentStatusComponentProps {
31
31
  showCloseButton?: boolean
32
32
  email?: string
33
33
  totalAmount?: number
34
- getBookingPDF?: () => Promise<void>
35
34
  paymentMetadata?: PaymentMetadata
36
35
  }
37
36
 
@@ -48,7 +47,6 @@ export const PaymentStatusPage = ({
48
47
  onTryAgain,
49
48
  isLoading,
50
49
  status,
51
- getBookingPDF,
52
50
  isAppUsingInIframe,
53
51
  bookingSummaryProps,
54
52
  EventCardComponent,
@@ -108,7 +106,6 @@ export const PaymentStatusPage = ({
108
106
  {EventCardComponent}
109
107
  <PaymentStatusBody
110
108
  status={status}
111
- getBookingPDF={getBookingPDF}
112
109
  onBack={onBack || onCloseWindow}
113
110
  onTryAgain={onTryAgain}
114
111
  email={email}