guestbell-forms 3.0.29 → 3.0.30

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.
@@ -9,6 +9,8 @@ var React = _interopRequireWildcard(require("react"));
9
9
  var _moment = require("moment");
10
10
  var _ = require(".");
11
11
  var _Button = require("../../button/Button");
12
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
13
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
12
14
  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); }
13
15
  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; }
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -67,6 +69,17 @@ UnfoldLessIcon.defaultProps = {
67
69
  height: "24",
68
70
  viewBox: "0 0 24 24"
69
71
  };
72
+ var DateRangeIcon = function DateRangeIcon(props) {
73
+ return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
74
+ d: "M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"
75
+ }));
76
+ };
77
+ DateRangeIcon.defaultProps = {
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ width: "24",
80
+ height: "24",
81
+ viewBox: "0 0 24 24"
82
+ };
70
83
  function BookingCalendarControls(props) {
71
84
  const {
72
85
  className,
@@ -74,6 +87,7 @@ function BookingCalendarControls(props) {
74
87
  buttonsContainerClassName,
75
88
  zoomBookingsButtonClassName,
76
89
  zoomLevelsContainerClassName,
90
+ zoomLevelsButtonClassName,
77
91
  zoomLevels,
78
92
  step,
79
93
  from,
@@ -107,23 +121,49 @@ function BookingCalendarControls(props) {
107
121
  till: maxTill
108
122
  });
109
123
  }, [from, till, filteredItems]);
124
+ const [anchorEl, setAnchorEl] = React.useState(null);
125
+ const open = Boolean(anchorEl);
126
+ const handleClick = event => {
127
+ setAnchorEl(event.currentTarget);
128
+ };
129
+ const handleClose = () => {
130
+ setAnchorEl(null);
131
+ };
132
+ const selectedLevel = React.useMemo(() => zoomLevels === null || zoomLevels === void 0 ? void 0 : zoomLevels.find(level => till.valueOf() - from.valueOf() === level.step.asMilliseconds()), [zoomLevels, till, from]);
110
133
  return /*#__PURE__*/React.createElement("div", {
111
134
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.className, className)
112
135
  }, bookingCalendarDatePicker && /*#__PURE__*/React.createElement("div", {
113
136
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.monthLabelClassName, monthLabelClassName)
114
137
  }, bookingCalendarDatePicker), (zoomLevels === null || zoomLevels === void 0 ? void 0 : zoomLevels.length) > 0 && /*#__PURE__*/React.createElement("div", {
115
138
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName, zoomLevelsContainerClassName)
116
- }, zoomLevels.map((level, index) => /*#__PURE__*/React.createElement(_Button.Button, {
117
- type: till.valueOf() - from.valueOf() === level.step.asMilliseconds() ? 'primary' : undefined
118
- // blank={true}
119
- ,
120
- noShadow: true,
139
+ }, /*#__PURE__*/React.createElement(_Button.Button, {
140
+ id: "zoom-level-button",
141
+ className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName, zoomLevelsButtonClassName),
142
+ "aria-controls": open ? 'zoom-level-menu' : undefined,
143
+ "aria-haspopup": "true",
144
+ "aria-expanded": open ? 'true' : undefined,
145
+ onClick: handleClick,
146
+ noShadow: true
147
+ }, /*#__PURE__*/React.createElement(DateRangeIcon, null), selectedLevel ? ` ${selectedLevel.label}` : ''), /*#__PURE__*/React.createElement(_Menu.default, {
148
+ id: "zoom-level-menu",
149
+ anchorEl: anchorEl,
150
+ open: open,
151
+ onClose: handleClose,
152
+ MenuListProps: {
153
+ 'aria-labelledby': 'zoom-level-button'
154
+ }
155
+ }, zoomLevels.map((level, index) => /*#__PURE__*/React.createElement(_MenuItem.default, {
156
+ "data-level": index,
121
157
  key: index,
122
- onClick: () => onRangeChange({
123
- from: from.clone().startOf('day'),
124
- till: from.clone().startOf('day').add(level.step)
125
- })
126
- }, level.label))), /*#__PURE__*/React.createElement("div", {
158
+ onClick: () => {
159
+ onRangeChange({
160
+ from: from.clone().startOf('day'),
161
+ till: from.clone().startOf('day').add(level.step)
162
+ });
163
+ setAnchorEl(null);
164
+ },
165
+ selected: till.valueOf() - from.valueOf() === level.step.asMilliseconds()
166
+ }, level.label)))), /*#__PURE__*/React.createElement("div", {
127
167
  className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.buttonsContainerClassName, buttonsContainerClassName)
128
168
  }, /*#__PURE__*/React.createElement(_Button.Button, {
129
169
  noShadow: true,
@@ -1 +1 @@
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","bookingCalendarDatePicker","filteringButton","showZoomAllButton","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","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 bookingCalendarDatePicker?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n showZoomAllButton?: 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 bookingCalendarDatePicker,\r\n filteringButton,\r\n showZoomAllButton,\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 {bookingCalendarDatePicker && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.monthLabelClassName,\r\n monthLabelClassName\r\n )}\r\n >\r\n {bookingCalendarDatePicker}\r\n </div>\r\n )}\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.clone().startOf('day').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 {showZoomAllButton && (\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 )}\r\n {filteringButton}\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","_Menu","_MenuItem","_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","DateRangeIcon","BookingCalendarControls","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","zoomLevelsContainerClassName","zoomLevelsButtonClassName","zoomLevels","step","from","till","onRangeChange","items","filterBookingsToZoom","bookingCalendarDatePicker","filteringButton","showZoomAllButton","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","anchorEl","setAnchorEl","useState","open","Boolean","handleClick","event","currentTarget","handleClose","selectedLevel","find","level","asMilliseconds","classNames","bookingCalendarControlsDefaultClasses","length","Button","id","undefined","onClick","noShadow","label","onClose","MenuListProps","index","startOf","selected","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\nimport * as DateRangeIcon from 'material-design-icons/action/svg/production/ic_date_range_24px.svg';\r\n\r\nimport Menu from '@mui/material/Menu';\r\nimport MenuItem from '@mui/material/MenuItem';\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 bookingCalendarDatePicker?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n showZoomAllButton?: 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 zoomLevelsButtonClassName,\r\n zoomLevels,\r\n step,\r\n from,\r\n till,\r\n onRangeChange,\r\n items,\r\n filterBookingsToZoom = () => true,\r\n bookingCalendarDatePicker,\r\n filteringButton,\r\n showZoomAllButton,\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 const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\r\n const open = Boolean(anchorEl);\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const selectedLevel = React.useMemo(\r\n () =>\r\n zoomLevels?.find(\r\n (level) =>\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ),\r\n [zoomLevels, till, from]\r\n );\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n {bookingCalendarDatePicker && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.monthLabelClassName,\r\n monthLabelClassName\r\n )}\r\n >\r\n {bookingCalendarDatePicker}\r\n </div>\r\n )}\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 <Button\r\n id=\"zoom-level-button\"\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName,\r\n zoomLevelsButtonClassName\r\n )}\r\n aria-controls={open ? 'zoom-level-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n noShadow={true}\r\n >\r\n <DateRangeIcon />\r\n {selectedLevel ? ` ${selectedLevel.label}` : ''}\r\n </Button>\r\n <Menu\r\n id=\"zoom-level-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={handleClose}\r\n MenuListProps={{\r\n 'aria-labelledby': 'zoom-level-button',\r\n }}\r\n >\r\n {zoomLevels.map((level, index) => (\r\n <MenuItem\r\n data-level={index}\r\n key={index}\r\n onClick={() => {\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from.clone().startOf('day').add(level.step),\r\n });\r\n setAnchorEl(null);\r\n }}\r\n selected={\r\n till.valueOf() - from.valueOf() ===\r\n level.step.asMilliseconds()\r\n }\r\n >\r\n {level.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\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.clone().startOf('day').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 {showZoomAllButton && (\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 )}\r\n {filteringButton}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
@@ -4,5 +4,6 @@ export interface BookingCalendarControlsClasses {
4
4
  zoomLevelsContainerClassName?: string;
5
5
  buttonsContainerClassName?: string;
6
6
  zoomBookingsButtonClassName?: string;
7
+ zoomLevelsButtonClassName?: string;
7
8
  }
