guestbell-forms 3.0.17 → 3.0.19
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/.babelrc.js +1 -1
- package/build/components/base/input/BaseInput.js +8 -96
- package/build/components/base/input/BaseInput.js.map +1 -1
- package/build/components/base/input/index.js +0 -2
- package/build/components/base/input/index.js.map +1 -1
- package/build/components/bookingCalendar/BookingCalendar.js +7 -30
- package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +2 -22
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/index.js +0 -4
- package/build/components/bookingCalendar/bookingCalendarControls/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +6 -19
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js +0 -4
- package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.d.ts +2 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js +11 -10
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarGrid/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js +0 -9
- package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarItem/index.js +0 -4
- package/build/components/bookingCalendar/bookingCalendarItem/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js +0 -10
- package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLane/index.js +0 -4
- package/build/components/bookingCalendar/bookingCalendarLane/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js +0 -7
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js +0 -2
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +0 -12
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js +0 -9
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js +0 -4
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js +0 -9
- package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js +0 -2
- package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +0 -30
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js +0 -7
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js.map +1 -1
- package/build/components/bookingCalendar/classes.js.map +1 -1
- package/build/components/bookingCalendar/common.js +0 -9
- package/build/components/bookingCalendar/common.js.map +1 -1
- package/build/components/bookingCalendar/index.js +0 -6
- package/build/components/bookingCalendar/index.js.map +1 -1
- package/build/components/bookingCalendar/utils.js +5 -50
- package/build/components/bookingCalendar/utils.js.map +1 -1
- package/build/components/button/Button.js +9 -37
- package/build/components/button/Button.js.map +1 -1
- package/build/components/button/index.js +0 -4
- package/build/components/button/index.js.map +1 -1
- package/build/components/checkbox/Checkbox.js +5 -35
- package/build/components/checkbox/Checkbox.js.map +1 -1
- package/build/components/checkbox/index.js +0 -4
- package/build/components/checkbox/index.js.map +1 -1
- package/build/components/dropdown/Dropdown.js +1 -15
- package/build/components/dropdown/Dropdown.js.map +1 -1
- package/build/components/dropdown/index.js +0 -4
- package/build/components/dropdown/index.js.map +1 -1
- package/build/components/dynamicSubmit/DynamicSubmit.js +7 -39
- package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
- package/build/components/dynamicSubmit/index.js +0 -4
- package/build/components/dynamicSubmit/index.js.map +1 -1
- package/build/components/externalValidationComponent/ExternalValidationComponent.js +6 -17
- package/build/components/externalValidationComponent/ExternalValidationComponent.js.map +1 -1
- package/build/components/externalValidationComponent/index.js +0 -4
- package/build/components/externalValidationComponent/index.js.map +1 -1
- package/build/components/form/Form.js +8 -46
- package/build/components/form/Form.js.map +1 -1
- package/build/components/form/FormContext.js +0 -4
- package/build/components/form/FormContext.js.map +1 -1
- package/build/components/form/FormValidationSummary.js +3 -25
- package/build/components/form/FormValidationSummary.js.map +1 -1
- package/build/components/form/index.js +0 -10
- package/build/components/form/index.js.map +1 -1
- package/build/components/form/withFormContext.js +0 -6
- package/build/components/form/withFormContext.js.map +1 -1
- package/build/components/inputGroup/InputGroup.js +5 -15
- package/build/components/inputGroup/InputGroup.js.map +1 -1
- package/build/components/inputGroup/index.js +0 -4
- package/build/components/inputGroup/index.js.map +1 -1
- package/build/components/inputHeader/InputHeader.js +16 -75
- package/build/components/inputHeader/InputHeader.js.map +1 -1
- package/build/components/inputHeader/InputHeaderContext.js +0 -4
- package/build/components/inputHeader/InputHeaderContext.js.map +1 -1
- package/build/components/inputHeader/index.js +0 -4
- package/build/components/inputHeader/index.js.map +1 -1
- package/build/components/inputHeader/withInputHeaderContext.js +0 -6
- package/build/components/inputHeader/withInputHeaderContext.js.map +1 -1
- package/build/components/money/Money.js +20 -64
- package/build/components/money/Money.js.map +1 -1
- package/build/components/money/index.js +0 -4
- package/build/components/money/index.js.map +1 -1
- package/build/components/numberInput/NumberInput.js +13 -44
- package/build/components/numberInput/NumberInput.js.map +1 -1
- package/build/components/numberInput/index.js +0 -4
- package/build/components/numberInput/index.js.map +1 -1
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +13 -62
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
- package/build/components/openingHours/openingHoursDay/index.js +0 -4
- package/build/components/openingHours/openingHoursDay/index.js.map +1 -1
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js +18 -49
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
- package/build/components/openingHours/openingHoursSpecial/index.js +0 -4
- package/build/components/openingHours/openingHoursSpecial/index.js.map +1 -1
- package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js +16 -53
- package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js.map +1 -1
- package/build/components/openingHours/openingHoursWeek/index.js +0 -4
- package/build/components/openingHours/openingHoursWeek/index.js.map +1 -1
- package/build/components/openingHours/utils/OpeningHoursUtil.js +3 -21
- package/build/components/openingHours/utils/OpeningHoursUtil.js.map +1 -1
- package/build/components/radio/Radio.js +4 -19
- package/build/components/radio/Radio.js.map +1 -1
- package/build/components/radio/index.js +0 -4
- package/build/components/radio/index.js.map +1 -1
- package/build/components/radioContainer/RadioContainer.js +2 -13
- package/build/components/radioContainer/RadioContainer.js.map +1 -1
- package/build/components/radioContainer/index.js +0 -4
- package/build/components/radioContainer/index.js.map +1 -1
- package/build/components/select/Select.js +6 -53
- package/build/components/select/Select.js.map +1 -1
- package/build/components/select/index.js +0 -4
- package/build/components/select/index.js.map +1 -1
- package/build/components/submit/Submit.js +5 -28
- package/build/components/submit/Submit.js.map +1 -1
- package/build/components/submit/index.js +0 -4
- package/build/components/submit/index.js.map +1 -1
- package/build/components/submit/subComponents/SubmitValidationSummary.js +0 -9
- package/build/components/submit/subComponents/SubmitValidationSummary.js.map +1 -1
- package/build/components/tags/Tags.js +36 -121
- package/build/components/tags/Tags.js.map +1 -1
- package/build/components/tags/index.js +0 -4
- package/build/components/tags/index.js.map +1 -1
- package/build/components/tags/subComponents/TagsSuggestions.js +0 -14
- package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
- package/build/components/text/Text.js +10 -42
- package/build/components/text/Text.js.map +1 -1
- package/build/components/text/index.js +0 -4
- package/build/components/text/index.js.map +1 -1
- package/build/components/textArea/TextArea.js +8 -31
- package/build/components/textArea/TextArea.js.map +1 -1
- package/build/components/textArea/index.js +0 -4
- package/build/components/textArea/index.js.map +1 -1
- package/build/components/themeProvider/ThemeContext.js +0 -4
- package/build/components/themeProvider/ThemeContext.js.map +1 -1
- package/build/components/themeProvider/ThemeProvider.js +2 -6
- package/build/components/themeProvider/ThemeProvider.js.map +1 -1
- package/build/components/themeProvider/index.js +0 -8
- package/build/components/themeProvider/index.js.map +1 -1
- package/build/components/themeProvider/withThemeContext.js +0 -8
- package/build/components/themeProvider/withThemeContext.js.map +1 -1
- package/build/components/time/Time.js +17 -73
- package/build/components/time/Time.js.map +1 -1
- package/build/components/time/index.js +0 -4
- package/build/components/time/index.js.map +1 -1
- package/build/components/timeSpan/TimeSpan.js +17 -99
- package/build/components/timeSpan/TimeSpan.js.map +1 -1
- package/build/components/timeSpan/index.js +0 -4
- package/build/components/timeSpan/index.js.map +1 -1
- package/build/components/utils/Guid.js +0 -3
- package/build/components/utils/Guid.js.map +1 -1
- package/build/components/utils/ShallowEqual.js +5 -10
- package/build/components/utils/ShallowEqual.js.map +1 -1
- package/build/components/utils/TimeUtil.js +1 -3
- package/build/components/utils/TimeUtil.js.map +1 -1
- package/build/dist/guestbell-forms.css.map +1 -1
- package/build/dist/guestbell-forms.js +21 -84
- package/build/dist/guestbell-forms.js.map +1 -1
- package/build/dist/guestbell-forms.min.js +1 -1
- package/build/dist/guestbell-forms.min.js.map +1 -1
- package/build/dist/report.html +13 -41
- package/build/index.js +0 -48
- package/build/index.js.map +1 -1
- package/build/validators/EmailValidator.js +0 -4
- package/build/validators/EmailValidator.js.map +1 -1
- package/build/validators/LatitudeValidator.js +0 -8
- package/build/validators/LatitudeValidator.js.map +1 -1
- package/build/validators/LongitudeValidator.js +0 -8
- package/build/validators/LongitudeValidator.js.map +1 -1
- package/build/validators/NumberValidator.js +0 -15
- package/build/validators/NumberValidator.js.map +1 -1
- package/build/validators/UrlValidator.js +2 -5
- package/build/validators/UrlValidator.js.map +1 -1
- package/build/validators/index.js +0 -7
- package/build/validators/index.js.map +1 -1
- package/package.json +19 -19
@@ -4,50 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.BookingCalendar = BookingCalendar;
|
7
|
-
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
9
|
-
|
10
8
|
var _classes = require("./classes");
|
11
|
-
|
12
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
13
|
-
|
14
10
|
var _common = require("./common");
|
15
|
-
|
16
11
|
var _BookingCalendarControls = require("./bookingCalendarControls/BookingCalendarControls");
|
17
|
-
|
18
12
|
var _utils = require("./utils");
|
19
|
-
|
20
13
|
var _BookingCalendarLane = require("./bookingCalendarLane/BookingCalendarLane");
|
21
|
-
|
22
14
|
var _moment = require("moment");
|
23
|
-
|
24
15
|
var _BookingCalendarGrid = require("./bookingCalendarGrid/BookingCalendarGrid");
|
25
|
-
|
26
16
|
var _bookingCalendarLaneHeader = require("./bookingCalendarLaneHeader");
|
27
|
-
|
28
17
|
var _bookingCalendarLanesHeader = require("./bookingCalendarLanesHeader");
|
29
|
-
|
30
18
|
var _bookingCalendarDatePicker = require("./bookingCalendarDatePicker");
|
31
|
-
|
32
19
|
var _ = require(".");
|
33
|
-
|
34
20
|
var _BookingCalendarTimeAxis = require("./bookingCalendarTimeAxis/BookingCalendarTimeAxis");
|
35
|
-
|
36
21
|
var _reactCoolDimensions = _interopRequireDefault(require("react-cool-dimensions"));
|
37
|
-
|
38
22
|
var _BookingCalendarSelection = _interopRequireDefault(require("./bookingCalendarSelection/BookingCalendarSelection"));
|
39
|
-
|
40
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
41
|
-
|
42
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
43
|
-
|
44
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
45
|
-
|
46
26
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
47
|
-
|
48
27
|
const defaultStep = (0, _moment.duration)(1, 'day');
|
49
|
-
|
50
28
|
function BookingCalendar(props) {
|
29
|
+
var _entry$target;
|
51
30
|
const {
|
52
31
|
bookings,
|
53
32
|
className,
|
@@ -84,27 +63,24 @@ function BookingCalendar(props) {
|
|
84
63
|
const lanes = React.useMemo(() => (0, _utils.splitBookingsToLanes)(bookings, from, minLanesCount, lanesSource), [bookings, from, minLanesCount, lanesSource]);
|
85
64
|
const {
|
86
65
|
observe,
|
87
|
-
|
66
|
+
entry
|
88
67
|
} = (0, _reactCoolDimensions.default)();
|
68
|
+
const width = (entry === null || entry === void 0 ? void 0 : (_entry$target = entry.target) === null || _entry$target === void 0 ? void 0 : _entry$target.scrollWidth) ?? 0;
|
89
69
|
const {
|
90
70
|
items: gridItems,
|
91
71
|
bestStep
|
92
72
|
} = React.useMemo(() => {
|
93
73
|
var _from$clone;
|
94
|
-
|
95
74
|
return (0, _utils.generateGridItems)(from, till, step, width, gridAvailableSteps, goalGridWidthPx, from === null || from === void 0 ? void 0 : (_from$clone = from.clone()) === null || _from$clone === void 0 ? void 0 : _from$clone.startOf('day'));
|
96
75
|
}, [from, till, step, width, gridAvailableSteps, goalGridWidthPx]);
|
97
76
|
const onSelected = React.useCallback(data => {
|
98
77
|
if (!from || !till || !width || !onRangeChange) {
|
99
78
|
return;
|
100
79
|
}
|
101
|
-
|
102
80
|
const screenSpaceStartX = Math.min(data.origin[0], data.target[0]);
|
103
81
|
const screenSpaceEndX = Math.max(data.origin[0], data.target[0]);
|
104
82
|
const durationMs = till.valueOf() - from.valueOf();
|
105
|
-
|
106
83
|
const toTimeSpace = num => num / (width || 1) * durationMs;
|
107
|
-
|
108
84
|
const timeSpaceStart = from.clone().add(toTimeSpace(screenSpaceStartX), 'ms');
|
109
85
|
const timeSpaceEnd = from.clone().add(toTimeSpace(screenSpaceEndX), 'ms');
|
110
86
|
onRangeChange({
|
@@ -125,9 +101,9 @@ function BookingCalendar(props) {
|
|
125
101
|
})), /*#__PURE__*/React.createElement("div", {
|
126
102
|
className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.tableClassName, tableClassName)
|
127
103
|
}, showGrid && /*#__PURE__*/React.createElement(BookingCalendarGrid, {
|
128
|
-
containerRef: observe,
|
129
104
|
items: gridItems,
|
130
|
-
dataRowsCount: lanes.length
|
105
|
+
dataRowsCount: lanes.length,
|
106
|
+
width: width
|
131
107
|
}), showSelection && /*#__PURE__*/React.createElement(_BookingCalendarSelection.default, {
|
132
108
|
dataRowsCount: lanes.length,
|
133
109
|
onSelected: onSelected,
|
@@ -140,7 +116,8 @@ function BookingCalendar(props) {
|
|
140
116
|
onRangeChange: onRangeChange,
|
141
117
|
getNewMomentFunction: getNewMomentFunction
|
142
118
|
}) : BookingCalendarDatePicker), /*#__PURE__*/React.createElement("div", {
|
143
|
-
className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.lanesHeaderContainerClassName, lanesHeaderContainerClassName)
|
119
|
+
className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.lanesHeaderContainerClassName, lanesHeaderContainerClassName),
|
120
|
+
ref: observe
|
144
121
|
}, /*#__PURE__*/React.createElement(BookingCalendarLanesHeader, _extends({}, controlsClasses, {
|
145
122
|
from: from,
|
146
123
|
till: till,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BookingCalendar.js","names":["defaultStep","duration","BookingCalendar","props","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showSelection","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minSelectionSize","minLanesCount","lanesSource","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","lanes","React","useMemo","splitBookingsToLanes","observe","width","useDimensions","items","gridItems","bestStep","generateGridItems","clone","startOf","onSelected","useCallback","data","screenSpaceStartX","Math","min","origin","target","screenSpaceEndX","max","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","classNames","bookingCalendarDefaultClasses","length","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","rowClassName","laneKey"],"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"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 {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n defaultGetMomentFormatFunction,\r\n GetNewMomentFunctionType,\r\n} from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport {\r\n generateGridItems,\r\n LaneSourceData,\r\n splitBookingsToLanes,\r\n} 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 {\r\n defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\r\n} from '.';\r\nimport { BookingCalendarTimeAxis } from './bookingCalendarTimeAxis/BookingCalendarTimeAxis';\r\nimport useDimensions from 'react-cool-dimensions';\r\nimport BookingCalendarSelection, {\r\n BookingCalendarSelectionData,\r\n} from './bookingCalendarSelection/BookingCalendarSelection';\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 getMomentFormatFunction?: GetMomentFormatFunctionType;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n step?: Duration;\r\n showGrid?: boolean;\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n\r\n zoomLevels?: ZoomLevel[];\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?:\r\n | React.ComponentType<BookingCalendarDatePickerProps<T>>\r\n | React.ReactNode;\r\n}\r\n\r\nconst defaultStep = duration(1, '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 laneContainerClassName,\r\n laneHeaderContainerClassName,\r\n lanesHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n showGrid = true,\r\n showSelection = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minSelectionSize = 10,\r\n minLanesCount,\r\n lanesSource,\r\n filterBookingsToZoom,\r\n zoomLevels,\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 const { observe, width } = useDimensions();\r\n const { items: gridItems, bestStep } = React.useMemo(\r\n () =>\r\n generateGridItems(\r\n from,\r\n till,\r\n step,\r\n width,\r\n gridAvailableSteps,\r\n goalGridWidthPx,\r\n from?.clone()?.startOf('day')\r\n ),\r\n [from, till, step, width, gridAvailableSteps, goalGridWidthPx]\r\n );\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const screenSpaceStartX = Math.min(data.origin[0], data.target[0]);\r\n const screenSpaceEndX = Math.max(data.origin[0], data.target[0]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from\r\n .clone()\r\n .add(toTimeSpace(screenSpaceStartX), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(screenSpaceEndX), 'ms');\r\n onRangeChange({ from: timeSpaceStart, till: timeSpaceEnd });\r\n },\r\n [from, till, width, onRangeChange]\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 zoomLevels={zoomLevels}\r\n />\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n containerRef={observe}\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n dataRowsCount={lanes.length}\r\n onSelected={onSelected}\r\n minSelectionSize={minSelectionSize}\r\n />\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {typeof BookingCalendarDatePicker === 'function' ? (\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n getNewMomentFunction={getNewMomentFunction}\r\n />\r\n ) : (\r\n BookingCalendarDatePicker\r\n )}\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderContainerClassName,\r\n lanesHeaderContainerClassName\r\n )}\r\n >\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 />\r\n </div>\r\n\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 <React.Fragment key={laneIndex}>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneHeaderContainerClassName,\r\n laneHeaderContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneContainerClassName,\r\n laneContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\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 ?? BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </div>\r\n </React.Fragment>\r\n );\r\n })}\r\n <div />\r\n <div>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"BookingCalendar.js","names":["React","_interopRequireWildcard","require","_classes","_classnames","_interopRequireDefault","_common","_BookingCalendarControls","_utils","_BookingCalendarLane","_moment","_BookingCalendarGrid","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarDatePicker","_","_BookingCalendarTimeAxis","_reactCoolDimensions","_BookingCalendarSelection","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","defaultStep","duration","BookingCalendar","props","_entry$target","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showSelection","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minSelectionSize","minLanesCount","lanesSource","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","lanes","useMemo","splitBookingsToLanes","observe","entry","useDimensions","width","scrollWidth","items","gridItems","bestStep","_from$clone","generateGridItems","clone","startOf","onSelected","useCallback","data","screenSpaceStartX","Math","min","origin","screenSpaceEndX","max","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","createElement","classNames","bookingCalendarDefaultClasses","dataRowsCount","ref","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","Fragment","rowClassName","laneKey","BookingCalendarTimeAxis"],"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"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 {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n defaultGetMomentFormatFunction,\r\n GetNewMomentFunctionType,\r\n} from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport {\r\n generateGridItems,\r\n LaneSourceData,\r\n splitBookingsToLanes,\r\n} 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 {\r\n defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\r\n} from '.';\r\nimport { BookingCalendarTimeAxis } from './bookingCalendarTimeAxis/BookingCalendarTimeAxis';\r\nimport useDimensions from 'react-cool-dimensions';\r\nimport BookingCalendarSelection, {\r\n BookingCalendarSelectionData,\r\n} from './bookingCalendarSelection/BookingCalendarSelection';\r\n\r\nexport interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>\r\n extends BookingCalendarClasses {\r\n bookings: T[];\r\n from: Moment;\r\n till: Moment;\r\n getMomentFormatFunction?: GetMomentFormatFunctionType;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n step?: Duration;\r\n showGrid?: boolean;\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n\r\n zoomLevels?: ZoomLevel[];\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?:\r\n | React.ComponentType<BookingCalendarDatePickerProps<T>>\r\n | React.ReactNode;\r\n}\r\n\r\nconst defaultStep = duration(1, '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 laneContainerClassName,\r\n laneHeaderContainerClassName,\r\n lanesHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n showGrid = true,\r\n showSelection = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minSelectionSize = 10,\r\n minLanesCount,\r\n lanesSource,\r\n filterBookingsToZoom,\r\n zoomLevels,\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 const { observe, entry } = useDimensions<HTMLDivElement>();\r\n const width = entry?.target?.scrollWidth ?? 0;\r\n const { items: gridItems, bestStep } = React.useMemo(\r\n () =>\r\n generateGridItems(\r\n from,\r\n till,\r\n step,\r\n width,\r\n gridAvailableSteps,\r\n goalGridWidthPx,\r\n from?.clone()?.startOf('day')\r\n ),\r\n [from, till, step, width, gridAvailableSteps, goalGridWidthPx]\r\n );\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const screenSpaceStartX = Math.min(data.origin[0], data.target[0]);\r\n const screenSpaceEndX = Math.max(data.origin[0], data.target[0]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from\r\n .clone()\r\n .add(toTimeSpace(screenSpaceStartX), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(screenSpaceEndX), 'ms');\r\n onRangeChange({ from: timeSpaceStart, till: timeSpaceEnd });\r\n },\r\n [from, till, width, onRangeChange]\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 zoomLevels={zoomLevels}\r\n />\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n dataRowsCount={lanes.length}\r\n onSelected={onSelected}\r\n minSelectionSize={minSelectionSize}\r\n />\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {typeof BookingCalendarDatePicker === 'function' ? (\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n getNewMomentFunction={getNewMomentFunction}\r\n />\r\n ) : (\r\n BookingCalendarDatePicker\r\n )}\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderContainerClassName,\r\n lanesHeaderContainerClassName\r\n )}\r\n ref={observe}\r\n >\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 />\r\n </div>\r\n\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 <React.Fragment key={laneIndex}>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneHeaderContainerClassName,\r\n laneHeaderContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneContainerClassName,\r\n laneContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\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 ?? BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </div>\r\n </React.Fragment>\r\n );\r\n })}\r\n <div />\r\n <div>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
|
@@ -4,88 +4,69 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.BookingCalendarControls = BookingCalendarControls;
|
7
|
-
|
8
7
|
var _classnames = _interopRequireDefault(require("classnames"));
|
9
|
-
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
11
|
-
|
12
9
|
var _moment = require("moment");
|
13
|
-
|
14
10
|
var _ = require(".");
|
15
|
-
|
16
11
|
var _Button = require("../../button/Button");
|
17
|
-
|
18
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
19
|
-
|
20
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
21
|
-
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
23
|
-
|
24
15
|
var LeftArrowLongIcon = function LeftArrowLongIcon(props) {
|
25
16
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
26
17
|
d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"
|
27
18
|
}));
|
28
19
|
};
|
29
|
-
|
30
20
|
LeftArrowLongIcon.defaultProps = {
|
31
21
|
xmlns: "http://www.w3.org/2000/svg",
|
32
22
|
width: "24",
|
33
23
|
height: "24",
|
34
24
|
viewBox: "0 0 24 24"
|
35
25
|
};
|
36
|
-
|
37
26
|
var LeftArrowIcon = function LeftArrowIcon(props) {
|
38
27
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
39
28
|
d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
|
40
29
|
}));
|
41
30
|
};
|
42
|
-
|
43
31
|
LeftArrowIcon.defaultProps = {
|
44
32
|
xmlns: "http://www.w3.org/2000/svg",
|
45
33
|
width: "24",
|
46
34
|
height: "24",
|
47
35
|
viewBox: "0 0 24 24"
|
48
36
|
};
|
49
|
-
|
50
37
|
var RightArrowLongIcon = function RightArrowLongIcon(props) {
|
51
38
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
52
39
|
d: "M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"
|
53
40
|
}));
|
54
41
|
};
|
55
|
-
|
56
42
|
RightArrowLongIcon.defaultProps = {
|
57
43
|
xmlns: "http://www.w3.org/2000/svg",
|
58
44
|
width: "24",
|
59
45
|
height: "24",
|
60
46
|
viewBox: "0 0 24 24"
|
61
47
|
};
|
62
|
-
|
63
48
|
var RightArrowIcon = function RightArrowIcon(props) {
|
64
49
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
65
50
|
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
|
66
51
|
}));
|
67
52
|
};
|
68
|
-
|
69
53
|
RightArrowIcon.defaultProps = {
|
70
54
|
xmlns: "http://www.w3.org/2000/svg",
|
71
55
|
width: "24",
|
72
56
|
height: "24",
|
73
57
|
viewBox: "0 0 24 24"
|
74
58
|
};
|
75
|
-
|
76
59
|
var UnfoldLessIcon = function UnfoldLessIcon(props) {
|
77
60
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
78
61
|
d: "M7.41 18.59L8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"
|
79
62
|
}));
|
80
63
|
};
|
81
|
-
|
82
64
|
UnfoldLessIcon.defaultProps = {
|
83
65
|
xmlns: "http://www.w3.org/2000/svg",
|
84
66
|
width: "24",
|
85
67
|
height: "24",
|
86
68
|
viewBox: "0 0 24 24"
|
87
69
|
};
|
88
|
-
|
89
70
|
function BookingCalendarControls(props) {
|
90
71
|
const {
|
91
72
|
className,
|
@@ -101,11 +82,9 @@ function BookingCalendarControls(props) {
|
|
101
82
|
items,
|
102
83
|
filterBookingsToZoom = () => true
|
103
84
|
} = props;
|
104
|
-
|
105
85
|
if (!step || !from || !till) {
|
106
86
|
return null;
|
107
87
|
}
|
108
|
-
|
109
88
|
const onStepFactory = React.useCallback(_step => () => onRangeChange({
|
110
89
|
from: from.clone().add(_step),
|
111
90
|
till: till.clone().add(_step)
|
@@ -132,7 +111,8 @@ function BookingCalendarControls(props) {
|
|
132
111
|
}, from.format('MMMM'), ", ", from.format('YYYY')), (zoomLevels === null || zoomLevels === void 0 ? void 0 : zoomLevels.length) > 0 && /*#__PURE__*/React.createElement("div", {
|
133
112
|
className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName, zoomLevelsContainerClassName)
|
134
113
|
}, zoomLevels.map((level, index) => /*#__PURE__*/React.createElement(_Button.Button, {
|
135
|
-
type: till.valueOf() - from.valueOf() === level.step.asMilliseconds() ? 'primary' : undefined
|
114
|
+
type: till.valueOf() - from.valueOf() === level.step.asMilliseconds() ? 'primary' : undefined
|
115
|
+
// blank={true}
|
136
116
|
,
|
137
117
|
noShadow: true,
|
138
118
|
key: index,
|
package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BookingCalendarControls.js","names":["LeftArrowLongIcon","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","BookingCalendarControls","props","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","zoomLevelsContainerClassName","zoomLevels","step","from","till","onRangeChange","items","filterBookingsToZoom","onStepFactory","React","useCallback","_step","clone","add","onBigStepLeftClick","duration","onSmallStepLeftClick","onBigStepRightClick","onSmallStepRightClick","filteredItems","useMemo","filter","onZoomBookingsClick","minFromMs","Math","min","map","a","valueOf","minFrom","subtract","maxTillMs","max","maxTill","classNames","bookingCalendarControlsDefaultClasses","format","length","level","index","asMilliseconds","undefined","startOf","label"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n ZoomLevel,\r\n} 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\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 zoomLevels?: ZoomLevel[];\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 zoomLevelsContainerClassName,\r\n zoomLevels,\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(-7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepLeftClick = React.useCallback(\r\n onStepFactory(duration(-1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const onBigStepRightClick = React.useCallback(\r\n onStepFactory(duration(7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepRightClick = React.useCallback(\r\n onStepFactory(duration(1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const filteredItems = React.useMemo(\r\n () => items?.filter(filterBookingsToZoom),\r\n [filterBookingsToZoom, items]\r\n );\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFromMs =\r\n Math.min(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.from.valueOf())\r\n ) ?? from?.valueOf();\r\n const minFrom = from.clone().subtract(from.valueOf() - minFromMs, 'ms');\r\n const maxTillMs =\r\n Math.max(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.till.valueOf())\r\n ) ?? till?.valueOf();\r\n const maxTill = till.clone().subtract(till.valueOf() - maxTillMs, 'ms');\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, filteredItems]);\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 {zoomLevels?.length > 0 && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName,\r\n zoomLevelsContainerClassName\r\n )}\r\n >\r\n {zoomLevels.map((level, index) => (\r\n <Button\r\n type={\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ? 'primary'\r\n : undefined\r\n }\r\n // blank={true}\r\n noShadow={true}\r\n key={index}\r\n onClick={() =>\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from\r\n .clone()\r\n .startOf('day')\r\n .add(level.step),\r\n })\r\n }\r\n >\r\n {level.label}\r\n </Button>\r\n ))}\r\n </div>\r\n )}\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={!filteredItems?.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"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"BookingCalendarControls.js","names":["_classnames","_interopRequireDefault","require","React","_interopRequireWildcard","_moment","_","_Button","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LeftArrowLongIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","BookingCalendarControls","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","zoomLevelsContainerClassName","zoomLevels","step","from","till","onRangeChange","items","filterBookingsToZoom","onStepFactory","useCallback","_step","clone","add","onBigStepLeftClick","duration","onSmallStepLeftClick","onBigStepRightClick","onSmallStepRightClick","filteredItems","useMemo","filter","onZoomBookingsClick","minFromMs","Math","min","map","a","valueOf","minFrom","subtract","maxTillMs","max","maxTill","classNames","bookingCalendarControlsDefaultClasses","format","length","level","index","Button","type","asMilliseconds","undefined","noShadow","onClick","startOf","label","disabled"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n ZoomLevel,\r\n} 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\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 zoomLevels?: ZoomLevel[];\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 zoomLevelsContainerClassName,\r\n zoomLevels,\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(-7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepLeftClick = React.useCallback(\r\n onStepFactory(duration(-1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const onBigStepRightClick = React.useCallback(\r\n onStepFactory(duration(7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepRightClick = React.useCallback(\r\n onStepFactory(duration(1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const filteredItems = React.useMemo(\r\n () => items?.filter(filterBookingsToZoom),\r\n [filterBookingsToZoom, items]\r\n );\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFromMs =\r\n Math.min(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.from.valueOf())\r\n ) ?? from?.valueOf();\r\n const minFrom = from.clone().subtract(from.valueOf() - minFromMs, 'ms');\r\n const maxTillMs =\r\n Math.max(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.till.valueOf())\r\n ) ?? till?.valueOf();\r\n const maxTill = till.clone().subtract(till.valueOf() - maxTillMs, 'ms');\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, filteredItems]);\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 {zoomLevels?.length > 0 && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName,\r\n zoomLevelsContainerClassName\r\n )}\r\n >\r\n {zoomLevels.map((level, index) => (\r\n <Button\r\n type={\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ? 'primary'\r\n : undefined\r\n }\r\n // blank={true}\r\n noShadow={true}\r\n key={index}\r\n onClick={() =>\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from\r\n .clone()\r\n .startOf('day')\r\n .add(level.step),\r\n })\r\n }\r\n >\r\n {level.label}\r\n </Button>\r\n ))}\r\n </div>\r\n )}\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={!filteredItems?.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"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"classes.js","names":["bookingCalendarControlsDefaultClasses","className","monthLabelClassName","buttonsContainerClassName","zoomLevelsContainerClassName","zoomBookingsButtonClassName"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/classes.ts"],"sourcesContent":["export interface BookingCalendarControlsClasses {\r\n className?: string;\r\n monthLabelClassName?: string;\r\n zoomLevelsContainerClassName?: string;\r\n buttonsContainerClassName?: string;\r\n zoomBookingsButtonClassName?: string;\r\n}\r\n\r\nexport const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses = {\r\n className: 'bookingCalendar__controls',\r\n monthLabelClassName: 'bookingCalendar__controls__monthLabel',\r\n buttonsContainerClassName: 'bookingCalendar__controls__buttonsContainer',\r\n zoomLevelsContainerClassName:\r\n 'bookingCalendar__controls__zoomLevelsContainer',\r\n zoomBookingsButtonClassName: 'bookingCalendar__controls__zoomBookingsButton',\r\n};\r\n"],"mappings":";;;;;;AAQO,MAAMA,qCAAqE,GAAG;EACnFC,SAAS,EAAE,
|
1
|
+
{"version":3,"file":"classes.js","names":["bookingCalendarControlsDefaultClasses","className","monthLabelClassName","buttonsContainerClassName","zoomLevelsContainerClassName","zoomBookingsButtonClassName","exports"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/classes.ts"],"sourcesContent":["export interface BookingCalendarControlsClasses {\r\n className?: string;\r\n monthLabelClassName?: string;\r\n zoomLevelsContainerClassName?: string;\r\n buttonsContainerClassName?: string;\r\n zoomBookingsButtonClassName?: string;\r\n}\r\n\r\nexport const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses = {\r\n className: 'bookingCalendar__controls',\r\n monthLabelClassName: 'bookingCalendar__controls__monthLabel',\r\n buttonsContainerClassName: 'bookingCalendar__controls__buttonsContainer',\r\n zoomLevelsContainerClassName:\r\n 'bookingCalendar__controls__zoomLevelsContainer',\r\n zoomBookingsButtonClassName: 'bookingCalendar__controls__zoomBookingsButton',\r\n};\r\n"],"mappings":";;;;;;AAQO,MAAMA,qCAAqE,GAAG;EACnFC,SAAS,EAAE,2BAA2B;EACtCC,mBAAmB,EAAE,uCAAuC;EAC5DC,yBAAyB,EAAE,6CAA6C;EACxEC,4BAA4B,EAC1B,gDAAgD;EAClDC,2BAA2B,EAAE;AAC/B,CAAC;AAACC,OAAA,CAAAN,qCAAA,GAAAA,qCAAA"}
|
@@ -3,9 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
|
7
6
|
var _BookingCalendarControls = require("./BookingCalendarControls");
|
8
|
-
|
9
7
|
Object.keys(_BookingCalendarControls).forEach(function (key) {
|
10
8
|
if (key === "default" || key === "__esModule") return;
|
11
9
|
if (key in exports && exports[key] === _BookingCalendarControls[key]) return;
|
@@ -16,9 +14,7 @@ Object.keys(_BookingCalendarControls).forEach(function (key) {
|
|
16
14
|
}
|
17
15
|
});
|
18
16
|
});
|
19
|
-
|
20
17
|
var _classes = require("./classes");
|
21
|
-
|
22
18
|
Object.keys(_classes).forEach(function (key) {
|
23
19
|
if (key === "default" || key === "__esModule") return;
|
24
20
|
if (key in exports && exports[key] === _classes[key]) return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/index.ts"],"sourcesContent":["export * from './BookingCalendarControls';\r\nexport * from './classes';\r\n"],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","names":["_BookingCalendarControls","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_classes"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/index.ts"],"sourcesContent":["export * from './BookingCalendarControls';\r\nexport * from './classes';\r\n"],"mappings":";;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,wBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,wBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,wBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js
CHANGED
@@ -4,42 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.BookingCalendarDatePicker = BookingCalendarDatePicker;
|
7
|
-
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
9
|
-
|
10
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
11
|
-
|
12
9
|
var _classes = require("./classes");
|
13
|
-
|
14
10
|
var _Button = require("../../button/Button");
|
15
|
-
|
16
11
|
var _ = require("..");
|
17
|
-
|
18
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
|
-
|
20
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
21
|
-
|
22
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
23
|
-
|
24
15
|
var EventIcon = function EventIcon(props) {
|
25
16
|
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
26
17
|
d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
|
27
18
|
}));
|
28
19
|
};
|
29
|
-
|
30
20
|
EventIcon.defaultProps = {
|
31
21
|
xmlns: "http://www.w3.org/2000/svg",
|
32
22
|
width: "24",
|
33
23
|
height: "24",
|
34
24
|
viewBox: "0 0 24 24"
|
35
25
|
};
|
36
|
-
|
37
26
|
try {
|
38
27
|
var DatePicker = require('react-datepicker').default;
|
39
28
|
} catch {
|
40
29
|
DatePicker = undefined;
|
41
|
-
}
|
42
|
-
|
30
|
+
}
|
31
|
+
// import DatePicker from 'react-datepicker';
|
43
32
|
|
44
33
|
function BookingCalendarDatePicker(props) {
|
45
34
|
const {
|
@@ -65,23 +54,23 @@ function BookingCalendarDatePicker(props) {
|
|
65
54
|
}, /*#__PURE__*/React.createElement(EventIcon, null)), /*#__PURE__*/React.createElement(DatePicker, {
|
66
55
|
ref: calendarRef,
|
67
56
|
customInput: /*#__PURE__*/React.createElement("span", null),
|
68
|
-
selected: from === null || from === void 0 ? void 0 : from.toDate()
|
57
|
+
selected: from === null || from === void 0 ? void 0 : from.toDate()
|
58
|
+
// selectsRange={true}
|
69
59
|
,
|
70
60
|
selectsStart: shownModal !== 'end',
|
71
61
|
selectsEnd: shownModal === 'end',
|
72
62
|
startDate: from === null || from === void 0 ? void 0 : from.toDate(),
|
73
63
|
endDate: till === null || till === void 0 ? void 0 : till.toDate(),
|
74
|
-
shouldCloseOnSelect: shownModal === 'end'
|
64
|
+
shouldCloseOnSelect: shownModal === 'end'
|
65
|
+
//dateFormat={DAY_FORMAT}
|
75
66
|
,
|
76
67
|
onChange: dt => {
|
77
68
|
if (shownModal !== 'end') {
|
78
69
|
const dtm = getNewMomentFunction(dt);
|
79
70
|
let validTill = till.clone();
|
80
|
-
|
81
71
|
if (dtm.isAfter(till)) {
|
82
72
|
validTill = dtm.clone().add(1, 'day');
|
83
73
|
}
|
84
|
-
|
85
74
|
onRangeChange({
|
86
75
|
from: dtm,
|
87
76
|
till: validTill
|
@@ -90,11 +79,9 @@ function BookingCalendarDatePicker(props) {
|
|
90
79
|
} else {
|
91
80
|
let dtm = getNewMomentFunction(dt).startOf('day').add(1, 'day');
|
92
81
|
let validFrom = from.clone();
|
93
|
-
|
94
82
|
if (dtm.isBefore(from)) {
|
95
83
|
validFrom = dtm.clone().add(-1, 'day');
|
96
84
|
}
|
97
|
-
|
98
85
|
onRangeChange({
|
99
86
|
from: validFrom,
|
100
87
|
till: dtm
|
package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BookingCalendarDatePicker.js","names":["
|
1
|
+
{"version":3,"file":"BookingCalendarDatePicker.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_classes","_Button","_","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EventIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DatePicker","undefined","BookingCalendarDatePicker","className","buttonClassName","from","till","onRangeChange","getNewMomentFunction","defaultGetNewMomentFunction","shownModal","setShownModal","useState","calendarRef","useRef","onButtonClick","useCallback","current","setOpen","classNames","bookingCalendarDatePickerDefaultClasses","Button","noShadow","onClick","ref","customInput","selected","toDate","selectsStart","selectsEnd","startDate","endDate","shouldCloseOnSelect","onChange","dt","dtm","validTill","clone","isAfter","add","startOf","validFrom","isBefore","withPortal"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport {\r\n BookingCalendarDatePickerClasses,\r\n bookingCalendarDatePickerDefaultClasses,\r\n} from './classes';\r\nimport { Moment } from 'moment';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n GetNewMomentFunctionType,\r\n} from '../common';\r\nimport { Button } from '../../button/Button';\r\nimport * as EventIcon from 'material-design-icons/action/svg/production/ic_event_24px.svg';\r\ntry {\r\n var DatePicker = require('react-datepicker').default;\r\n} catch {\r\n DatePicker = undefined;\r\n}\r\n// import DatePicker from 'react-datepicker';\r\nimport { defaultGetNewMomentFunction } from '..';\r\n\r\nexport interface BookingCalendarDatePickerBaseProps<\r\n T extends BookingCalendarItemT\r\n> {\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n}\r\n\r\nexport interface BookingCalendarDatePickerProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarDatePickerClasses,\r\n BookingCalendarDatePickerBaseProps<T> {}\r\n\r\nexport function BookingCalendarDatePicker<T extends BookingCalendarItemT>(\r\n props: BookingCalendarDatePickerProps<T>\r\n) {\r\n const {\r\n className,\r\n buttonClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n } = props;\r\n const [shownModal, setShownModal] = React.useState<null | 'start' | 'end'>();\r\n const calendarRef = React.useRef<typeof DatePicker>();\r\n const onButtonClick = React.useCallback(() => {\r\n setShownModal('start');\r\n calendarRef.current.setOpen(true);\r\n }, []);\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n <Button\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.buttonClassName,\r\n buttonClassName\r\n )}\r\n noShadow={true}\r\n onClick={onButtonClick}\r\n >\r\n <EventIcon />\r\n </Button>\r\n <DatePicker\r\n ref={calendarRef}\r\n customInput={<span />}\r\n selected={from?.toDate()}\r\n // selectsRange={true}\r\n selectsStart={shownModal !== 'end'}\r\n selectsEnd={shownModal === 'end'}\r\n startDate={from?.toDate()}\r\n endDate={till?.toDate()}\r\n shouldCloseOnSelect={shownModal === 'end'}\r\n //dateFormat={DAY_FORMAT}\r\n onChange={(dt: Date) => {\r\n if (shownModal !== 'end') {\r\n const dtm = getNewMomentFunction(dt);\r\n let validTill = till.clone();\r\n if (dtm.isAfter(till)) {\r\n validTill = dtm.clone().add(1, 'day');\r\n }\r\n onRangeChange({ from: dtm, till: validTill });\r\n setShownModal('end');\r\n } else {\r\n let dtm = getNewMomentFunction(dt)\r\n .startOf('day')\r\n .add(1, 'day');\r\n let validFrom = from.clone();\r\n if (dtm.isBefore(from)) {\r\n validFrom = dtm.clone().add(-1, 'day');\r\n }\r\n onRangeChange({ from: validFrom, till: dtm });\r\n setShownModal(null);\r\n }\r\n }}\r\n withPortal={true}\r\n />\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAUA,IAAAI,OAAA,GAAAJ,OAAA;AAQA,IAAAK,CAAA,GAAAL,OAAA;AAAiD,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAO,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,IAPrCW,SAAS,YAATA,SAASA,CAAAC,KAAA;EAAA,oBAAA/B,KAAA,CAAAgC,aAAA,QAAAD,KAAA,eAAA/B,KAAA,CAAAgC,aAAA;IAAAC,CAAA;EAAA;AAAA;AAATH,SAAS,CAAAI,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAC,OAAA;AAAA;AACrB,IAAI;EACF,IAAIC,UAAU,GAAGrC,OAAO,CAAC,kBAAkB,CAAC,CAACQ,OAAO;AACtD,CAAC,CAAC,MAAM;EACN6B,UAAU,GAAGC,SAAS;AACxB;AACA;;AAgBO,SAASC,yBAAyBA,CACvCV,KAAwC,EACxC;EACA,MAAM;IACJW,SAAS;IACTC,eAAe;IACfC,IAAI;IACJC,IAAI;IACJC,aAAa;IACbC,oBAAoB,GAAGC;EACzB,CAAC,GAAGjB,KAAK;EACT,MAAM,CAACkB,UAAU,EAAEC,aAAa,CAAC,GAAGlD,KAAK,CAACmD,QAAQ,CAAyB,CAAC;EAC5E,MAAMC,WAAW,GAAGpD,KAAK,CAACqD,MAAM,CAAoB,CAAC;EACrD,MAAMC,aAAa,GAAGtD,KAAK,CAACuD,WAAW,CAAC,MAAM;IAC5CL,aAAa,CAAC,OAAO,CAAC;IACtBE,WAAW,CAACI,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EACN,oBACEzD,KAAA,CAAAgC,aAAA;IACEU,SAAS,EAAE,IAAAgB,mBAAU,EACnBC,gDAAuC,CAACjB,SAAS,EACjDA,SACF;EAAE,gBAEF1C,KAAA,CAAAgC,aAAA,CAAC1B,OAAA,CAAAsD,MAAM;IACLlB,SAAS,EAAE,IAAAgB,mBAAU,EACnBC,gDAAuC,CAAChB,eAAe,EACvDA,eACF,CAAE;IACFkB,QAAQ,EAAE,IAAK;IACfC,OAAO,EAAER;EAAc,gBAEvBtD,KAAA,CAAAgC,aAAA,CAACF,SAAS,MAAE,CACN,CAAC,eACT9B,KAAA,CAAAgC,aAAA,CAACO,UAAU;IACTwB,GAAG,EAAEX,WAAY;IACjBY,WAAW,eAAEhE,KAAA,CAAAgC,aAAA,aAAO,CAAE;IACtBiC,QAAQ,EAAErB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsB,MAAM,CAAC;IACvB;IAAA;IACAC,YAAY,EAAElB,UAAU,KAAK,KAAM;IACnCmB,UAAU,EAAEnB,UAAU,KAAK,KAAM;IACjCoB,SAAS,EAAEzB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsB,MAAM,CAAC,CAAE;IAC1BI,OAAO,EAAEzB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqB,MAAM,CAAC,CAAE;IACxBK,mBAAmB,EAAEtB,UAAU,KAAK;IACpC;IAAA;IACAuB,QAAQ,EAAGC,EAAQ,IAAK;MACtB,IAAIxB,UAAU,KAAK,KAAK,EAAE;QACxB,MAAMyB,GAAG,GAAG3B,oBAAoB,CAAC0B,EAAE,CAAC;QACpC,IAAIE,SAAS,GAAG9B,IAAI,CAAC+B,KAAK,CAAC,CAAC;QAC5B,IAAIF,GAAG,CAACG,OAAO,CAAChC,IAAI,CAAC,EAAE;UACrB8B,SAAS,GAAGD,GAAG,CAACE,KAAK,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACvC;QACAhC,aAAa,CAAC;UAAEF,IAAI,EAAE8B,GAAG;UAAE7B,IAAI,EAAE8B;QAAU,CAAC,CAAC;QAC7CzB,aAAa,CAAC,KAAK,CAAC;MACtB,CAAC,MAAM;QACL,IAAIwB,GAAG,GAAG3B,oBAAoB,CAAC0B,EAAE,CAAC,CAC/BM,OAAO,CAAC,KAAK,CAAC,CACdD,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QAChB,IAAIE,SAAS,GAAGpC,IAAI,CAACgC,KAAK,CAAC,CAAC;QAC5B,IAAIF,GAAG,CAACO,QAAQ,CAACrC,IAAI,CAAC,EAAE;UACtBoC,SAAS,GAAGN,GAAG,CAACE,KAAK,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACxC;QACAhC,aAAa,CAAC;UAAEF,IAAI,EAAEoC,SAAS;UAAEnC,IAAI,EAAE6B;QAAI,CAAC,CAAC;QAC7CxB,aAAa,CAAC,IAAI,CAAC;MACrB;IACF,CAAE;IACFgC,UAAU,EAAE;EAAK,CAClB,CACE,CAAC;AAEV"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"classes.js","names":["bookingCalendarDatePickerDefaultClasses","className","buttonClassName"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/classes.ts"],"sourcesContent":["export interface BookingCalendarDatePickerClasses {\r\n className?: string;\r\n buttonClassName?: string;\r\n}\r\n\r\nexport const bookingCalendarDatePickerDefaultClasses: BookingCalendarDatePickerClasses = {\r\n className: 'bookingCalendar__datePicker',\r\n buttonClassName: 'bookingCalendar__datePicker__button',\r\n};\r\n"],"mappings":";;;;;;AAKO,MAAMA,uCAAyE,GAAG;EACvFC,SAAS,EAAE,
|
1
|
+
{"version":3,"file":"classes.js","names":["bookingCalendarDatePickerDefaultClasses","className","buttonClassName","exports"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/classes.ts"],"sourcesContent":["export interface BookingCalendarDatePickerClasses {\r\n className?: string;\r\n buttonClassName?: string;\r\n}\r\n\r\nexport const bookingCalendarDatePickerDefaultClasses: BookingCalendarDatePickerClasses = {\r\n className: 'bookingCalendar__datePicker',\r\n buttonClassName: 'bookingCalendar__datePicker__button',\r\n};\r\n"],"mappings":";;;;;;AAKO,MAAMA,uCAAyE,GAAG;EACvFC,SAAS,EAAE,6BAA6B;EACxCC,eAAe,EAAE;AACnB,CAAC;AAACC,OAAA,CAAAH,uCAAA,GAAAA,uCAAA"}
|
@@ -3,9 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
|
7
6
|
var _BookingCalendarDatePicker = require("./BookingCalendarDatePicker");
|
8
|
-
|
9
7
|
Object.keys(_BookingCalendarDatePicker).forEach(function (key) {
|
10
8
|
if (key === "default" || key === "__esModule") return;
|
11
9
|
if (key in exports && exports[key] === _BookingCalendarDatePicker[key]) return;
|
@@ -16,9 +14,7 @@ Object.keys(_BookingCalendarDatePicker).forEach(function (key) {
|
|
16
14
|
}
|
17
15
|
});
|
18
16
|
});
|
19
|
-
|
20
17
|
var _classes = require("./classes");
|
21
|
-
|
22
18
|
Object.keys(_classes).forEach(function (key) {
|
23
19
|
if (key === "default" || key === "__esModule") return;
|
24
20
|
if (key in exports && exports[key] === _classes[key]) return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/index.ts"],"sourcesContent":["export * from './BookingCalendarDatePicker';\r\nexport * from './classes';\r\n"],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","names":["_BookingCalendarDatePicker","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_classes"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/index.ts"],"sourcesContent":["export * from './BookingCalendarDatePicker';\r\nexport * from './classes';\r\n"],"mappings":";;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,0BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,0BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,0BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
@@ -3,7 +3,8 @@ import { BookingCalendarGridClasses } from './classes';
|
|
3
3
|
import { GridItem } from '../utils';
|
4
4
|
export interface BookingCalendarGridProps extends BookingCalendarGridClasses {
|
5
5
|
items: GridItem[];
|
6
|
-
containerRef
|
6
|
+
containerRef?: (elem: HTMLElement) => void;
|
7
7
|
dataRowsCount: number;
|
8
|
+
width: number;
|
8
9
|
}
|
9
10
|
export declare function BookingCalendarGrid(props: BookingCalendarGridProps): JSX.Element;
|