@licklist/design 0.72.72-dev.3 → 0.72.72-dev.5

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 (25) hide show
  1. package/dist/product-set/control/ProductSetControl.d.ts +2 -0
  2. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  3. package/dist/product-set/control/ProductSetControl.js +10 -0
  4. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  5. package/dist/product-set/form/ProductsControl.js +2 -0
  6. package/dist/product-set/product/ProductControl.d.ts +2 -0
  7. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  8. package/dist/product-set/product/ProductControl.js +7 -0
  9. package/dist/product-set/product/scanRange/ProductScanRangeControl.d.ts +12 -0
  10. package/dist/product-set/product/scanRange/ProductScanRangeControl.d.ts.map +1 -0
  11. package/dist/product-set/product/scanRange/ProductScanRangeControl.js +153 -0
  12. package/dist/product-set/product/scanRange/index.d.ts +2 -0
  13. package/dist/product-set/product/scanRange/index.d.ts.map +1 -0
  14. package/dist/product-set/utils/index.d.ts +3 -0
  15. package/dist/product-set/utils/index.d.ts.map +1 -1
  16. package/dist/styles/form/CustomCheckbox.scss +31 -0
  17. package/package.json +2 -2
  18. package/src/product-set/control/ProductSetControl.tsx +11 -0
  19. package/src/product-set/form/ProductsControl.tsx +2 -0
  20. package/src/product-set/product/ProductControl.tsx +18 -12
  21. package/src/product-set/product/scanRange/ProductScanRangeControl.stories.ts +45 -0
  22. package/src/product-set/product/scanRange/ProductScanRangeControl.tsx +163 -0
  23. package/src/product-set/product/scanRange/index.ts +1 -0
  24. package/src/styles/form/CustomCheckbox.scss +31 -0
  25. package/yarn.lock +151 -151
@@ -25,6 +25,7 @@ export interface ProductSetControlValues extends DateAndRecurrenceInputValues {
25
25
  fieldSetId?: number;
26
26
  saleDeadline?: number;
27
27
  steps: Step[];
28
+ hasGeneralTicket?: boolean;
28
29
  emailTemplates?: TemplateItem[];
29
30
  smsTemplates?: TemplateItem[];
30
31
  localImageBlobURL?: string;
@@ -50,6 +51,7 @@ export interface ProductSetControlProps {
50
51
  providerHasBookingManagement?: boolean;
51
52
  isOverrides?: boolean;
52
53
  saleDeadline?: number;
54
+ hasGeneralTicket?: boolean;
53
55
  isCreateNewOverrides?: boolean;
54
56
  timeZone: string;
55
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSetControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/control/ProductSetControl.tsx"],"names":[],"mappings":"AAIA,OAAO,EAOL,mBAAmB,EACnB,cAAc,EAEd,gBAAgB,EACjB,MAAM,6DAA6D,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAA;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAA;AAErF,OAAO,EAAE,KAAK,EAAE,MAAM,sDAAsD,CAAA;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAEL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAmB/B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,aAAa,GAAG,WAAW,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,EAAE,cAAc,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,mBAAmB,CAAA;IACpC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAA;IACjC,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,GAAU,EACV,SAAc,EACd,cAAmB,EACnB,YAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,4BAAoC,EACpC,WAAmB,EACnB,oBAA4B,EAC5B,QAAQ,GACT,EAAE,sBAAsB,2CAsTxB"}
1
+ {"version":3,"file":"ProductSetControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/control/ProductSetControl.tsx"],"names":[],"mappings":"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"}
@@ -277,6 +277,16 @@ function ProductSetControl(param) {
277
277
  })
278
278
  ]
279
279
  }),