8
9
  export declare const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses;
@@ -9,7 +9,8 @@ const bookingCalendarControlsDefaultClasses = {
9
9
  monthLabelClassName: 'bookingCalendar__controls__monthLabel',
10
10
  buttonsContainerClassName: 'bookingCalendar__controls__buttonsContainer',
11
11
  zoomLevelsContainerClassName: 'bookingCalendar__controls__zoomLevelsContainer',
12
- zoomBookingsButtonClassName: 'bookingCalendar__controls__zoomBookingsButton'
12
+ zoomBookingsButtonClassName: 'bookingCalendar__controls__zoomBookingsButton',
13
+ zoomLevelsButtonClassName: 'bookingCalendar__controls__zoomLevelsButton'
13
14
  };
14
15
  exports.bookingCalendarControlsDefaultClasses = bookingCalendarControlsDefaultClasses;
15
16
  //# sourceMappingURL=classes.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"classes.js","names":["bookingCalendarControlsDefaultClasses","className","monthLabelClassName","buttonsContainerClassName","zoomLevelsContainerClassName","zoomBookingsButtonClassName","zoomLevelsButtonClassName","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 zoomLevelsButtonClassName?: string;\r\n}\r\n\r\nexport const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses =\r\n {\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:\r\n 'bookingCalendar__controls__zoomBookingsButton',\r\n zoomLevelsButtonClassName: 'bookingCalendar__controls__zoomLevelsButton',\r\n };\r\n"],"mappings":";;;;;;AASO,MAAMA,qCAAqE,GAChF;EACEC,SAAS,EAAE,2BAA2B;EACtCC,mBAAmB,EAAE,uCAAuC;EAC5DC,yBAAyB,EAAE,6CAA6C;EACxEC,4BAA4B,EAC1B,gDAAgD;EAClDC,2BAA2B,EACzB,+CAA+C;EACjDC,yBAAyB,EAAE;AAC7B,CAAC;AAACC,OAAA,CAAAP,qCAAA,GAAAA,qCAAA"}
@@ -2702,7 +2702,6 @@ a.guestbell__dropdown-toggle {
2702
2702
  padding-bottom: 0.5rem;
2703
2703
  align-items: center; }
2704
2704
  .bookingCalendar__controls .bookingCalendar__controls__monthLabel {
2705
- font-size: 130%;
2706
2705
  font-weight: bold;
2707
2706
  display: flex;
2708
2707
  align-items: center; }
@@ -2712,6 +2711,11 @@ a.guestbell__dropdown-toggle {
2712
2711
  transform: rotate(90deg); }
2713
2712
  .bookingCalendar__controls .bookingCalendar__controls__zoomLevelsContainer {
2714
2713
  margin-left: auto; }
2714
+ .bookingCalendar__controls .bookingCalendar__controls__zoomLevelsButton {
2715
+ display: flex;
2716
+ align-items: center; }
2717
+ .bookingCalendar__controls .bookingCalendar__controls__zoomLevelsButton svg {
2718
+ margin-right: 0.5rem; }
2715
2719
 
2716
2720
  .bookingCalendar__datePicker {
2717
2721
  display: flex;