guestbell-forms 2.0.246 → 2.0.247
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/build/components/bookingCalendar/BookingCalendar.d.ts +1 -0
- package/build/components/bookingCalendar/BookingCalendar.js +3 -1
- package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.d.ts +1 -0
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +7 -3
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
- package/build/dist/report.html +1 -1
- package/package.json +1 -1
@@ -22,6 +22,7 @@ export interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>
|
|
22
22
|
gridSubdivisions?: number;
|
23
23
|
minLanesCount?: number;
|
24
24
|
lanesSource?: LaneSourceData<T, TLaneData>[];
|
25
|
+
filterBookingsToZoom?: (booking: T) => boolean;
|
25
26
|
BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
|
26
27
|
BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
|
27
28
|
BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
|
@@ -59,6 +59,7 @@ function BookingCalendar(props) {
|
|
59
59
|
gridSubdivisions = _props$gridSubdivisio === void 0 ? 1 : _props$gridSubdivisio,
|
60
60
|
minLanesCount = props.minLanesCount,
|
61
61
|
lanesSource = props.lanesSource,
|
62
|
+
filterBookingsToZoom = props.filterBookingsToZoom,
|
62
63
|
_props$BookingCalenda = props.BookingCalendarControls,
|
63
64
|
BookingCalendarControls = _props$BookingCalenda === void 0 ? _BookingCalendarControls.BookingCalendarControls : _props$BookingCalenda,
|
64
65
|
BookingCalendarItem = props.BookingCalendarItem,
|
@@ -83,7 +84,8 @@ function BookingCalendar(props) {
|
|
83
84
|
from: from,
|
84
85
|
till: till,
|
85
86
|
onRangeChange: onRangeChange,
|
86
|
-
step: step
|
87
|
+
step: step,
|
88
|
+
filterBookingsToZoom: filterBookingsToZoom
|
87
89
|
})), /*#__PURE__*/React.createElement("table", {
|
88
90
|
className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.tableClassName, tableClassName)
|
89
91
|
}, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(BookingCalendarDatePicker, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"names":["defaultStep","defaultStartOfStep","startOf","BookingCalendar","props","bookings","className","laneTdClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","startOfStep","showGrid","gridSubdivisions","minLanesCount","lanesSource","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","lanes","React","useMemo","bookingCalendarDefaultClasses","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","rowClassName","laneKey","data","items"],"mappings":"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","sourcesContent":["import * as React from 'react';\r\nimport {\r\n BookingCalendarClasses,\r\n bookingCalendarDefaultClasses,\r\n} from './classes';\r\nimport classNames from 'classnames';\r\nimport { BookingCalendarDateRange, BookingCalendarItemT } from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport { LaneSourceData, splitBookingsToLanes } from './utils';\r\nimport {\r\n BookingCalendarLane as DefaultBookingCalendarLane,\r\n BookingCalendarLaneProps,\r\n} from './bookingCalendarLane/BookingCalendarLane';\r\nimport { Moment, Duration, duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarGrid as DefaultBookingCalendarGrid,\r\n BookingCalendarGridProps,\r\n} from './bookingCalendarGrid/BookingCalendarGrid';\r\nimport {\r\n BookingCalendarLaneHeader as DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLaneHeaderProps,\r\n} from './bookingCalendarLaneHeader';\r\nimport {\r\n BookingCalendarLanesHeader as DefaultBookingCalendarLanesHeader,\r\n BookingCalendarLanesHeaderProps,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\r\nimport moment from 'moment';\r\n\r\nexport interface BookingCalendarProps<\r\n T extends BookingCalendarItemT,\r\n TLaneData\r\n> extends BookingCalendarClasses {\r\n bookings: T[];\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n startOfStep?: Moment;\r\n step?: Duration;\r\n showGrid?: boolean;\r\n gridSubdivisions?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n BookingCalendarControls?: React.ComponentType<\r\n BookingCalendarControlsProps<T>\r\n >;\r\n BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLanesHeader?: React.ComponentType<\r\n BookingCalendarLanesHeaderProps<T>\r\n >;\r\n BookingCalendarDatePicker?: React.ComponentType<\r\n BookingCalendarDatePickerProps<T>\r\n >;\r\n}\r\n\r\nconst defaultStep = duration(1, 'day');\r\nconst defaultStartOfStep = moment().startOf('day');\r\n\r\nexport function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(\r\n props: BookingCalendarProps<T, TLaneData>\r\n) {\r\n const {\r\n bookings,\r\n className,\r\n laneTdClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n startOfStep = defaultStartOfStep,\r\n showGrid = true,\r\n gridSubdivisions = 1,\r\n minLanesCount,\r\n lanesSource,\r\n BookingCalendarControls = DefaultBookingCalendarControls,\r\n BookingCalendarItem,\r\n BookingCalendarLane = DefaultBookingCalendarLane,\r\n BookingCalendarRenderItem,\r\n BookingCalendarGrid = DefaultBookingCalendarGrid,\r\n BookingCalendarLaneHeader = DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLanesHeader = DefaultBookingCalendarLanesHeader,\r\n BookingCalendarDatePicker = DefaultBookingCalendarDatePicker,\r\n } = props;\r\n const lanes = React.useMemo(\r\n () =>\r\n splitBookingsToLanes<T, TLaneData>(\r\n bookings,\r\n from,\r\n minLanesCount,\r\n lanesSource\r\n ),\r\n [bookings, from, minLanesCount, lanesSource]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n >\r\n <BookingCalendarControls<T>\r\n {...controlsClasses}\r\n items={bookings}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n />\r\n <table\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n <thead>\r\n <tr>\r\n <td>\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n />\r\n </td>\r\n <td>\r\n <BookingCalendarLanesHeader<T>\r\n {...controlsClasses}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n startOfStep={startOfStep}\r\n />\r\n </td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {lanes.map((lane, laneIndex) => {\r\n const LaneBookingCalendarLaneHeader =\r\n lane.BookingCalendarLaneHeader ?? BookingCalendarLaneHeader;\r\n const LaneBookingCalendarLane =\r\n lane.BookingCalendarLane ?? BookingCalendarLane;\r\n return (\r\n <tr key={laneIndex} className={classNames(lane.rowClassName)}>\r\n <td>\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </td>\r\n <td\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneTdClassName,\r\n laneTdClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n from={from}\r\n till={till}\r\n step={step}\r\n subdivisions={gridSubdivisions}\r\n />\r\n )}\r\n <LaneBookingCalendarLane\r\n laneIndex={laneIndex}\r\n items={lane.items}\r\n from={from}\r\n till={till}\r\n BookingCalendarItem={\r\n lane.BookingCalendarItem ?? BookingCalendarItem\r\n }\r\n BookingCalendarRenderItem={\r\n lane.BookingCalendarRenderItem ??\r\n BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </td>\r\n </tr>\r\n );\r\n })}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\n"],"file":"BookingCalendar.js"}
|
1
|
+
{"version":3,"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"names":["defaultStep","defaultStartOfStep","startOf","BookingCalendar","props","bookings","className","laneTdClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","startOfStep","showGrid","gridSubdivisions","minLanesCount","lanesSource","filterBookingsToZoom","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","lanes","React","useMemo","bookingCalendarDefaultClasses","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","rowClassName","laneKey","data","items"],"mappings":"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","sourcesContent":["import * as React from 'react';\r\nimport {\r\n BookingCalendarClasses,\r\n bookingCalendarDefaultClasses,\r\n} from './classes';\r\nimport classNames from 'classnames';\r\nimport { BookingCalendarDateRange, BookingCalendarItemT } from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport { LaneSourceData, splitBookingsToLanes } from './utils';\r\nimport {\r\n BookingCalendarLane as DefaultBookingCalendarLane,\r\n BookingCalendarLaneProps,\r\n} from './bookingCalendarLane/BookingCalendarLane';\r\nimport { Moment, Duration, duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarGrid as DefaultBookingCalendarGrid,\r\n BookingCalendarGridProps,\r\n} from './bookingCalendarGrid/BookingCalendarGrid';\r\nimport {\r\n BookingCalendarLaneHeader as DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLaneHeaderProps,\r\n} from './bookingCalendarLaneHeader';\r\nimport {\r\n BookingCalendarLanesHeader as DefaultBookingCalendarLanesHeader,\r\n BookingCalendarLanesHeaderProps,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\r\nimport moment from 'moment';\r\n\r\nexport interface BookingCalendarProps<\r\n T extends BookingCalendarItemT,\r\n TLaneData\r\n> extends BookingCalendarClasses {\r\n bookings: T[];\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n startOfStep?: Moment;\r\n step?: Duration;\r\n showGrid?: boolean;\r\n gridSubdivisions?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n BookingCalendarControls?: React.ComponentType<\r\n BookingCalendarControlsProps<T>\r\n >;\r\n BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLanesHeader?: React.ComponentType<\r\n BookingCalendarLanesHeaderProps<T>\r\n >;\r\n BookingCalendarDatePicker?: React.ComponentType<\r\n BookingCalendarDatePickerProps<T>\r\n >;\r\n}\r\n\r\nconst defaultStep = duration(1, 'day');\r\nconst defaultStartOfStep = moment().startOf('day');\r\n\r\nexport function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(\r\n props: BookingCalendarProps<T, TLaneData>\r\n) {\r\n const {\r\n bookings,\r\n className,\r\n laneTdClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n startOfStep = defaultStartOfStep,\r\n showGrid = true,\r\n gridSubdivisions = 1,\r\n minLanesCount,\r\n lanesSource,\r\n filterBookingsToZoom,\r\n BookingCalendarControls = DefaultBookingCalendarControls,\r\n BookingCalendarItem,\r\n BookingCalendarLane = DefaultBookingCalendarLane,\r\n BookingCalendarRenderItem,\r\n BookingCalendarGrid = DefaultBookingCalendarGrid,\r\n BookingCalendarLaneHeader = DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLanesHeader = DefaultBookingCalendarLanesHeader,\r\n BookingCalendarDatePicker = DefaultBookingCalendarDatePicker,\r\n } = props;\r\n const lanes = React.useMemo(\r\n () =>\r\n splitBookingsToLanes<T, TLaneData>(\r\n bookings,\r\n from,\r\n minLanesCount,\r\n lanesSource\r\n ),\r\n [bookings, from, minLanesCount, lanesSource]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n >\r\n <BookingCalendarControls<T>\r\n {...controlsClasses}\r\n items={bookings}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n filterBookingsToZoom={filterBookingsToZoom}\r\n />\r\n <table\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n <thead>\r\n <tr>\r\n <td>\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n />\r\n </td>\r\n <td>\r\n <BookingCalendarLanesHeader<T>\r\n {...controlsClasses}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n startOfStep={startOfStep}\r\n />\r\n </td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {lanes.map((lane, laneIndex) => {\r\n const LaneBookingCalendarLaneHeader =\r\n lane.BookingCalendarLaneHeader ?? BookingCalendarLaneHeader;\r\n const LaneBookingCalendarLane =\r\n lane.BookingCalendarLane ?? BookingCalendarLane;\r\n return (\r\n <tr key={laneIndex} className={classNames(lane.rowClassName)}>\r\n <td>\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </td>\r\n <td\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneTdClassName,\r\n laneTdClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n from={from}\r\n till={till}\r\n step={step}\r\n subdivisions={gridSubdivisions}\r\n />\r\n )}\r\n <LaneBookingCalendarLane\r\n laneIndex={laneIndex}\r\n items={lane.items}\r\n from={from}\r\n till={till}\r\n BookingCalendarItem={\r\n lane.BookingCalendarItem ?? BookingCalendarItem\r\n }\r\n BookingCalendarRenderItem={\r\n lane.BookingCalendarRenderItem ??\r\n BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </td>\r\n </tr>\r\n );\r\n })}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n}\r\n"],"file":"BookingCalendar.js"}
|
package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.d.ts
CHANGED
@@ -7,5 +7,6 @@ export interface BookingCalendarControlsProps<T extends BookingCalendarItemT> ex
|
|
7
7
|
from: Moment;
|
8
8
|
till: Moment;
|
9
9
|
onRangeChange?: (range: BookingCalendarDateRange) => void;
|
10
|
+
filterBookingsToZoom?: (booking: T) => boolean;
|
10
11
|
}
|
11
12
|
export declare function BookingCalendarControls<T extends BookingCalendarItemT>(props: BookingCalendarControlsProps<T>): JSX.Element;
|
@@ -109,7 +109,11 @@ function BookingCalendarControls(props) {
|
|
109
109
|
from = props.from,
|
110
110
|
till = props.till,
|
111
111
|
onRangeChange = props.onRangeChange,
|
112
|
-
items = props.items
|
112
|
+
items = props.items,
|
113
|
+
_props$filterBookings = props.filterBookingsToZoom,
|
114
|
+
filterBookingsToZoom = _props$filterBookings === void 0 ? function () {
|
115
|
+
return true;
|
116
|
+
} : _props$filterBookings;
|
113
117
|
|
114
118
|
if (!step || !from || !till) {
|
115
119
|
return null;
|
@@ -130,10 +134,10 @@ function BookingCalendarControls(props) {
|
|
130
134
|
var onZoomBookingsClick = React.useCallback(function () {
|
131
135
|
var _Math$min, _Math$max;
|
132
136
|
|
133
|
-
var minFrom = (0, _moment.default)((_Math$min = Math.min.apply(Math, _toConsumableArray(items === null || items === void 0 ? void 0 : items.map(function (a) {
|
137
|
+
var minFrom = (0, _moment.default)((_Math$min = Math.min.apply(Math, _toConsumableArray(items === null || items === void 0 ? void 0 : items.filter(filterBookingsToZoom).map(function (a) {
|
134
138
|
return a.from.valueOf();
|
135
139
|
})))) !== null && _Math$min !== void 0 ? _Math$min : from === null || from === void 0 ? void 0 : from.valueOf());
|
136
|
-
var maxTill = (0, _moment.default)((_Math$max = Math.max.apply(Math, _toConsumableArray(items === null || items === void 0 ? void 0 : items.map(function (a) {
|
140
|
+
var maxTill = (0, _moment.default)((_Math$max = Math.max.apply(Math, _toConsumableArray(items === null || items === void 0 ? void 0 : items.filter(filterBookingsToZoom).map(function (a) {
|
137
141
|
return a.till.valueOf();
|
138
142
|
})))) !== null && _Math$max !== void 0 ? _Math$max : till === null || till === void 0 ? void 0 : till.valueOf());
|
139
143
|
onRangeChange({
|
package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"names":["LeftArrowLongIcon","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","BookingCalendarControls","props","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","step","from","till","onRangeChange","items","onStepFactory","React","useCallback","_step","clone","add","onBigStepLeftClick","diff","onSmallStepLeftClick","asMilliseconds","onBigStepRightClick","onSmallStepRightClick","onZoomBookingsClick","minFrom","Math","min","map","a","valueOf","maxTill","max","bookingCalendarControlsDefaultClasses","format","length"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;IACYA,iB,YAAAA,iB;;;;;;AAAAA,iB;;;;;;;IACAC,a,YAAAA,a;;;;;;AAAAA,a;;;;;;;IACAC,kB,YAAAA,kB;;;;;;AAAAA,kB;;;;;;;IACAC,c,YAAAA,c;;;;;;AAAAA,c;;;;;;;IACAC,c,YAAAA,c;;;;;;AAAAA,c;;;;;;;
|
1
|
+
{"version":3,"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"names":["LeftArrowLongIcon","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","BookingCalendarControls","props","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","step","from","till","onRangeChange","items","filterBookingsToZoom","onStepFactory","React","useCallback","_step","clone","add","onBigStepLeftClick","diff","onSmallStepLeftClick","asMilliseconds","onBigStepRightClick","onSmallStepRightClick","onZoomBookingsClick","minFrom","Math","min","filter","map","a","valueOf","maxTill","max","bookingCalendarControlsDefaultClasses","format","length"],"mappings":"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","sourcesContent":["import classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport { BookingCalendarDateRange, BookingCalendarItemT } from '../common';\r\nimport { duration, Duration, Moment } from 'moment';\r\nimport { BookingCalendarControlsClasses } from './classes';\r\nimport { bookingCalendarControlsDefaultClasses } from '.';\r\nimport { Button } from '../../button/Button';\r\nimport * as LeftArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg';\r\nimport * as RightArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_forward_24px.svg';\r\nimport * as RightArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg';\r\nimport * as UnfoldLessIcon from 'material-design-icons/navigation/svg/production/ic_unfold_less_24px.svg';\r\nimport moment from 'moment';\r\n\r\nexport interface BookingCalendarControlsProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarControlsClasses {\r\n items: T[];\r\n step: Duration;\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n}\r\n\r\nexport function BookingCalendarControls<T extends BookingCalendarItemT>(\r\n props: BookingCalendarControlsProps<T>\r\n) {\r\n const {\r\n className,\r\n monthLabelClassName,\r\n buttonsContainerClassName,\r\n zoomBookingsButtonClassName,\r\n step,\r\n from,\r\n till,\r\n onRangeChange,\r\n items,\r\n filterBookingsToZoom = () => true,\r\n } = props;\r\n if (!step || !from || !till) {\r\n return null;\r\n }\r\n const onStepFactory = React.useCallback(\r\n (_step: Duration) => () =>\r\n onRangeChange({\r\n from: from.clone().add(_step),\r\n till: till.clone().add(_step),\r\n }),\r\n [from, till, onRangeChange]\r\n );\r\n const onBigStepLeftClick = React.useCallback(\r\n onStepFactory(duration(-1 * till.diff(from))),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepLeftClick = React.useCallback(\r\n onStepFactory(duration(step.asMilliseconds() * -1)),\r\n [onStepFactory, step]\r\n );\r\n const onBigStepRightClick = React.useCallback(\r\n onStepFactory(duration(till.diff(from))),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepRightClick = React.useCallback(onStepFactory(step), [\r\n onStepFactory,\r\n step,\r\n ]);\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFrom = moment(\r\n Math.min(...items?.filter(filterBookingsToZoom).map(a => a.from.valueOf())) ?? from?.valueOf()\r\n );\r\n const maxTill = moment(\r\n Math.max(...items?.filter(filterBookingsToZoom).map(a => a.till.valueOf())) ?? till?.valueOf()\r\n );\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, items]);\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.monthLabelClassName,\r\n monthLabelClassName\r\n )}\r\n >\r\n {from.format('MMMM')}, {from.format('YYYY')}\r\n </div>\r\n <div></div>\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.buttonsContainerClassName,\r\n buttonsContainerClassName\r\n )}\r\n >\r\n <Button noShadow={true} onClick={onBigStepLeftClick}>\r\n <LeftArrowLongIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepLeftClick}>\r\n <LeftArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepRightClick}>\r\n <RightArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onBigStepRightClick}>\r\n <RightArrowLongIcon />\r\n </Button>\r\n <Button\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName,\r\n zoomBookingsButtonClassName\r\n )}\r\n noShadow={true}\r\n disabled={!items?.length}\r\n onClick={onZoomBookingsClick}\r\n >\r\n <UnfoldLessIcon />\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"file":"BookingCalendarControls.js"}
|
package/build/dist/report.html
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8"/>
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
6
|
-
<title>guestbell-forms [2 Oct 2021 at
|
6
|
+
<title>guestbell-forms [2 Oct 2021 at 15:0]</title>
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
8
8
|
|
9
9
|
<script>
|
package/package.json
CHANGED