guestbell-forms 2.0.251 → 2.0.252

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.
@@ -133,20 +133,23 @@ function BookingCalendarControls(props) {
133
133
  var onSmallStepLeftClick = React.useCallback(onStepFactory((0, _moment.duration)(step.asMilliseconds() * -1)), [onStepFactory, step]);
134
134
  var onBigStepRightClick = React.useCallback(onStepFactory((0, _moment.duration)(till.diff(from))), [onStepFactory, till, from]);
135
135
  var onSmallStepRightClick = React.useCallback(onStepFactory(step), [onStepFactory, step]);
136
+ var filteredItems = React.useMemo(function () {
137
+ return items === null || items === void 0 ? void 0 : items.filter(filterBookingsToZoom);
138
+ }, [filterBookingsToZoom, items]);
136
139
  var onZoomBookingsClick = React.useCallback(function () {
137
140
  var _Math$min, _Math$max;
138
141
 
139
- 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) {
142
+ var minFrom = (0, _moment.default)((_Math$min = Math.min.apply(Math, _toConsumableArray(filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.filter(filterBookingsToZoom).map(function (a) {
140
143
  return a.from.valueOf();
141
144
  })))) !== null && _Math$min !== void 0 ? _Math$min : from === null || from === void 0 ? void 0 : from.valueOf());
142
- 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) {
145
+ var maxTill = (0, _moment.default)((_Math$max = Math.max.apply(Math, _toConsumableArray(filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.filter(filterBookingsToZoom).map(function (a) {
143
146
  return a.till.valueOf();
144
147
  })))) !== null && _Math$max !== void 0 ? _Math$max : till === null || till === void 0 ? void 0 : till.valueOf());
145
148
  onRangeChange({
146
149
  from: minFrom,
147
150
  till: maxTill
148
151
  });
149
- }, [from, till, items, filterBookingsToZoom]);
152
+ }, [from, till, filteredItems]);
150
153
  return /*#__PURE__*/React.createElement("div", {
151
154
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.className, className)
152
155
  }, /*#__PURE__*/React.createElement("div", {
@@ -183,7 +186,7 @@ function BookingCalendarControls(props) {
183
186
  }, /*#__PURE__*/React.createElement(RightArrowLongIcon, null)), /*#__PURE__*/React.createElement(_Button.Button, {
184
187
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName, zoomBookingsButtonClassName),
185
188
  noShadow: true,
186
- disabled: !(items !== null && items !== void 0 && items.length),
189
+ disabled: !(filteredItems !== null && filteredItems !== void 0 && filteredItems.length),
187
190
  onClick: onZoomBookingsClick
188
191
  }, /*#__PURE__*/React.createElement(UnfoldLessIcon, null))));
189
192
  }
@@ -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","zoomLevelsContainerClassName","zoomLevels","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","level","index","undefined","label"],"mappings":"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","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\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 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(-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(\r\n ...items?.filter(filterBookingsToZoom).map(a => a.from.valueOf())\r\n ) ?? from?.valueOf()\r\n );\r\n const maxTill = moment(\r\n Math.max(\r\n ...items?.filter(filterBookingsToZoom).map(a => a.till.valueOf())\r\n ) ?? till?.valueOf()\r\n );\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, items, filterBookingsToZoom]);\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,\r\n till: moment(from).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={!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"}
1
+ {"version":3,"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"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","diff","onSmallStepLeftClick","asMilliseconds","onBigStepRightClick","onSmallStepRightClick","filteredItems","useMemo","filter","onZoomBookingsClick","minFrom","Math","min","map","a","valueOf","maxTill","max","bookingCalendarControlsDefaultClasses","format","length","level","index","undefined","label"],"mappings":"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","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\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 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(-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 filteredItems = React.useMemo(\r\n () => items?.filter(filterBookingsToZoom),\r\n [filterBookingsToZoom, items]\r\n );\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFrom = moment(\r\n Math.min(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.from.valueOf())\r\n ) ?? from?.valueOf()\r\n );\r\n const maxTill = moment(\r\n Math.max(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map(a => a.till.valueOf())\r\n ) ?? till?.valueOf()\r\n );\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,\r\n till: moment(from).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"],"file":"BookingCalendarControls.js"}
@@ -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 16:55]</title>
6
+ <title>guestbell-forms [2 Oct 2021 at 23:12]</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
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.251",
2
+ "version": "2.0.252",
3
3
  "description": "React forms with validation as used in GuestBell",
4
4
  "keywords": [
5
5
  "react",