@licklist/design 0.49.0-dev.1 → 0.49.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.
- package/dist/calendar/Calendar.d.ts +0 -1
- package/dist/calendar/Calendar.d.ts.map +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.js +1 -1
- package/dist/date-time-button/DateTimeButton.d.ts +2 -3
- package/dist/date-time-button/DateTimeButton.d.ts.map +1 -1
- package/dist/date-time-button/DateTimeButton.js +1 -1
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts +1 -2
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts.map +1 -1
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.js +1 -1
- package/dist/product-set/product/ProductControl.d.ts.map +1 -1
- package/dist/product-set/product/ProductControl.js +1 -1
- package/dist/product-set/product/duration/ProductDurationControl.d.ts +2 -1
- package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
- package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
- package/dist/static/switch/BooleanSwitch.d.ts +1 -3
- package/dist/static/switch/BooleanSwitch.d.ts.map +1 -1
- package/dist/static/switch/BooleanSwitch.js +1 -1
- package/dist/styles/sales/BookingFilter.scss +1 -3
- package/dist/styles/sales/BookingResults.scss +1 -1
- package/dist/styles/static/Switch.scss +0 -1
- package/dist/table/TableHelperComponent.d.ts +1 -2
- package/dist/table/TableHelperComponent.d.ts.map +1 -1
- package/dist/table/TableHelperComponent.js +1 -1
- package/package.json +3 -3
- package/src/calendar/Calendar.tsx +0 -1
- package/src/calendar/components/CalendarDates/CalendarDates.tsx +0 -2
- package/src/date-time-button/DateTimeButton.tsx +3 -16
- package/src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx +3 -16
- package/src/product-set/product/ProductControl.tsx +4 -1
- package/src/product-set/product/duration/ProductDurationControl.tsx +9 -10
- package/src/static/switch/BooleanSwitch.tsx +2 -6
- package/src/styles/sales/BookingFilter.scss +1 -3
- package/src/styles/sales/BookingResults.scss +1 -1
- package/src/styles/static/Switch.scss +0 -1
- package/src/table/TableHelperComponent.tsx +18 -73
|
@@ -14,7 +14,6 @@ export type CalendarProps = {
|
|
|
14
14
|
initialDate?: DateTime;
|
|
15
15
|
getAvailability?: (date: DateTime) => ZoneResourcesAvailability | null;
|
|
16
16
|
includeAvailability?: boolean;
|
|
17
|
-
shouldCalculateResources?: boolean;
|
|
18
17
|
};
|
|
19
18
|
export declare const Calendar: ({ disabledDates, initialDate, ...props }: CalendarProps) => JSX.Element;
|
|
20
19
|
//# sourceMappingURL=Calendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0EAA0E,CAAC;AAIrH,eAAO,MAAM,eAAe,UAK1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,yBAAyB,GAAG,IAAI,CAAC;IACvE,mBAAmB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0EAA0E,CAAC;AAIrH,eAAO,MAAM,eAAe,UAK1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,yBAAyB,GAAG,IAAI,CAAC;IACvE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,QAAQ,6CAIlB,aAAa,gBAaf,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CalendarProps } from "../../Calendar";
|
|
3
3
|
export type CalendarDatesProps = Omit<CalendarProps, "currentDate" | "setCurrentDate" | "initialDate">;
|
|
4
|
-
export declare const CalendarDates: ({ disabledDates, isLoading, calendarDates, selectedDate, setSelectedDate, fromPrice, getAvailability, includeAvailability,
|
|
4
|
+
export declare const CalendarDates: ({ disabledDates, isLoading, calendarDates, selectedDate, setSelectedDate, fromPrice, getAvailability, includeAvailability, }: CalendarDatesProps) => JSX.Element;
|
|
5
5
|
//# sourceMappingURL=CalendarDates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDates.d.ts","sourceRoot":"","sources":["../../../../src/calendar/components/CalendarDates/CalendarDates.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,aAAa,EACb,aAAa,GAAG,gBAAgB,GAAG,aAAa,CACjD,CAAC;AAEF,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"CalendarDates.d.ts","sourceRoot":"","sources":["../../../../src/calendar/components/CalendarDates/CalendarDates.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,aAAa,EACb,aAAa,GAAG,gBAAgB,GAAG,aAAa,CACjD,CAAC;AAEF,eAAO,MAAM,aAAa,iIASvB,kBAAkB,gBA+CpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,a=require("tslib"),r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,a=require("tslib"),r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,i=require("../../utils/index.js"),l=require("../../../date-time-button/DateTimeButton.js"),d=require("../CalendarWeekdays/CalendarWeekdays.js");exports.CalendarDates=function(e){var n=e.disabledDates,s=void 0===n?[]:n,u=e.isLoading,o=void 0!==u&&u,c=e.calendarDates,v=e.selectedDate,m=e.setSelectedDate,f=e.fromPrice,y=e.getAvailability,p=e.includeAvailability,D=r.useMemo((function(){var e,r,t=null!==(r=null===(e=c[0])||void 0===e?void 0:e.weekday)&&void 0!==r?r:0;if(1===t)return c;for(var i=[];t>1;)i.push(null),t-=1;return a.__spreadArray(a.__spreadArray([],a.__read(i),!1),a.__read(c),!1)}),[c]);return t.createElement("div",{className:"calendar-dates-wrapper"},t.createElement(d.CalendarWeekdays,null),t.createElement("div",{className:"calendar-dates"},D.map((function(e){if(null===e)return t.createElement("div",null);var a=o||i.isSelectedDateDisabled(e,s);return t.createElement(l.DateTimeButton,{key:+e,isDisabled:a,isSelected:v?e.hasSame(v,"day"):void 0,date:e,onSelect:function(){return m(e)},price:f,resources:null==y?void 0:y(e),showResources:p,variant:l.Variant.month})}))))};
|
|
@@ -13,10 +13,9 @@ export type DateTimeButtonProps = {
|
|
|
13
13
|
isSoldOut?: boolean;
|
|
14
14
|
onSelect: (date: DateTime) => void;
|
|
15
15
|
price?: string | number | ReactElement | null;
|
|
16
|
-
resources
|
|
16
|
+
resources?: ZoneResourcesAvailability | null;
|
|
17
17
|
showResources?: boolean;
|
|
18
|
-
shouldCalculateResources?: boolean;
|
|
19
18
|
variant: Variant;
|
|
20
19
|
};
|
|
21
|
-
export declare const DateTimeButton: ({ date, isDisabled: _isDisabled, isSelected, isSoldOut: _isSoldOut, onSelect, price, resources, showResources,
|
|
20
|
+
export declare const DateTimeButton: ({ date, isDisabled: _isDisabled, isSelected, isSoldOut: _isSoldOut, onSelect, price, resources, showResources, variant, }: DateTimeButtonProps) => JSX.Element;
|
|
22
21
|
//# sourceMappingURL=DateTimeButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeButton.d.ts","sourceRoot":"","sources":["../../src/date-time-button/DateTimeButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0EAA0E,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeButton.d.ts","sourceRoot":"","sources":["../../src/date-time-button/DateTimeButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0EAA0E,CAAC;AAIrH,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,8HAUxB,mBAAmB,gBA6CrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,i=e(require("react")),a=e(require("clsx")),r=require("luxon"),n=require("../availability-indicator/AvailabilityIndicator.js"),o=require("./DateContent.js");(t=exports.Variant||(exports.Variant={})).week="week",t.month="month",t.time="time";var s=function(e){return e.toUTC()<=r.DateTime.now().toUTC()};exports.DateTimeButton=function(e){var t=e.date,r=e.isDisabled,l=e.isSelected,c=e.isSoldOut,u=e.onSelect,d=e.price,m=e.resources,b=e.showResources,v=e.variant,p=void 0===v?exports.Variant.week:v,x=c||m&&m.bookedResources>=m.totalResources,f=p===exports.Variant.time,y=f&&s(t),w=r||x||y;return i.createElement("button",{type:"button",onClick:function(){return u(t)},disabled:w,className:a("date-time-button",w&&"disabled",l&&"selected",f&&"time-button",f&&"only-time-container",!f&&"today",p===exports.Variant.month&&"calendar-view")},i.createElement(o.DateContent,{date:t,isDisabled:w,isSelected:l,variant:p}),d&&!w&&i.createElement("div",{className:"price"},d),b&&m&&i.createElement(n.AvailabilityIndicator,{resources:m,isUnavailable:r||y,isSoldOut:x}))};
|
|
@@ -11,9 +11,8 @@ type FooterProps = Partial<{
|
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
buttonLabel?: ReactNode;
|
|
13
13
|
showButton?: boolean;
|
|
14
|
-
isLoading: boolean;
|
|
15
14
|
} & (ButtonPropsWithoutOnClick | ButtonPropsWithOnClick)>;
|
|
16
15
|
export type BookingSummaryFooterProps = PropsWithChildren<FooterProps>;
|
|
17
|
-
export declare const BookingSummaryFooter: ({ disabled
|
|
16
|
+
export declare const BookingSummaryFooter: ({ disabled, onClick, buttonLabel, form, children, showButton, }: BookingSummaryFooterProps) => JSX.Element;
|
|
18
17
|
export {};
|
|
19
18
|
//# sourceMappingURL=BookingSummaryFooter.d.ts.map
|
package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingSummaryFooter.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BookingSummaryFooter.d.ts","sourceRoot":"","sources":["../../../../../src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK5D,KAAK,yBAAyB,GAAG;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,KAAK,WAAW,GAAG,OAAO,CACxB;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,CACzD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEvE,eAAO,MAAM,oBAAoB,oEAO9B,yBAAyB,gBAe3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=e(require("react")),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=e(require("react")),o=require("react-i18next"),n=e(require("react-bootstrap/Button")),i=require("../../constants.js");exports.BookingSummaryFooter=function(e){var a=e.disabled,s=void 0!==a&&a,u=e.onClick,l=e.buttonLabel,c=e.form,d=void 0===c?i.STEP_FORM_ID:c,m=e.children,f=e.showButton,b=void 0===f||f,v=o.useTranslation("Design").t,p=u?{onClick:u}:{type:"submit",form:d};return r.createElement("div",{className:"d-flex flex-column"},m,b&&r.createElement(n,t.__assign({className:"m-0 mt-3",disabled:s},p),null!=l?l:v("continue")))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EAMb,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AAEvF,OAAO,EACL,mBAAmB,EACnB,UAAU,EACX,MAAM,8DAA8D,CAAC;AAEtE,OAAc,EACZ,WAAW,EAKZ,MAAM,OAAO,CAAC;AAef,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAO9D,OAAO,EAEL,oCAAoC,EACpC,qCAAqC,EACtC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQ5C,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,2BAA2B,EAC3B,qCAAqC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,gBAAgB,EACtB,mBAAmB,CAAC,CAAC,CAAC,EACtB,oCAAoC,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EACnD,SAAiB,EACjB,eAAe,EACf,aAAqB,EACrB,oBAA4B,EAC5B,QAAa,EACb,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,GACb,EAAE,mBAAmB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ProductControl.d.ts","sourceRoot":"","sources":["../../../src/product-set/product/ProductControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EAMb,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AAEvF,OAAO,EACL,mBAAmB,EACnB,UAAU,EACX,MAAM,8DAA8D,CAAC;AAEtE,OAAc,EACZ,WAAW,EAKZ,MAAM,OAAO,CAAC;AAef,OAAO,EACL,KAAK,EAEN,MAAM,sDAAsD,CAAC;AAO9D,OAAO,EAEL,oCAAoC,EACpC,qCAAqC,EACtC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAEL,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQ5C,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,2BAA2B,EAC3B,qCAAqC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,gBAAgB,EACtB,mBAAmB,CAAC,CAAC,CAAC,EACtB,oCAAoC,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EACnD,SAAiB,EACjB,eAAe,EACf,aAAqB,EACrB,oBAA4B,EAC5B,QAAa,EACb,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,GACb,EAAE,mBAAmB,CAAC,CAAC,CAAC,eAmkBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),a=require("react"),n=e(a),r=require("react-i18next"),o=e(require("react-bootstrap/Row")),i=e(require("react-bootstrap/Col")),l=require("react-bootstrap"),c=require("../../static/Icon.js"),s=require("react-hook-form"),d=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@react-aria/utils"),m=require("../../static/switch/BooleanSwitch.js"),E=require("../../static/form-number-input/FormNumberInput.js");require("../../static/index.js");var p=require("../form/context.js"),g=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),f=require("./booking-management/ProductBookingManagementControl.js"),C=require("./deposit/ProductDepositControl.js"),v=require("./quantity/ProductQuantityControl.js"),b=require("./quantity/ProductQuantityConstantControl.js"),h=require("./quantity/ProductQuantityRechargingControl.js"),I=e(require("react-bootstrap/Collapse")),N=require("@licklist/plugins/dist/hooks/Media/useImages"),F=require("@licklist/core/dist/DataMapper/Media/ImageDataMapper"),P=require("../../file-upload/FileUpload.js"),y=require("../../tiptap-editor/TipTapEditor.js"),T=require("./fixed-duration-fields/FixedDurationOptions.js"),q=require("./duration/ProductDurationControl.js"),_=require("./price/ProductPriceControl.js"),x=require("./constants.js");exports.ProductControl=function(e){var k=e.isLoading,A=void 0!==k&&k,L=e.fieldNamePrefix,S=e.allowDeposits,D=void 0!==S&&S,R=e.hasBookingManagement,j=void 0!==R&&R,w=e.zoneList,M=void 0===w?[]:w,G=e.onCopy,O=e.onProductNameChange,B=e.productName,U=e.hasTicket,Y=e.categoryType,Q=e.zoneDuration,V=s.useFormContext(),H=V.register,X=V.control,z=V.formState.errors,W=V.setValue,Z=V.getValues,J=V.watch,K=V.trigger,$=V.clearErrors,ee=a.useContext(p.ProductSetLoadingContext).setLoading,te=r.useTranslation(["Design","Validation"]).t,ae=t.__read(a.useState(!1),2),ne=ae[0],re=ae[1],oe=t.__read(a.useState(null),2),ie=oe[0],le=oe[1],ce=Boolean(J("".concat(L,".isUnlimited"))),se=J("".concat(L,".capacity")),de="0"===se||!se,ue=u.useId(),me=u.useId(),Ee=u.useId(),pe=u.useId(),ge=u.useId(),fe=u.useId(),Ce=u.useId(),ve=u.useId(),be=u.useId(),he=u.useId(),Ie=u.useId(),Ne=[{id:1,value:te("quantitySelector")},{id:2,value:te("stockControl")}],Fe=a.useCallback((function(){return re((function(e){return!e}))}),[]),Pe=s.useWatch({control:X,name:"".concat(L,".quantitySelector")}),ye=N.useImages(ie),Te=ye.images,qe=ye.handleImageRemove,_e=ye.handleImageUploading,xe=ye.isLoading,ke=a.useCallback((function(e){_e(e,F.IMAGE_TYPE_IMAGE)}),[_e]),Ae=a.useCallback((function(e,t){qe(String(e),t)}),[qe]),Le=function(e){return e.target.select()};a.useEffect((function(){ee(xe)}),[ee,xe]),a.useEffect((function(){var e=Z("".concat(L,".images"));le(e)}),[Z,le,L]),a.useEffect((function(){Array.isArray(Te)&&W("".concat(L,".images"),Te)}),[Te,L,W]),a.useEffect((function(){de?(W("".concat(L,".duration"),0),$("".concat(L,".duration"))):K("".concat(L,".duration"))}),[de]);var Se=null!=Pe?Pe:"1",De=g.QUANTITY_TYPE_LIST_DTO[Se];return n.createElement(n.Fragment,null,n.createElement(o,null,n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:me},n.createElement(l.Form.Label,null,te("name")),n.createElement(l.Form.Control,t.__assign({},H("".concat(L,".name")),{value:B,onChange:O,isInvalid:d.isInvalid("".concat(L,".name"),z),disabled:A,placeholder:te("name")})),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".name"),z))),n.createElement(l.Form.Group,{controlId:Ee},n.createElement(l.Form.Label,null,te("description")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange;return n.createElement(y.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:r,content:a,disabled:A})},rules:{maxLength:{value:x.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH,message:te("Validation:descriptionTooManyCharactersMessage",{max:x.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH})}},control:X,name:"".concat(L,".description")})),n.createElement("div",{className:"invalid-feedback field-values-error d-block"},d.getErrors("".concat(L,".description"),z)),D?n.createElement(o,null,n.createElement(C.ProductDepositControl,{isLoading:A,fieldNamePrefix:L}),n.createElement(_.ProductPriceControl,{isLoading:A,fieldNamePrefix:"".concat(L,".price"),title:te("totalPrice"),allowDeposits:D})):n.createElement(_.ProductPriceControl,{isLoading:A,fieldNamePrefix:"".concat(L,".price")}),n.createElement("div",null,n.createElement(v.ProductQuantityControl,{isLoading:A,fieldNamePrefix:L,onFocus:Le}),De===g.QUANTITY_TYPE_CONSTANT&&n.createElement(b.ProductQuantityConstantControl,{isLoading:A,fieldNamePrefix:L,onFocus:Le,disabled:ce}),De===g.QUANTITY_TYPE_RECHARGING&&n.createElement(h.ProductQuantityRechargingControl,{isLoading:A,fieldNamePrefix:L,onFocus:Le,disabled:ce}),n.createElement(l.Form.Group,{controlId:he,className:"custom-checkbox"},n.createElement(l.Form.Check,t.__assign({custom:!0,type:"checkbox"},H("".concat(L,".isUnlimited")),{name:"".concat(L,".isUnlimited"),disabled:A})),n.createElement(l.Form.Check.Label,null,te("isUnlimited")))),n.createElement(l.Form.Group,{controlId:ve},n.createElement(l.Form.Label,null,te("quantitySelectorType")),n.createElement(l.Form.Control,t.__assign({as:"select",defaultValue:U?Ne[0].id:void 0},H("".concat(L,".quantitySelector")),{isInvalid:d.isInvalid("".concat(L,".quantitySelector"),z),disabled:A||U}),Ne.map((function(e){return n.createElement("option",{value:e.id,key:e.id},e.value)}))),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".quantitySelector"),z))))),Y===g.CATEGORY_TYPE_FIXED_DURATION&&n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(q.ProductDurationControl,{fieldNamePrefix:L,disabled:de}),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".capacity"),label:te("capacity"),rules:{min:{value:0,message:te("Validation:fieldMinNumber",{attribute:te("capacity"),min:0})}}})),de&&n.createElement("div",{className:"duration-hint duration-capacity-container"},te("Design:forDurationEditing"))),Y===g.CATEGORY_TYPE_GAME&&n.createElement(n.Fragment,null,n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".capacity"),label:te("capacity"),onChange:function(e){Q&&W("".concat(L,".duration"),e*Q)},rules:{min:{value:0,message:te("Validation:fieldMinNumber",{attribute:te("capacity"),min:1})}}})),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".duration"),label:te("durationMinutes"),disabled:de,rules:{min:{value:0,message:te("Validation:fieldMinNumber",{attribute:te("duration"),min:0})},validate:function(e){return!(!de&&(!e||e<1))||te("Validation:fieldRequired",{attribute:te("duration")})}}}))),de&&n.createElement("div",{className:"duration-hint pl-0"},te("Design:forDurationEditing"))),n.createElement(o,{className:"mt-4"},n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:pe},n.createElement(l.Form.Label,null,te("productTermsConditions")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name,i=t.ref;return n.createElement(l.Form.Control,{ref:i,as:"textarea",rows:3,value:a,onChange:r,isInvalid:d.isInvalid("".concat(L,".termsAndConditions"),z),disabled:A,name:o})},control:X,name:"".concat(L,".termsAndConditions")}),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".termsAndConditions"),z)))),n.createElement(i,{lg:4,md:4,className:"licklist-file-upload-wrapper"},n.createElement(P.FileUpload,{onFilesChange:ke,allowedExtensions:["jpeg","jpg","png"],subTitle:".jpeg .jpg .png",enablePreview:!0,onFileRemove:Ae,defaultFiles:Te,isLoading:xe,withIcon:!0,title:te("addImage")}))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(l.Form.Group,{controlId:ge,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,te("isAvailable")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isAvailable")})),n.createElement(l.Form.Group,{controlId:fe,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,te("isSoldOut")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isSoldOut")})),n.createElement(l.Form.Group,{controlId:ue,className:"custom-checkbox"},n.createElement(l.Form.Check,{custom:!0,type:"checkbox",name:ue,disabled:A},n.createElement(l.Form.Check.Input,{checked:ne,onChange:Fe,type:"checkbox"}),n.createElement(l.Form.Check.Label,null,te("showAdvancedOptions"))))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(I,{in:ne},n.createElement("div",null,n.createElement(l.Form.Group,{controlId:Ce,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,te("isRequired")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isRequired")})),n.createElement(l.Form.Group,{controlId:be,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,te("hasSpecialNotes")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".hasSpecialNotes")})),[g.CATEGORY_TYPE_GAME,g.CATEGORY_TYPE_FIXED_DURATION].includes(Y)&&n.createElement(T.FixedDurationOptions,{fieldNamePrefix:L}),n.createElement(l.Form.Group,{controlId:Ie,className:"advanced-switch-container"},n.createElement(_.ProductPriceControl,{title:te("minSpend"),isRequired:!1,isMoreThanZero:!0,allowDeposits:!1,isLoading:A,fieldNamePrefix:"".concat(L,".minSpend")})))),n.createElement(o,null,n.createElement(i,{xs:12},j&&n.createElement(f.ProductBookingManagementControl,{isLoading:A,zoneList:M,fieldNamePrefix:L})))),n.createElement(o,null,n.createElement(i,{xs:!0},n.createElement("div",{className:"d-flex justify-content-end mt-4"},Boolean(G)&&n.createElement(l.Button,{onClick:G,variant:"link",className:"d-flex align-items-center"},n.createElement(c.default,{type:"clipboard",height:"1rem",className:"mr-2"})," ",te("copy"))))))};
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),a=require("react"),n=e(a),r=require("react-i18next"),o=e(require("react-bootstrap/Row")),i=e(require("react-bootstrap/Col")),l=require("react-bootstrap"),c=require("../../static/Icon.js"),s=require("react-hook-form"),d=e(require("@licklist/plugins/dist/services/Form/HookFormService")),u=require("@react-aria/utils"),m=require("../../static/switch/BooleanSwitch.js"),E=require("../../static/form-number-input/FormNumberInput.js");require("../../static/index.js");var p=require("../form/context.js"),g=require("@licklist/core/dist/DataMapper/Product/ProductCategoryDataMapper"),f=require("./booking-management/ProductBookingManagementControl.js"),C=require("./deposit/ProductDepositControl.js"),v=require("./quantity/ProductQuantityControl.js"),b=require("./quantity/ProductQuantityConstantControl.js"),h=require("./quantity/ProductQuantityRechargingControl.js"),I=e(require("react-bootstrap/Collapse")),N=require("@licklist/plugins/dist/hooks/Media/useImages"),F=require("@licklist/core/dist/DataMapper/Media/ImageDataMapper"),P=require("../../file-upload/FileUpload.js"),y=require("../../tiptap-editor/TipTapEditor.js"),T=require("./fixed-duration-fields/FixedDurationOptions.js"),q=require("./duration/ProductDurationControl.js"),_=require("./price/ProductPriceControl.js"),k=require("./constants.js");exports.ProductControl=function(e){var x=e.isLoading,A=void 0!==x&&x,L=e.fieldNamePrefix,S=e.allowDeposits,D=void 0!==S&&S,M=e.hasBookingManagement,R=void 0!==M&&M,j=e.zoneList,w=void 0===j?[]:j,G=e.onCopy,O=e.onProductNameChange,B=e.productName,U=e.hasTicket,Y=e.categoryType,Q=e.zoneDuration,V=s.useFormContext(),H=V.register,X=V.control,z=V.formState.errors,W=V.setValue,Z=V.getValues,J=V.watch,K=V.trigger,$=V.clearErrors,ee=a.useContext(p.ProductSetLoadingContext),te=ee.setLoading,ae=ee.providerHasBookingManagement,ne=r.useTranslation(["Design","Validation"]).t,re=t.__read(a.useState(!1),2),oe=re[0],ie=re[1],le=t.__read(a.useState(null),2),ce=le[0],se=le[1],de=Boolean(J("".concat(L,".isUnlimited"))),ue=J("".concat(L,".capacity")),me="0"===ue||!ue,Ee=u.useId(),pe=u.useId(),ge=u.useId(),fe=u.useId(),Ce=u.useId(),ve=u.useId(),be=u.useId(),he=u.useId(),Ie=u.useId(),Ne=u.useId(),Fe=u.useId(),Pe=[{id:1,value:ne("quantitySelector")},{id:2,value:ne("stockControl")}],ye=a.useCallback((function(){return ie((function(e){return!e}))}),[]),Te=s.useWatch({control:X,name:"".concat(L,".quantitySelector")}),qe=N.useImages(ce),_e=qe.images,ke=qe.handleImageRemove,xe=qe.handleImageUploading,Ae=qe.isLoading,Le=a.useCallback((function(e){xe(e,F.IMAGE_TYPE_IMAGE)}),[xe]),Se=a.useCallback((function(e,t){ke(String(e),t)}),[ke]),De=function(e){return e.target.select()};a.useEffect((function(){te(Ae)}),[te,Ae]),a.useEffect((function(){var e=Z("".concat(L,".images"));se(e)}),[Z,se,L]),a.useEffect((function(){Array.isArray(_e)&&W("".concat(L,".images"),_e)}),[_e,L,W]),a.useEffect((function(){me?(W("".concat(L,".duration"),0),$("".concat(L,".duration"))):K("".concat(L,".duration"))}),[me]);var Me=null!=Te?Te:"1",Re=g.QUANTITY_TYPE_LIST_DTO[Me];return n.createElement(n.Fragment,null,n.createElement(o,null,n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:pe},n.createElement(l.Form.Label,null,ne("name")),n.createElement(l.Form.Control,t.__assign({},H("".concat(L,".name")),{value:B,onChange:O,isInvalid:d.isInvalid("".concat(L,".name"),z),disabled:A,placeholder:ne("name")})),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".name"),z))),n.createElement(l.Form.Group,{controlId:ge},n.createElement(l.Form.Label,null,ne("description")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange;return n.createElement(y.TipTapEditor,{withEmoji:!1,viewMode:!1,onUpdate:r,content:a,disabled:A})},rules:{maxLength:{value:k.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH,message:ne("Validation:descriptionTooManyCharactersMessage",{max:k.MAX_PRODUCT_DESCRIPTION_CHARACTERS_LENGTH})}},control:X,name:"".concat(L,".description")})),n.createElement("div",{className:"invalid-feedback field-values-error d-block"},d.getErrors("".concat(L,".description"),z)),D?n.createElement(o,null,n.createElement(C.ProductDepositControl,{isLoading:A,fieldNamePrefix:L}),n.createElement(_.ProductPriceControl,{isLoading:A,fieldNamePrefix:"".concat(L,".price"),title:ne("totalPrice"),allowDeposits:D})):n.createElement(_.ProductPriceControl,{isLoading:A,fieldNamePrefix:"".concat(L,".price")}),n.createElement("div",null,n.createElement(v.ProductQuantityControl,{isLoading:A,fieldNamePrefix:L,onFocus:De}),Re===g.QUANTITY_TYPE_CONSTANT&&n.createElement(b.ProductQuantityConstantControl,{isLoading:A,fieldNamePrefix:L,onFocus:De,disabled:de}),Re===g.QUANTITY_TYPE_RECHARGING&&n.createElement(h.ProductQuantityRechargingControl,{isLoading:A,fieldNamePrefix:L,onFocus:De,disabled:de}),n.createElement(l.Form.Group,{controlId:Ne,className:"custom-checkbox"},n.createElement(l.Form.Check,t.__assign({custom:!0,type:"checkbox"},H("".concat(L,".isUnlimited")),{name:"".concat(L,".isUnlimited"),disabled:A})),n.createElement(l.Form.Check.Label,null,ne("isUnlimited")))),n.createElement(l.Form.Group,{controlId:he},n.createElement(l.Form.Label,null,ne("quantitySelectorType")),n.createElement(l.Form.Control,t.__assign({as:"select",defaultValue:U?Pe[0].id:void 0},H("".concat(L,".quantitySelector")),{isInvalid:d.isInvalid("".concat(L,".quantitySelector"),z),disabled:A||U}),Pe.map((function(e){return n.createElement("option",{value:e.id,key:e.id},e.value)}))),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".quantitySelector"),z))))),Y===g.CATEGORY_TYPE_FIXED_DURATION&&n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(q.ProductDurationControl,{fieldNamePrefix:L,providerHasBookingManagement:ae,disabled:me}),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".capacity"),label:ne("capacity"),rules:{min:{value:0,message:ne("Validation:fieldMinNumber",{attribute:ne("capacity"),min:0})}}})),me&&n.createElement("div",{className:"duration-hint duration-capacity-container"},ne("Design:forDurationEditing"))),Y===g.CATEGORY_TYPE_GAME&&n.createElement(n.Fragment,null,n.createElement(o,{className:"align-items-start duration-capacity-container"},n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".capacity"),label:ne("capacity"),onChange:function(e){Q&&W("".concat(L,".duration"),e*Q)},rules:{min:{value:0,message:ne("Validation:fieldMinNumber",{attribute:ne("capacity"),min:1})}}})),n.createElement(i,{lg:4,md:4},n.createElement(E.FormNumberInput,{fieldName:"".concat(L,".duration"),label:ne("durationMinutes"),disabled:me,rules:{min:{value:0,message:ne("Validation:fieldMinNumber",{attribute:ne("duration"),min:0})},validate:function(e){return!(!me&&(!e||e<1))||ne("Validation:fieldRequired",{attribute:ne("duration")})}}}))),me&&n.createElement("div",{className:"duration-hint pl-0"},ne("Design:forDurationEditing"))),n.createElement(o,{className:"mt-4"},n.createElement(i,{lg:8,md:8},n.createElement(l.Form.Group,{controlId:fe},n.createElement(l.Form.Label,null,ne("productTermsConditions")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name,i=t.ref;return n.createElement(l.Form.Control,{ref:i,as:"textarea",rows:3,value:a,onChange:r,isInvalid:d.isInvalid("".concat(L,".termsAndConditions"),z),disabled:A,name:o})},control:X,name:"".concat(L,".termsAndConditions")}),n.createElement(l.Form.Control.Feedback,{type:"invalid"},d.getErrors("".concat(L,".termsAndConditions"),z)))),n.createElement(i,{lg:4,md:4,className:"licklist-file-upload-wrapper"},n.createElement(P.FileUpload,{onFilesChange:Le,allowedExtensions:["jpeg","jpg","png"],subTitle:".jpeg .jpg .png",enablePreview:!0,onFileRemove:Se,defaultFiles:_e,isLoading:Ae,withIcon:!0,title:ne("addImage")}))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(l.Form.Group,{controlId:Ce,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ne("isAvailable")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isAvailable")})),n.createElement(l.Form.Group,{controlId:ve,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ne("isSoldOut")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isSoldOut")})),n.createElement(l.Form.Group,{controlId:Ee,className:"custom-checkbox"},n.createElement(l.Form.Check,{custom:!0,type:"checkbox",name:Ee,disabled:A},n.createElement(l.Form.Check.Input,{checked:oe,onChange:ye,type:"checkbox"}),n.createElement(l.Form.Check.Label,null,ne("showAdvancedOptions"))))),n.createElement(i,{lg:12,md:12,xl:!0,className:"p-0"},n.createElement(I,{in:oe},n.createElement("div",null,n.createElement(l.Form.Group,{controlId:be,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ne("isRequired")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".isRequired")})),n.createElement(l.Form.Group,{controlId:Ie,className:"advanced-switch-container"},n.createElement(l.Form.Label,null,ne("hasSpecialNotes")),n.createElement(s.Controller,{render:function(e){var t=e.field,a=t.value,r=t.onChange,o=t.name;return n.createElement(m.BooleanSwitch,{name:o,value:Boolean(a),onChange:r,disabled:A})},control:X,name:"".concat(L,".hasSpecialNotes")})),[g.CATEGORY_TYPE_GAME,g.CATEGORY_TYPE_FIXED_DURATION].includes(Y)&&n.createElement(T.FixedDurationOptions,{fieldNamePrefix:L}),n.createElement(l.Form.Group,{controlId:Fe,className:"advanced-switch-container"},n.createElement(_.ProductPriceControl,{title:ne("minSpend"),isRequired:!1,isMoreThanZero:!0,allowDeposits:!1,isLoading:A,fieldNamePrefix:"".concat(L,".minSpend")})))),n.createElement(o,null,n.createElement(i,{xs:12},R&&n.createElement(f.ProductBookingManagementControl,{isLoading:A,zoneList:w,fieldNamePrefix:L})))),n.createElement(o,null,n.createElement(i,{xs:!0},n.createElement("div",{className:"d-flex justify-content-end mt-4"},Boolean(G)&&n.createElement(l.Button,{onClick:G,variant:"link",className:"d-flex align-items-center"},n.createElement(c.default,{type:"clipboard",height:"1rem",className:"mr-2"})," ",ne("copy"))))))};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FieldNamePrefixPath } from "@licklist/plugins/dist/types/services/Form/hook-form-service";
|
|
3
3
|
export interface ProductDurationControlProps<T> extends FieldNamePrefixPath<T> {
|
|
4
|
+
providerHasBookingManagement: boolean;
|
|
4
5
|
disabled: boolean;
|
|
5
6
|
}
|
|
6
|
-
export declare const ProductDurationControl: <T>({ fieldNamePrefix, disabled, }: ProductDurationControlProps<T>) => JSX.Element;
|
|
7
|
+
export declare const ProductDurationControl: <T>({ fieldNamePrefix, providerHasBookingManagement, disabled, }: ProductDurationControlProps<T>) => JSX.Element;
|
|
7
8
|
//# sourceMappingURL=ProductDurationControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDurationControl.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/duration/ProductDurationControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAOnG,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ProductDurationControl.d.ts","sourceRoot":"","sources":["../../../../src/product-set/product/duration/ProductDurationControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAOnG,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC5E,4BAA4B,EAAE,OAAO,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,kHAsIlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=require("react-i18next"),n=require("react-bootstrap"),a=require("react-hook-form"),o=e(require("@licklist/plugins/dist/services/Form/HookFormService")),l=require("@react-aria/utils"),u=require("../../../assets/dashboard/increment.svg.js");exports.ProductDurationControl=function(e){var i=e.fieldNamePrefix,c=e.
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=require("react-i18next"),n=require("react-bootstrap"),a=require("react-hook-form"),o=e(require("@licklist/plugins/dist/services/Form/HookFormService")),l=require("@react-aria/utils"),u=require("../../../assets/dashboard/increment.svg.js");exports.ProductDurationControl=function(e){var i=e.fieldNamePrefix,c=e.providerHasBookingManagement,s=e.disabled,m=r.useTranslation("Design").t,d=l.useId(),p=l.useId(),f=a.useFormContext(),E=f.control,v=f.formState.errors,b=f.setValue,g="".concat(i,".duration"),F=function(e){return b(g,e,{shouldValidate:!0})},C=a.useWatch({control:E,name:g}),I=Math.floor(C/60),N=C%60,h=function(e){F(60*e+N)},q=function(e){F(60*I+(e>59?59:e))},x=o.isInvalid(g,v),k=function(e){return e.target.select()};return t.createElement(a.Controller,{control:E,name:g,rules:{required:{value:Boolean(c),message:m("Validation:fieldRequired",{attribute:m("duration")})},min:{value:1,message:m("Validation:fieldMinNumber",{attribute:m("duration")})}},render:function(e){var r=e.field;return t.createElement(t.Fragment,null,t.createElement(n.Col,{lg:4,md:4,sm:6},t.createElement(n.Form.Group,{controlId:d,className:"position-relative"},t.createElement(n.Form.Label,null,m("durationHours")),t.createElement(n.InputGroup,{hasValidation:!0},t.createElement(n.InputGroup.Prepend,{className:"arrow-up-btn",onClick:function(){return h(I+1)}},t.createElement(n.InputGroup.Text,{className:"py-0 px-3"},t.createElement(u.ReactComponent,null))),t.createElement(n.Form.Control,{type:"number",min:0,step:1,value:I,disabled:s,isInvalid:x,onChange:function(e){return h(Number(e.target.value))},ref:r.ref,onFocus:k}),t.createElement(n.Form.Control.Feedback,{type:"invalid"},o.getErrors(g,v))))),t.createElement(n.Col,{lg:4,md:4,sm:6},t.createElement(n.Form.Group,{controlId:p,className:"position-relative"},t.createElement(n.Form.Label,null,m("durationMinutes")),t.createElement(n.InputGroup,{hasValidation:!0},t.createElement(n.InputGroup.Prepend,{className:"arrow-up-btn",onClick:function(){return q(N+1)}},t.createElement(n.InputGroup.Text,{className:"py-0 px-3"},t.createElement(u.ReactComponent,null))),t.createElement(n.Form.Control,{type:"number",min:0,step:1,disabled:s,value:N,isInvalid:x,onChange:function(e){return q(Number(e.target.value))},onFocus:k}),t.createElement(n.Form.Control.Feedback,{type:"invalid"},o.getErrors(g,v))))))}})};
|
|
@@ -4,8 +4,6 @@ export interface BooleanSwitchProps {
|
|
|
4
4
|
value?: boolean;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
onChange: (value: boolean) => void;
|
|
7
|
-
firstValueTitle?: string;
|
|
8
|
-
secondValueTitle?: string;
|
|
9
7
|
}
|
|
10
|
-
export declare function BooleanSwitch({ name, value, disabled, onChange,
|
|
8
|
+
export declare function BooleanSwitch({ name, value, disabled, onChange, }: BooleanSwitchProps): JSX.Element;
|
|
11
9
|
//# sourceMappingURL=BooleanSwitch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanSwitch.d.ts","sourceRoot":"","sources":["../../../src/static/switch/BooleanSwitch.tsx"],"names":[],"mappings":";AAKA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"BooleanSwitch.d.ts","sourceRoot":"","sources":["../../../src/static/switch/BooleanSwitch.tsx"],"names":[],"mappings":";AAKA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,kBAAkB,eAwBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,a=require("tslib"),t=require("react"),i=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-i18next"),r=require("./Switch.js");exports.BooleanSwitch=function(e){var o=e.name,u=e.value,l=e.disabled,s=e.onChange,c=n.useTranslation("Design").t,d=[{id:1,value:c("yes")},{id:0,value:c("no")}],v=t.useCallback((function(e){s(Boolean(e))}),[s]);return i.createElement(r.Switch,a.__assign({name:o},void 0!==u&&{value:Number(u)},{options:d,disabled:l,onChange:v}))};
|
|
@@ -164,12 +164,10 @@
|
|
|
164
164
|
|
|
165
165
|
@include media-breakpoint-down(md) {
|
|
166
166
|
flex-wrap: wrap;
|
|
167
|
-
|
|
168
167
|
.date-container {
|
|
169
168
|
width: 100%;
|
|
170
169
|
flex: 1;
|
|
171
170
|
}
|
|
172
|
-
|
|
173
171
|
.btn-primary {
|
|
174
172
|
margin-top: 1rem;
|
|
175
173
|
}
|
|
@@ -232,4 +230,4 @@
|
|
|
232
230
|
}
|
|
233
231
|
}
|
|
234
232
|
}
|
|
235
|
-
}
|
|
233
|
+
}
|
|
@@ -27,7 +27,6 @@ $btn-switch-option-padding-y: calc(#{$btn-padding-y} - #{sp(1)}) !default;
|
|
|
27
27
|
border-radius: $btn-switch-option-border-radius;
|
|
28
28
|
margin: 0;
|
|
29
29
|
padding: $btn-switch-option-padding-y $btn-switch-option-padding-x;
|
|
30
|
-
min-width: 4.25rem;
|
|
31
30
|
|
|
32
31
|
&:hover,
|
|
33
32
|
&:active,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import ILengthAwarePaginator from "@licklist/plugins/dist/types/services/Table/ILengthAwarePaginator";
|
|
3
3
|
import ITableHeader from "@licklist/plugins/dist/types/services/Table/ITableHeader";
|
|
4
4
|
import ITableProps from "@licklist/plugins/dist/types/services/Table/ITableProps";
|
|
@@ -18,7 +18,6 @@ export interface TableHelperComponentProps {
|
|
|
18
18
|
[key: string]: any;
|
|
19
19
|
};
|
|
20
20
|
initialOptions?: Partial<ITableProps>;
|
|
21
|
-
filteredOrdersOptions?: (value: SetStateAction<ITableProps>) => void;
|
|
22
21
|
}
|
|
23
22
|
/**
|
|
24
23
|
* TableHelperComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHelperComponent.d.ts","sourceRoot":"","sources":["../../src/table/TableHelperComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableHelperComponent.d.ts","sourceRoot":"","sources":["../../src/table/TableHelperComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,qBAAqB,MAAM,mEAAmE,CAAC;AACtG,OAAO,YAAY,MAAM,0DAA0D,CAAC;AACpF,OAAO,WAAW,MAAM,yDAAyD,CAAC;AAQlF,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,QAAQ,CAAC;IACvB,SAAS,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACvC;AAUD;;;;;;GAMG;AACH,iBAAS,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,eAsP7D;AAED,OAAO,EAAE,oBAAoB,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 t=require("tslib"),r=require("react"),n=e(r),i=require("react-router-dom"),a=e(require("@licklist/plugins/dist/services/Route/RouteService")),o=require("../static/loader/LoaderIndicator.js"),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),r=require("react"),n=e(r),i=require("react-router-dom"),a=e(require("@licklist/plugins/dist/services/Route/RouteService")),o=require("../static/loader/LoaderIndicator.js"),l=require("react-bootstrap"),s=e(require("@licklist/plugins/dist/hooks/Query/useQuery")),u=require("lodash"),c=require("./FilterHelperComponent.js"),p=require("./PaginationHelperComponent.js"),d=e(require("@licklist/plugins/dist/services/Table/TableService")),g=require("./PerPageHelperComponent.js"),f=require("./utils/index.js");exports.TableHelperComponent=function(e){var _,m,v=e.paginator,E=e.headers,y=e.renderItemFn,S=e.isLoading,h=e.onRefreshFn,C=e.refreshAt,P=e.striped,b=void 0===P||P,q=e.bordered,F=void 0===q||q,j=e.displaySearchBar,D=void 0===j||j,k=e.displayPerPageSelect,L=void 0===k||k,w=e.displayShowingSection,H=void 0===w||w,O=e.externalFilters,R=void 0===O?{}:O,T=e.initialOptions,N=void 0===T?{}:T,V=s(),K=i.useLocation().pathname,I=Number(f.getFilterOptionsValue(V,N,"page")),x=Number(f.getFilterOptionsValue(V,N,"perPage")),A=String(f.getFilterOptionsValue(V,N,"sortKey")),U=String(f.getFilterOptionsValue(V,N,"sortDirection")),Q=String(f.getFilterOptionsValue(V,N,"filter")),B=t.__read(r.useState(),2),G=B[0],M=B[1],z=t.__read(r.useState({page:I,perPage:x,sortKey:A,sortDirection:U,filter:Q}),2),J=z[0],W=z[1],X=t.__read(r.useState(0),2),Y=X[0],Z=X[1],$=t.__read(r.useState(R),2),ee=$[0],te=$[1];r.useEffect((function(){u.isEqual(G,J)&&u.isEqual(ee,R)||(M(J),te(R),h&&h(J),a.redirectTo([K,["page=".concat(J.page),"perPage=".concat(J.perPage),"sortKey=".concat(escape(J.sortKey)),"sortDirection=".concat(escape(J.sortDirection)),"filter=".concat(escape(J.filter)),new URLSearchParams(R).toString()].join("&")].join("?")))}),[K,J,h,R]),r.useEffect((function(){Y!==C&&(Z((function(e){return null!=C?C:e})),h&&h(J))}),[h,J,C,Y]);var re=function(e){var r,i;if("string"==typeof e)return n.createElement("th",{key:e.toLowerCase(),className:d.getHeaderClasses(e,A,U)},e);if("object"==typeof e){var a={width:null!==(r=e.width)&&void 0!==r?r:"auto"};return n.createElement("th",{key:null!==(i=e.key)&&void 0!==i?i:e.title.toLowerCase(),className:d.getHeaderClasses(e,A,U),style:a,onClick:function(){return e.isSortable&&(r=e.key,n=d.DEFAULT_SORT_DIRECTION,void W(A===r?function(e){return n=d.getSortDirection(e.sortDirection,n),t.__assign(t.__assign({},e),{sortKey:r,sortDirection:n})}:function(e){return t.__assign(t.__assign({},e),{sortKey:r,sortDirection:n})}));var r,n}},e.title)}return null};return n.createElement("div",{className:["table-helper",S?"py-5":"py-1"].join(" ")},n.createElement(o.LoaderIndicator,{isLoaded:!S},n.createElement(l.Row,null,n.createElement(l.Col,null,L&&n.createElement(g.PerPageHelperComponent,{onChangeFn:function(e){W((function(r){return t.__assign(t.__assign({},r),{perPage:e})}))},defaultValue:null!==(_=null==v?void 0:v.per_page)&&void 0!==_?_:d.DEFAULT_PER_PAGE})),n.createElement(l.Col,null,D&&n.createElement(c.FilterHelperComponent,{onClickFn:function(e){W((function(r){var n=r.page,i=t.__rest(r,["page"]),a=n;return(!e&&i.filter||e&&!i.filter)&&(a=1),t.__assign(t.__assign({},i),{page:a,filter:e})}))},defaultValue:null!==(m=J.filter)&&void 0!==m?m:""}))),n.createElement(l.Row,null,n.createElement(l.Col,null,n.createElement("div",{className:"table-responsive"},n.createElement(l.Table,{striped:b,bordered:F,hover:!0},n.createElement("thead",null,n.createElement("tr",null,E.map((function(e){return re(e)})))),n.createElement("tbody",null,v?v.data.map((function(e,t){return y(e,t)})):null))))),n.createElement(p.PaginationHelperComponent,{displayShowingSection:H,paginator:v,onPageChangeFn:function(e){W((function(r){return t.__assign(t.__assign({},r),{page:e})}))}})))};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@licklist/design",
|
|
3
|
-
"version": "0.49.0
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@fortawesome/free-brands-svg-icons": "5.15.2",
|
|
54
54
|
"@fortawesome/free-solid-svg-icons": "5.15.2",
|
|
55
55
|
"@fortawesome/react-fontawesome": "0.1.9",
|
|
56
|
-
"@licklist/core": "
|
|
56
|
+
"@licklist/core": "^0.17.0",
|
|
57
57
|
"@licklist/eslint-config": "0.3.4",
|
|
58
|
-
"@licklist/plugins": "
|
|
58
|
+
"@licklist/plugins": "^0.23.0",
|
|
59
59
|
"@mdx-js/react": "1.6.22",
|
|
60
60
|
"@popperjs/core": "2.11.8",
|
|
61
61
|
"@react-aria/utils": "3.9.0",
|
|
@@ -19,7 +19,6 @@ export const CalendarDates = ({
|
|
|
19
19
|
fromPrice,
|
|
20
20
|
getAvailability,
|
|
21
21
|
includeAvailability,
|
|
22
|
-
shouldCalculateResources,
|
|
23
22
|
}: CalendarDatesProps) => {
|
|
24
23
|
const fillCalendarDates = useMemo(() => {
|
|
25
24
|
let firstDayOfWeek = calendarDates[0]?.weekday ?? 0;
|
|
@@ -61,7 +60,6 @@ export const CalendarDates = ({
|
|
|
61
60
|
resources={getAvailability?.(date)}
|
|
62
61
|
showResources={includeAvailability}
|
|
63
62
|
variant={Variant.month}
|
|
64
|
-
shouldCalculateResources={shouldCalculateResources}
|
|
65
63
|
/>
|
|
66
64
|
);
|
|
67
65
|
})}
|
|
@@ -2,7 +2,6 @@ import React, { ReactElement } from "react";
|
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import { DateTime } from "luxon";
|
|
4
4
|
import { ZoneResourcesAvailability } from "@licklist/core/dist/DataMapper/Order/ZoneResourcesAvailabilityDataMapper";
|
|
5
|
-
import { has } from "lodash";
|
|
6
5
|
import { AvailabilityIndicator } from "../availability-indicator";
|
|
7
6
|
import { DateContent } from "./DateContent";
|
|
8
7
|
|
|
@@ -19,9 +18,8 @@ export type DateTimeButtonProps = {
|
|
|
19
18
|
isSoldOut?: boolean;
|
|
20
19
|
onSelect: (date: DateTime) => void;
|
|
21
20
|
price?: string | number | ReactElement | null;
|
|
22
|
-
resources
|
|
21
|
+
resources?: ZoneResourcesAvailability | null;
|
|
23
22
|
showResources?: boolean;
|
|
24
|
-
shouldCalculateResources?: boolean;
|
|
25
23
|
variant: Variant;
|
|
26
24
|
};
|
|
27
25
|
|
|
@@ -34,28 +32,17 @@ export const DateTimeButton = ({
|
|
|
34
32
|
price,
|
|
35
33
|
resources,
|
|
36
34
|
showResources,
|
|
37
|
-
shouldCalculateResources = true,
|
|
38
35
|
variant = Variant.week,
|
|
39
36
|
}: DateTimeButtonProps) => {
|
|
40
37
|
const isSoldOut =
|
|
41
38
|
_isSoldOut ||
|
|
42
|
-
|
|
43
|
-
(shouldCalculateResources &&
|
|
44
|
-
resources &&
|
|
45
|
-
resources.bookedResources >= resources.totalResources);
|
|
39
|
+
(resources && resources.bookedResources >= resources.totalResources);
|
|
46
40
|
|
|
47
41
|
const isTimeVariant = variant === Variant.time;
|
|
48
42
|
|
|
49
43
|
const isTimeInPast = isTimeVariant && isDateInPast(date);
|
|
50
44
|
|
|
51
|
-
const
|
|
52
|
-
shouldCalculateResources &&
|
|
53
|
-
// only consider resources if shouldCalculateResources is true
|
|
54
|
-
(!resources ||
|
|
55
|
-
!has(resources, "bookedResources") ||
|
|
56
|
-
!has(resources, "totalResources"));
|
|
57
|
-
|
|
58
|
-
const isDisabled = _isDisabled || isSoldOut || isTimeInPast || noResources;
|
|
45
|
+
const isDisabled = _isDisabled || isSoldOut || isTimeInPast;
|
|
59
46
|
|
|
60
47
|
return (
|
|
61
48
|
<button
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { ReactNode, PropsWithChildren } from "react";
|
|
2
2
|
import { useTranslation } from "react-i18next";
|
|
3
3
|
import Button from "react-bootstrap/Button";
|
|
4
|
-
import { Spinner } from "react-bootstrap";
|
|
5
4
|
import { STEP_FORM_ID } from "../../constants";
|
|
6
5
|
|
|
7
6
|
type ButtonPropsWithoutOnClick = {
|
|
@@ -19,41 +18,29 @@ type FooterProps = Partial<
|
|
|
19
18
|
disabled?: boolean;
|
|
20
19
|
buttonLabel?: ReactNode;
|
|
21
20
|
showButton?: boolean;
|
|
22
|
-
isLoading: boolean;
|
|
23
21
|
} & (ButtonPropsWithoutOnClick | ButtonPropsWithOnClick)
|
|
24
22
|
>;
|
|
25
23
|
|
|
26
24
|
export type BookingSummaryFooterProps = PropsWithChildren<FooterProps>;
|
|
27
25
|
|
|
28
26
|
export const BookingSummaryFooter = ({
|
|
29
|
-
disabled
|
|
27
|
+
disabled = false,
|
|
30
28
|
onClick,
|
|
31
29
|
buttonLabel,
|
|
32
30
|
form = STEP_FORM_ID,
|
|
33
31
|
children,
|
|
34
32
|
showButton = true,
|
|
35
|
-
isLoading = false,
|
|
36
33
|
}: BookingSummaryFooterProps) => {
|
|
37
34
|
const { t } = useTranslation("Design");
|
|
38
35
|
|
|
39
36
|
const buttonProps = onClick ? { onClick } : { type: "submit", form };
|
|
40
37
|
|
|
41
|
-
const disabled = _disabled || isLoading;
|
|
42
|
-
|
|
43
38
|
return (
|
|
44
39
|
<div className="d-flex flex-column">
|
|
45
40
|
{children}
|
|
46
41
|
{showButton && (
|
|
47
|
-
<Button
|
|
48
|
-
|
|
49
|
-
disabled={disabled}
|
|
50
|
-
{...buttonProps}
|
|
51
|
-
>
|
|
52
|
-
{isLoading ? (
|
|
53
|
-
<Spinner animation="border" size="sm" role="status" />
|
|
54
|
-
) : (
|
|
55
|
-
buttonLabel ?? t("continue")
|
|
56
|
-
)}
|
|
42
|
+
<Button className="m-0 mt-3" disabled={disabled} {...buttonProps}>
|
|
43
|
+
{buttonLabel ?? t("continue")}
|
|
57
44
|
</Button>
|
|
58
45
|
)}
|
|
59
46
|
</div>
|
|
@@ -140,7 +140,9 @@ export function ProductControl<T extends FormValues>({
|
|
|
140
140
|
clearErrors,
|
|
141
141
|
} = useFormContext<T>();
|
|
142
142
|
|
|
143
|
-
const { setLoading } = useContext(
|
|
143
|
+
const { setLoading, providerHasBookingManagement } = useContext(
|
|
144
|
+
ProductSetLoadingContext
|
|
145
|
+
);
|
|
144
146
|
const { t } = useTranslation(["Design", "Validation"]);
|
|
145
147
|
const [expanded, setExpanded] = useState(false);
|
|
146
148
|
const [initialImages, setInitialImages] = useState<Image[] | null>(null);
|
|
@@ -392,6 +394,7 @@ export function ProductControl<T extends FormValues>({
|
|
|
392
394
|
<Row className="align-items-start duration-capacity-container">
|
|
393
395
|
<ProductDurationControl
|
|
394
396
|
fieldNamePrefix={fieldNamePrefix}
|
|
397
|
+
providerHasBookingManagement={providerHasBookingManagement}
|
|
395
398
|
disabled={disabledDuration}
|
|
396
399
|
/>
|
|
397
400
|
|
|
@@ -8,11 +8,13 @@ import { useTranslation } from "react-i18next";
|
|
|
8
8
|
import { ReactComponent as IncrementIcon } from "../../../assets/dashboard/increment.svg";
|
|
9
9
|
|
|
10
10
|
export interface ProductDurationControlProps<T> extends FieldNamePrefixPath<T> {
|
|
11
|
+
providerHasBookingManagement: boolean;
|
|
11
12
|
disabled: boolean;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export const ProductDurationControl = <T,>({
|
|
15
16
|
fieldNamePrefix,
|
|
17
|
+
providerHasBookingManagement,
|
|
16
18
|
disabled,
|
|
17
19
|
}: ProductDurationControlProps<T>) => {
|
|
18
20
|
const { t } = useTranslation("Design");
|
|
@@ -57,21 +59,18 @@ export const ProductDurationControl = <T,>({
|
|
|
57
59
|
control={control}
|
|
58
60
|
name={fieldName}
|
|
59
61
|
rules={{
|
|
62
|
+
required: {
|
|
63
|
+
value: Boolean(providerHasBookingManagement),
|
|
64
|
+
message: t("Validation:fieldRequired", {
|
|
65
|
+
attribute: t("duration"),
|
|
66
|
+
}),
|
|
67
|
+
},
|
|
60
68
|
min: {
|
|
61
|
-
value:
|
|
69
|
+
value: 1,
|
|
62
70
|
message: t("Validation:fieldMinNumber", {
|
|
63
71
|
attribute: t("duration"),
|
|
64
|
-
min: 0,
|
|
65
72
|
}),
|
|
66
73
|
},
|
|
67
|
-
validate: (val) => {
|
|
68
|
-
if (!disabled && (!val || val < 1)) {
|
|
69
|
-
return t("Validation:fieldRequired", {
|
|
70
|
-
attribute: t("duration"),
|
|
71
|
-
}) as string;
|
|
72
|
-
}
|
|
73
|
-
return true;
|
|
74
|
-
},
|
|
75
74
|
}}
|
|
76
75
|
render={({ field }) => (
|
|
77
76
|
<>
|
|
@@ -8,8 +8,6 @@ export interface BooleanSwitchProps {
|
|
|
8
8
|
value?: boolean;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
onChange: (value: boolean) => void;
|
|
11
|
-
firstValueTitle?: string;
|
|
12
|
-
secondValueTitle?: string;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
export function BooleanSwitch({
|
|
@@ -17,14 +15,12 @@ export function BooleanSwitch({
|
|
|
17
15
|
value,
|
|
18
16
|
disabled,
|
|
19
17
|
onChange,
|
|
20
|
-
firstValueTitle,
|
|
21
|
-
secondValueTitle,
|
|
22
18
|
}: BooleanSwitchProps) {
|
|
23
19
|
const { t } = useTranslation("Design");
|
|
24
20
|
|
|
25
21
|
const options: SelectItem[] = [
|
|
26
|
-
{ id: 1, value:
|
|
27
|
-
{ id: 0, value:
|
|
22
|
+
{ id: 1, value: t("yes") },
|
|
23
|
+
{ id: 0, value: t("no") },
|
|
28
24
|
];
|
|
29
25
|
|
|
30
26
|
const handleChange = useCallback(
|
|
@@ -164,12 +164,10 @@
|
|
|
164
164
|
|
|
165
165
|
@include media-breakpoint-down(md) {
|
|
166
166
|
flex-wrap: wrap;
|
|
167
|
-
|
|
168
167
|
.date-container {
|
|
169
168
|
width: 100%;
|
|
170
169
|
flex: 1;
|
|
171
170
|
}
|
|
172
|
-
|
|
173
171
|
.btn-primary {
|
|
174
172
|
margin-top: 1rem;
|
|
175
173
|
}
|
|
@@ -232,4 +230,4 @@
|
|
|
232
230
|
}
|
|
233
231
|
}
|
|
234
232
|
}
|
|
235
|
-
}
|
|
233
|
+
}
|
|
@@ -27,7 +27,6 @@ $btn-switch-option-padding-y: calc(#{$btn-padding-y} - #{sp(1)}) !default;
|
|
|
27
27
|
border-radius: $btn-switch-option-border-radius;
|
|
28
28
|
margin: 0;
|
|
29
29
|
padding: $btn-switch-option-padding-y $btn-switch-option-padding-x;
|
|
30
|
-
min-width: 4.25rem;
|
|
31
30
|
|
|
32
31
|
&:hover,
|
|
33
32
|
&:active,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
-
import React, {
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
3
|
import { Col, Row, Table } from "react-bootstrap";
|
|
4
4
|
import { useLocation } from "react-router-dom";
|
|
5
5
|
import { isEqual } from "lodash";
|
|
@@ -30,7 +30,6 @@ export interface TableHelperComponentProps {
|
|
|
30
30
|
displayShowingSection?: boolean;
|
|
31
31
|
externalFilters?: { [key: string]: any };
|
|
32
32
|
initialOptions?: Partial<ITableProps>;
|
|
33
|
-
filteredOrdersOptions?: (value: SetStateAction<ITableProps>) => void;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
// @TODO Refactor? component to get less complexity
|
|
@@ -63,7 +62,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
63
62
|
displayShowingSection = true,
|
|
64
63
|
externalFilters = {},
|
|
65
64
|
initialOptions = {},
|
|
66
|
-
filteredOrdersOptions,
|
|
67
65
|
} = props;
|
|
68
66
|
|
|
69
67
|
const query = useQuery();
|
|
@@ -99,9 +97,8 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
99
97
|
useEffect(
|
|
100
98
|
() => {
|
|
101
99
|
if (
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
!!filteredOrdersOptions
|
|
100
|
+
isEqual(optionsCache, options) &&
|
|
101
|
+
isEqual(cachedExtFilters, externalFilters)
|
|
105
102
|
)
|
|
106
103
|
return;
|
|
107
104
|
|
|
@@ -127,12 +124,12 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
127
124
|
);
|
|
128
125
|
},
|
|
129
126
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
130
|
-
[pathname, options, onRefreshFn,
|
|
127
|
+
[pathname, options, onRefreshFn, externalFilters]
|
|
131
128
|
);
|
|
132
129
|
|
|
133
130
|
// Refresh table's content on manual trigger
|
|
134
131
|
useEffect(() => {
|
|
135
|
-
if (refreshedAt === refreshAt
|
|
132
|
+
if (refreshedAt === refreshAt) {
|
|
136
133
|
return;
|
|
137
134
|
}
|
|
138
135
|
|
|
@@ -141,44 +138,24 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
141
138
|
if (onRefreshFn) {
|
|
142
139
|
onRefreshFn(options);
|
|
143
140
|
}
|
|
144
|
-
}, [onRefreshFn, options, refreshAt,
|
|
141
|
+
}, [onRefreshFn, options, refreshAt, refreshedAt]);
|
|
145
142
|
|
|
146
143
|
const onSort = (key: string) => {
|
|
147
144
|
let nextDirection = TableService.DEFAULT_SORT_DIRECTION;
|
|
148
|
-
if (sortKey === key) {
|
|
149
|
-
if (filteredOrdersOptions) {
|
|
150
|
-
filteredOrdersOptions((prevOptions) => {
|
|
151
|
-
nextDirection = TableService.getSortDirection(
|
|
152
|
-
prevOptions.sortDirection,
|
|
153
|
-
nextDirection
|
|
154
|
-
);
|
|
155
145
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
} else {
|
|
163
|
-
setOptions((prevOptions) => {
|
|
164
|
-
nextDirection = TableService.getSortDirection(
|
|
165
|
-
prevOptions.sortDirection,
|
|
166
|
-
nextDirection
|
|
167
|
-
);
|
|
146
|
+
if (sortKey === key) {
|
|
147
|
+
setOptions((prevOptions) => {
|
|
148
|
+
nextDirection = TableService.getSortDirection(
|
|
149
|
+
prevOptions.sortDirection,
|
|
150
|
+
nextDirection
|
|
151
|
+
);
|
|
168
152
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
} else if (filteredOrdersOptions) {
|
|
177
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
178
|
-
...prevOptions,
|
|
179
|
-
sortKey: key,
|
|
180
|
-
sortDirection: nextDirection,
|
|
181
|
-
}));
|
|
153
|
+
return {
|
|
154
|
+
...prevOptions,
|
|
155
|
+
sortKey: key,
|
|
156
|
+
sortDirection: nextDirection,
|
|
157
|
+
};
|
|
158
|
+
});
|
|
182
159
|
} else {
|
|
183
160
|
setOptions((prevOptions) => ({
|
|
184
161
|
...prevOptions,
|
|
@@ -189,13 +166,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
189
166
|
};
|
|
190
167
|
|
|
191
168
|
const onPerPageChange = (nextPerPage: number) => {
|
|
192
|
-
if (filteredOrdersOptions) {
|
|
193
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
194
|
-
...prevOptions,
|
|
195
|
-
page: nextPerPage,
|
|
196
|
-
}));
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
169
|
setOptions((prevOptions) => ({
|
|
200
170
|
...prevOptions,
|
|
201
171
|
perPage: nextPerPage,
|
|
@@ -203,13 +173,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
203
173
|
};
|
|
204
174
|
|
|
205
175
|
const onPageChange = (nextPage: number) => {
|
|
206
|
-
if (filteredOrdersOptions) {
|
|
207
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
208
|
-
...prevOptions,
|
|
209
|
-
page: nextPage,
|
|
210
|
-
}));
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
176
|
setOptions((prevOptions) => ({
|
|
214
177
|
...prevOptions,
|
|
215
178
|
page: nextPage,
|
|
@@ -217,24 +180,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
217
180
|
};
|
|
218
181
|
|
|
219
182
|
const onFilterChange = (nextFilter: string) => {
|
|
220
|
-
if (filteredOrdersOptions) {
|
|
221
|
-
filteredOrdersOptions(({ page: prevPage, ...prevOptions }) => {
|
|
222
|
-
let nextPage = prevPage;
|
|
223
|
-
|
|
224
|
-
if (
|
|
225
|
-
(!nextFilter && prevOptions.filter) ||
|
|
226
|
-
(nextFilter && !prevOptions.filter)
|
|
227
|
-
) {
|
|
228
|
-
nextPage = 1;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return {
|
|
232
|
-
...prevOptions,
|
|
233
|
-
page: nextPage,
|
|
234
|
-
filter: nextFilter,
|
|
235
|
-
};
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
183
|
setOptions(({ page: prevPage, ...prevOptions }) => {
|
|
239
184
|
let nextPage = prevPage;
|
|
240
185
|
|