280
+ /*#__PURE__*/ jsx(Form.Group, {
281
+ controlId: "hasGeneralTicket",
282
+ className: "checkbox-second-column mt-4",
283
+ children: /*#__PURE__*/ jsx(Form.Check, _object_spread_props(_object_spread({
284
+ "data-testid": "save-as-template-checkbox",
285
+ label: t('Design:hasGeneralTicket')
286
+ }, register('hasGeneralTicket')), {
287
+ custom: true
288
+ }))
289
+ }),
280
290
  /*#__PURE__*/ jsxs(Form.Group, {
281
291
  controlId: termsAndConditionsId,
282
292
  children: [
@@ -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,CAAA;AAC/F,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAA;AAI9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAQhD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAA;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AA+BD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,oBAAoB,GACrB,EAAE,oBAAoB,2CAkPtB"}
1
+ {"version":3,"file":"ProductsControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/form/ProductsControl.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAA;AAC/F,OAAO,EAAkB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAA;AAI9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAQhD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,YAAY,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,CAAA;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAiCD,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,oBAAoB,GACrB,EAAE,oBAAoB,2CAkPtB"}
@@ -110,6 +110,8 @@ var getDefaultProductValue = function(sort) {
110
110
  deposit: 0,
111
111
  minQuantity: null,
112
112
  maxQuantity: null,
113
+ scanRangeStart: null,
114
+ scanRangeEnd: null,
113
115
  totalQuantity: 0,
114
116
  isAvailable: true,
115
117
  modifiersSet: [],
@@ -22,6 +22,8 @@ export interface ProductControlValues extends FormValues, ProductDepositControlV
22
22
  deposit: number;
23
23
  minQuantity: number;
24
24
  maxQuantity: number;
25
+ scanRangeStart?: number;
26
+ scanRangeEnd?: number;
25
27
  totalQuantity: number;
26
28
  isAvailable: boolean;
27
29
  isSoldOut: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { ProductPriceControl } from './price/ProductPriceControl.js';
28
28
  import { MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH } from './constants.js';
29
29
  import { AdvancedOptions } from './advanced-options/AdvancedOptions.js';
30
30
  import { ProductZonesControl } from '../form/ProductZonesControl.js';
31
+ import { ProductScanRangeControl } from './scanRange/ProductScanRangeControl.js';
31
32
  import { BooleanSwitch } from '../../static/switch/BooleanSwitch.js';
32
33
 
33
34
  function _array_like_to_array(arr, len) {
@@ -282,6 +283,12 @@ function ProductControl(param) {
282
283
  onFocus: onFocus,
283
284
  disabled: isUnlimited
284
285
  }),
286
+ /*#__PURE__*/ jsx(ProductScanRangeControl, {
287
+ isLoading: isLoading,
288
+ fieldNamePrefix: fieldNamePrefix,
289
+ isOverrides: isOverrides,
290
+ onFocus: onFocus
291
+ }),
285
292
  /*#__PURE__*/ jsxs(Form.Group, {
286
293
  controlId: unlimitedQuantityId,
287
294
  className: "custom-checkbox",
@@ -0,0 +1,12 @@
1
+ import { FieldNamePrefixPath, FormValues } from '@licklist/plugins/dist/types/services/Form/hook-form-service';
2
+ export interface ProductScanRangeControlValues extends FormValues {
3
+ scanRangeStart: number;
4
+ scanRangeEnd: number;
5
+ }
6
+ export interface ProductScanRangeControlProps<T> extends FieldNamePrefixPath<T> {
7
+ isLoading: boolean;
8
+ onFocus?: (e: React.SyntheticEvent) => void;
9
+ isOverrides?: boolean;
10
+ }
11
+ export declare function ProductScanRangeControl<T extends FormValues>(props: ProductScanRangeControlProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=ProductScanRangeControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductScanRangeControl.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/scanRange/ProductScanRangeControl.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACX,MAAM,8DAA8D,CAAA;AAWrE,MAAM,WAAW,6BAA8B,SAAQ,UAAU;IAC/D,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC7E,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAA;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,UAAU,EAC1D,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC,2CAuIvC"}
@@ -0,0 +1,153 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import HookFormService from '@licklist/plugins/dist/services/Form/HookFormService';
3
+ import { useId } from '@react-aria/utils';
4
+ import { Form } from 'react-bootstrap';
5
+ import Col from 'react-bootstrap/Col';
6
+ import InputGroup from 'react-bootstrap/InputGroup';
7
+ import Row from 'react-bootstrap/Row';
8
+ import { useFormContext, Controller } from 'react-hook-form';
9
+ import { useTranslation } from 'react-i18next';
10
+ import { ReactComponent as SvgIncrement } from '../../../assets/dashboard/increment.svg.js';
11
+
12
+ function ProductScanRangeControl(props) {
13
+ var _props_isLoading = props.isLoading, isLoading = _props_isLoading === void 0 ? false : _props_isLoading, fieldNamePrefix = props.fieldNamePrefix, onFocus = props.onFocus, isOverrides = props.isOverrides;
14
+ var _useFormContext = useFormContext(), control = _useFormContext.control, errors = _useFormContext.formState.errors, setValue = _useFormContext.setValue, watch = _useFormContext.watch;
15
+ var t = useTranslation('Design').t;
16
+ var scanRangeStartId = useId();
17
+ var scanRangeEndId = useId();
18
+ var scanRangeStartValue = watch("".concat(fieldNamePrefix, ".scanRangeStart"));
19
+ var scanRangeEndValue = watch("".concat(fieldNamePrefix, ".scanRangeEnd"));
20
+ return /*#__PURE__*/ jsxs(Fragment, {
21
+ children: [
22
+ /*#__PURE__*/ jsx(Form.Label, {
23
+ children: t('scanningRange')
24
+ }),
25
+ /*#__PURE__*/ jsxs(Row, {
26
+ children: [
27
+ /*#__PURE__*/ jsx(Col, {
28
+ xs: 12,
29
+ sm: 6,
30
+ children: /*#__PURE__*/ jsxs(Form.Group, {
31
+ controlId: scanRangeStartId,
32
+ children: [
33
+ /*#__PURE__*/ jsx(Form.Label, {
34
+ children: t('beforeEventStart')
35
+ }),
36
+ /*#__PURE__*/ jsxs(InputGroup, {
37
+ hasValidation: true,
38
+ children: [
39
+ /*#__PURE__*/ jsx(InputGroup.Prepend, {
40
+ className: "arrow-up-btn",
41
+ onClick: function() {
42
+ setValue("".concat(fieldNamePrefix, ".scanRangeStart"), Number(scanRangeStartValue) + 1);
43
+ },
44
+ children: /*#__PURE__*/ jsx(InputGroup.Text, {
45
+ className: "py-0 px-3",
46
+ children: /*#__PURE__*/ jsx(SvgIncrement, {})
47
+ })
48
+ }),
49
+ /*#__PURE__*/ jsx(Controller, {
50
+ render: function(param) {
51
+ var _param_field = param.field, value = _param_field.value, onChange = _param_field.onChange, ref = _param_field.ref;
52
+ return /*#__PURE__*/ jsx(Form.Control, {
53
+ ref: ref,
54
+ type: "number",
55
+ min: 0,
56
+ step: 1,
57
+ onWheel: function(event) {
58
+ return event.currentTarget.blur();
59
+ },
60
+ value: value,
61
+ onChange: onChange,
62
+ onFocus: onFocus,
63
+ disabled: isLoading || isOverrides
64
+ });
65
+ },
66
+ control: control,
67
+ name: "".concat(fieldNamePrefix, ".scanRangeStart"),
68
+ rules: {
69
+ min: {
70
+ value: 0,
71
+ message: t('Validation:fieldMinNumber', {
72
+ attribute: t('scanRangeStart'),
73
+ min: 0
74
+ })
75
+ }
76
+ }
77
+ }),
78
+ /*#__PURE__*/ jsx(Form.Control.Feedback, {
79
+ type: "invalid",
80
+ children: HookFormService.getErrors("".concat(fieldNamePrefix, ".scanRangeStart"), errors)
81
+ })
82
+ ]
83
+ })
84
+ ]
85
+ })
86
+ }),
87
+ /*#__PURE__*/ jsx(Col, {
88
+ xs: 12,
89
+ sm: 6,
90
+ children: /*#__PURE__*/ jsxs(Form.Group, {
91
+ controlId: scanRangeEndId,
92
+ children: [
93
+ /*#__PURE__*/ jsx(Form.Label, {
94
+ children: t('AfterEventStart')
95
+ }),
96
+ /*#__PURE__*/ jsxs(InputGroup, {
97
+ hasValidation: true,
98
+ children: [
99
+ /*#__PURE__*/ jsx(InputGroup.Prepend, {
100
+ className: "arrow-up-btn",
101
+ onClick: function() {
102
+ setValue("".concat(fieldNamePrefix, ".scanRangeEnd"), Number(scanRangeEndValue) + 1);
103
+ },
104
+ children: /*#__PURE__*/ jsx(InputGroup.Text, {
105
+ className: "py-0 px-3",
106
+ children: /*#__PURE__*/ jsx(SvgIncrement, {})
107
+ })
108
+ }),
109
+ /*#__PURE__*/ jsx(Controller, {
110
+ render: function(param) {
111
+ var _param_field = param.field, value = _param_field.value, onChange = _param_field.onChange, ref = _param_field.ref;
112
+ return /*#__PURE__*/ jsx(Form.Control, {
113
+ ref: ref,
114
+ type: "number",
115
+ min: 0,
116
+ step: 1,
117
+ onWheel: function(event) {
118
+ return event.currentTarget.blur();
119
+ },
120
+ value: value && value,
121
+ onFocus: onFocus,
122
+ onChange: onChange,
123
+ disabled: isLoading || isOverrides
124
+ });
125
+ },
126
+ control: control,
127
+ name: "".concat(fieldNamePrefix, ".scanRangeEnd"),
128
+ rules: {
129
+ min: {
130
+ value: 0,
131
+ message: t('Validation:fieldMinNumber', {
132
+ attribute: t('scanRangeEnd'),
133
+ min: 0
134
+ })
135
+ }
136
+ }
137
+ }),
138
+ /*#__PURE__*/ jsx(Form.Control.Feedback, {
139
+ type: "invalid",
140
+ children: HookFormService.getErrors("".concat(fieldNamePrefix, ".scanRangeEnd"), errors)
141
+ })
142
+ ]
143
+ })
144
+ ]
145
+ })
146
+ })
147
+ ]
148
+ })
149
+ ]
150
+ });
151
+ }
152
+
153
+ export { ProductScanRangeControl };
@@ -0,0 +1,2 @@
1
+ export * from './ProductScanRangeControl';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/scanRange/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -38,6 +38,8 @@ export declare const updateModifiersSetAtProductSetForm: (data: ProductSetFormVa
38
38
  deposit: number;
39
39
  minQuantity: number;
40
40
  maxQuantity: number;
41
+ scanRangeStart?: number;
42
+ scanRangeEnd?: number;
41
43
  totalQuantity: number;
42
44
  isAvailable: boolean;
43
45
  isSoldOut: boolean;
@@ -103,6 +105,7 @@ export declare const updateModifiersSetAtProductSetForm: (data: ProductSetFormVa
103
105
  relyOnPeopleType?: import("@licklist/core/dist/DataMapper/Product/ProductSetDataMapper").RelyOnPeopleType | null;
104
106
  fieldSetId?: number;
105
107
  saleDeadline?: number;
108
+ hasGeneralTicket?: boolean;
106
109
  emailTemplates?: TemplateItem[];
107
110
  smsTemplates?: TemplateItem[];
108
111
  localImageBlobURL?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/product-set/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAA;AAG/F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,UAAU,yBAAyB;IACjC,MAAM,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAA;IAC/C,CAAC,EAAE,SAAS,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AACD,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAC1B,CAAC,EAAE,aACC,MAAM,aACN,MAAM,QAQlB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,CAAC,EAAE;;IACmB,CAAA;AAEjE,eAAO,MAAM,oBAAoB,eACnB,aAAa,EAAE,GAAG,WAAW,EAAE,kBAC3B,YAAY,EAAE,KAC7B,YAAY,EAAE,GAAG,SAmBnB,CAAA;AAED,eAAQ,MAAM,kCAAkC,SAAU,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc5E,CAAC;AAEH,eAAO,MAAM,yBAAyB,6BAInC,yBAAyB,YA0B3B,CAAA;AAED,eAAO,MAAM,yBAAyB,WAC5B,CAAC,UAAU,GAAG,oBAAoB,CAAC,EAAE,KAC5C,gBAAgB,EACwD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/product-set/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAA;AAG/F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,UAAU,yBAAyB;IACjC,MAAM,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAA;IAC/C,CAAC,EAAE,SAAS,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AACD,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAC1B,CAAC,EAAE,aACC,MAAM,aACN,MAAM,QAQlB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,CAAC,EAAE;;IACmB,CAAA;AAEjE,eAAO,MAAM,oBAAoB,eACnB,aAAa,EAAE,GAAG,WAAW,EAAE,kBAC3B,YAAY,EAAE,KAC7B,YAAY,EAAE,GAAG,SAmBnB,CAAA;AAED,eAAQ,MAAM,kCAAkC,SAAU,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc5E,CAAC;AAEH,eAAO,MAAM,yBAAyB,6BAInC,yBAAyB,YA0B3B,CAAA;AAED,eAAO,MAAM,yBAAyB,WAC5B,CAAC,UAAU,GAAG,oBAAoB,CAAC,EAAE,KAC5C,gBAAgB,EACwD,CAAA"}
@@ -28,3 +28,34 @@
28
28
  z-index: 2;
29
29
  }
30
30
  }
31
+
32
+ .checkbox-second-column {
33
+ margin-top: 1rem;
34
+ display: flex;
35
+ z-index: 2;
36
+ align-items: center;
37
+
38
+ .custom-checkbox .custom-control-label::before {
39
+ width: 1.5rem;
40
+ height: 1.5rem;
41
+ border-radius: 0.5rem;
42
+ border: 2px solid #0e8ce2;
43
+ margin-top: -0.3rem;
44
+ }
45
+ .custom-checkbox .custom-control-label::after {
46
+ width: 1.5rem;
47
+ height: 1.5rem;
48
+ top: 0;
49
+ }
50
+
51
+ .custom-control-label {
52
+ padding-left: 0.5rem;
53
+ font-weight: 400;
54
+ font-size: 1rem;
55
+ min-height: 3rem;
56
+ }
57
+
58
+ .checkbox-input {
59
+ z-index: 2;
60
+ }
61
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.72.72-dev.3",
3
+ "version": "0.72.72-dev.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -42,7 +42,7 @@
42
42
  ]
43
43
  },
44
44
  "peerDependencies": {
45
- "@licklist/core": "0.31.2-dev.18",
45
+ "@licklist/core": "0.32.15-dev.3",
46
46
  "@licklist/eslint-config": "0.5.6",
47
47
  "@licklist/plugins": "0.35.1-dev.9",
48
48
  "lodash": "4.17.21",
@@ -69,6 +69,7 @@ export interface ProductSetControlValues extends DateAndRecurrenceInputValues {
69
69
  fieldSetId?: number
70
70
  saleDeadline?: number
71
71
  steps: Step[]
72
+ hasGeneralTicket?: boolean
72
73
  emailTemplates?: TemplateItem[]
73
74
  smsTemplates?: TemplateItem[]
74
75
  localImageBlobURL?: string
@@ -96,6 +97,7 @@ export interface ProductSetControlProps {
96
97
  providerHasBookingManagement?: boolean
97
98
  isOverrides?: boolean
98
99
  saleDeadline?: number
100
+ hasGeneralTicket?: boolean
99
101
  isCreateNewOverrides?: boolean
100
102
  timeZone: string
101
103
  }
@@ -307,6 +309,15 @@ export function ProductSetControl({
307
309
  </Form.Control.Feedback>
308
310
  </Form.Group>
309
311
 
312
+ <Form.Group controlId='hasGeneralTicket' className='checkbox-second-column mt-4'>
313
+ <Form.Check
314
+ data-testid='save-as-template-checkbox'
315
+ label={t('Design:hasGeneralTicket')}
316
+ {...register('hasGeneralTicket')}
317
+ custom
318
+ />
319
+ </Form.Group>
320
+
310
321
  <Form.Group controlId={termsAndConditionsId}>
311
322
  <Form.Label>{t('Design:termsAndConditions')}</Form.Label>
312
323
  <Form.Control
@@ -47,6 +47,8 @@ const getDefaultProductValue = (sort: number): Product => ({
47
47
  deposit: 0,
48
48
  minQuantity: null,
49
49
  maxQuantity: null,
50
+ scanRangeStart: null,
51
+ scanRangeEnd: null,
50
52
  totalQuantity: 0,
51
53
  isAvailable: true,
52
54
  modifiersSet: [],
@@ -64,7 +64,7 @@ import { MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH } from './constants'
64
64
  import { ProductZoneControlValues } from '../product-zone'
65
65
  import { AdvancedOptions } from './advanced-options'
66
66
  import { ProductZonesControl } from '../form/ProductZonesControl'
67
-
67
+ import { ProductScanRangeControl } from './scanRange'
68
68
 
69
69
  export interface ModifiersSet {
70
70
  id: number
@@ -86,6 +86,8 @@ export interface ProductControlValues
86
86
  deposit: number
87
87
  minQuantity: number
88
88
  maxQuantity: number
89
+ scanRangeStart?: number
90
+ scanRangeEnd?: number
89
91
  totalQuantity: number
90
92
  isAvailable: boolean
91
93
  isSoldOut: boolean
@@ -121,7 +123,6 @@ export interface ProductControlProps<T>
121
123
  hasTicket?: boolean
122
124
  categoryType?: CategoryType
123
125
  isOverrides?: boolean
124
-
125
126
  }
126
127
 
127
128
  export function ProductControl<T extends FormValues>({
@@ -136,7 +137,6 @@ export function ProductControl<T extends FormValues>({
136
137
  categoryType,
137
138
  isOverrides = false,
138
139
  }: ProductControlProps<T>) {
139
-
140
140
  const {
141
141
  register,
142
142
  control,
@@ -202,7 +202,6 @@ export function ProductControl<T extends FormValues>({
202
202
  setInitialImages(formImages as Image[])
203
203
  }, [getValues, setInitialImages, fieldNamePrefix])
204
204
 
205
-
206
205
  useEffect(() => {
207
206
  if (Array.isArray(images)) {
208
207
  setValue(
@@ -298,14 +297,21 @@ export function ProductControl<T extends FormValues>({
298
297
  isOverrides={isOverrides}
299
298
  onFocus={onFocus}
300
299
  />
301
-
302
- <ProductQuantityRechargingControl<T>
303
- isLoading={isLoading}
304
- fieldNamePrefix={fieldNamePrefix}
305
- onFocus={onFocus}
306
- disabled={isUnlimited}
307
- />
308
-
300
+
301
+ <ProductQuantityRechargingControl<T>
302
+ isLoading={isLoading}
303
+ fieldNamePrefix={fieldNamePrefix}
304
+ onFocus={onFocus}
305
+ disabled={isUnlimited}
306
+ />
307
+
308
+ <ProductScanRangeControl<T>
309
+ isLoading={isLoading}
310
+ fieldNamePrefix={fieldNamePrefix}
311
+ isOverrides={isOverrides}
312
+ onFocus={onFocus}
313
+ />
314
+
309
315
  <Form.Group
310
316
  controlId={unlimitedQuantityId}
311
317
  className='custom-checkbox'
@@ -0,0 +1,45 @@
1
+ // ProductScanRangeControl.stories.tsx
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ import { FormProvider, useForm } from 'react-hook-form';
4
+ import Form from 'react-bootstrap/Form';
5
+
6
+ import {
7
+ ProductScanRangeControl,
8
+ ProductScanRangeControlProps,
9
+ ProductScanRangeControlValues,
10
+ } from './ProductScanRangeControl';
11
+
12
+
13
+ const meta: Meta<typeof ProductScanRangeControl> = {
14
+ title: 'Product Set/Product/Scan Range',
15
+ component: ProductScanRangeControl,
16
+ };
17
+ export default meta;
18
+
19
+
20
+ type Story = StoryObj<typeof ProductScanRangeControl>;
21
+
22
+ export const Default: Story = {
23
+ args: {
24
+ isLoading: false,
25
+ },
26
+
27
+ render: (args: ProductScanRangeControlProps<{}>) => {
28
+ const methods = useForm<ProductScanRangeControlValues>({ mode: 'onChange' });
29
+ const onSubmit = (data: ProductScanRangeControlValues) =>
30
+ console.log('onSubmit', data);
31
+
32
+ return (
33
+ <FormProvider {...methods}>
34
+ <Form
35
+ className="d-flex flex-column"
36
+ noValidate
37
+ onSubmit={methods.handleSubmit(onSubmit)}
38
+ >
39
+ <ProductScanRangeControl {...args} />
40
+ </Form>
41
+ </FormProvider>
42
+ );
43
+ },
44
+ };
45
+