guestbell-forms 3.0.42 → 3.0.43

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.
Files changed (37) hide show
  1. package/build/components/bookingCalendar/BookingCalendar.d.ts +1 -0
  2. package/build/components/bookingCalendar/BookingCalendar.js +4 -3
  3. package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
  4. package/build/components/bookingCalendar/bookingCalendarGrid/index.d.ts +2 -0
  5. package/build/components/bookingCalendar/bookingCalendarGrid/index.js +28 -0
  6. package/build/components/bookingCalendar/bookingCalendarGrid/index.js.map +1 -0
  7. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js +1 -1
  8. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js.map +1 -1
  9. package/build/components/bookingCalendar/bookingCalendarSelection/index.d.ts +2 -0
  10. package/build/components/bookingCalendar/bookingCalendarSelection/index.js +28 -0
  11. package/build/components/bookingCalendar/bookingCalendarSelection/index.js.map +1 -0
  12. package/build/components/bookingCalendar/bookingCalendarTimeAxis/index.d.ts +2 -0
  13. package/build/components/bookingCalendar/bookingCalendarTimeAxis/index.js +28 -0
  14. package/build/components/bookingCalendar/bookingCalendarTimeAxis/index.js.map +1 -0
  15. package/build/components/bookingCalendar/index.d.ts +10 -0
  16. package/build/components/bookingCalendar/index.js +110 -0
  17. package/build/components/bookingCalendar/index.js.map +1 -1
  18. package/build/components/bookingCalendar/utils.d.ts +1 -1
  19. package/build/components/bookingCalendar/utils.js +10 -6
  20. package/build/components/bookingCalendar/utils.js.map +1 -1
  21. package/build/dist/guestbell-forms.css +7 -5
  22. package/build/dist/guestbell-forms.css.map +1 -1
  23. package/build/dist/guestbell-forms.min.css +1 -1
  24. package/build/dist/report.html +2 -2
  25. package/build/scss/components/bookingCalendar/bookingCalendar.scss +6 -4
  26. package/package.json +1 -1
  27. package/src/lib/components/bookingCalendar/BookingCalendar.tsx +32 -24
  28. package/src/lib/components/bookingCalendar/bookingCalendarGrid/index.ts +2 -0
  29. package/src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx +1 -1
  30. package/src/lib/components/bookingCalendar/bookingCalendarSelection/index.ts +2 -0
  31. package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/index.ts +2 -0
  32. package/src/lib/components/bookingCalendar/index.ts +10 -0
  33. package/src/lib/components/bookingCalendar/utils.ts +9 -6
  34. package/src/lib/scss/components/bookingCalendar/bookingCalendar.scss +6 -4
  35. package/src/stories/OverlappingSchedule.stories.ts +16 -0
  36. package/src/stories/OverlappingSchedule.tsx +174 -0
  37. package/src/stories/overlappingSchedule.scss +10 -0
@@ -35,6 +35,7 @@ export interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>
35
35
  minSelectionSize?: number;
36
36
  onSelection?: (items: T[], from: Moment, till: Moment, e: React.MouseEvent<HTMLElement>) => void;
37
37
  selectionContent?: React.ReactNode;
38
+ showHeader?: boolean;
38
39
  BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
39
40
  BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
40
41
  BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
@@ -43,6 +43,7 @@ function BookingCalendar(props) {
43
43
  onRangeChange,
44
44
  step = defaultStep,
45
45
  showGrid = true,
46
+ showHeader = true,
46
47
  showSelection = true,
47
48
  onSelection,
48
49
  minSelectionSize = 10,
@@ -69,7 +70,7 @@ function BookingCalendar(props) {
69
70
  filteringButton,
70
71
  children
71
72
  } = props;
72
- const lanes = React.useMemo(() => (0, _utils.splitBookingsToLanes)(bookings, from, minLanesCount, lanesSource, unmatchedLanesToFront), [bookings, from, minLanesCount, lanesSource, unmatchedLanesToFront]);
73
+ const lanes = React.useMemo(() => (0, _utils.splitBookingsToLanes)(bookings, from, till, minLanesCount, lanesSource, unmatchedLanesToFront), [bookings, from, till, minLanesCount, lanesSource, unmatchedLanesToFront]);
73
74
  const {
74
75
  observe,
75
76
  entry
@@ -145,7 +146,7 @@ function BookingCalendar(props) {
145
146
  dataRowsCount: lanes.length,
146
147
  onSelected: onSelected,
147
148
  minSelectionSize: minSelectionSize
148
- }, selectionContent), /*#__PURE__*/React.createElement("div", {
149
+ }, selectionContent), showHeader && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
149
150
  className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName, lanesHeaderHeaderContainerClassName)
150
151
  }, bookingCalendarTopLeftHeader), /*#__PURE__*/React.createElement("div", {
151
152
  className: (0, _classnames.default)(_classes.bookingCalendarDefaultClasses.lanesHeaderContainerClassName, lanesHeaderContainerClassName),
@@ -155,7 +156,7 @@ function BookingCalendar(props) {
155
156
  till: till,
156
157
  onRangeChange: onRangeChange,
157
158
  step: step
158
- }))), lanes.map((lane, laneIndex) => {
159
+ })))), lanes.map((lane, laneIndex) => {
159
160
  const LaneBookingCalendarLaneHeader = lane.BookingCalendarLaneHeader ?? BookingCalendarLaneHeader;
160
161
  const LaneBookingCalendarLane = lane.BookingCalendarLane ?? BookingCalendarLane;
161
162
  return /*#__PURE__*/React.createElement(React.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"BookingCalendar.js","names":["React","_interopRequireWildcard","require","_classes","_classnames","_interopRequireDefault","_common","_BookingCalendarControls","_utils","_BookingCalendarLane","_moment","_bookingCalendarItem","_BookingCalendarGrid","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarDatePicker","_BookingCalendarTimeAxis","_reactCoolDimensions","_BookingCalendarSelection","_bookingCalendarLane","_classes2","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","moment","duration","BookingCalendar","props","_entry$target","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showSelection","onSelection","minSelectionSize","selectionContent","showZoomAllButton","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minLanesCount","lanesSource","unmatchedLanesToFront","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","bookingCalendarTopLeftHeader","filteringButton","children","lanes","useMemo","splitBookingsToLanes","observe","entry","useDimensions","width","scrollWidth","items","gridItems","bestStep","_from$clone","generateGridItems","clone","startOf","containerRef","useRef","onSelected","useCallback","data","e","selectionLeft","Math","min","origin","selectionRight","max","selectionTop","selectionBottom","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","_containerRef$current","_containerRef$current2","itemSelector","bookingCalendarLaneDefaultClasses","bookingCalendarLanesHeaderDefaultClasses","laneClassName","bookingCalendarItemDefaultClasses","allItems","Array","current","querySelectorAll","selectionAreaBB","querySelector","bookingCalendarSelectionDefaultClasses","root","getBoundingClientRect","selectedItems","filter","item","itemBB","itemLeft","left","itemTop","top","itemRight","right","itemBottom","bottom","selectedIds","map","getAttribute","b","_b$id","includes","id","toString","createElement","classNames","bookingCalendarDefaultClasses","ref","bookingCalendarDatePicker","Fragment","dataRowsCount","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","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 defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\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, { Moment, Duration } from 'moment';\r\nimport {\r\n BookingCalendarItemProps,\r\n bookingCalendarItemDefaultClasses,\r\n} 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 bookingCalendarLanesHeaderDefaultClasses,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\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\nimport { bookingCalendarLaneDefaultClasses } from './bookingCalendarLane';\r\nimport { bookingCalendarSelectionDefaultClasses } from './bookingCalendarSelection/classes';\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 showZoomAllButton?: boolean;\r\n showGrid?: boolean;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n unmatchedLanesToFront?: boolean;\r\n children?: React.ReactNode;\r\n bookingCalendarTopLeftHeader?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n\r\n zoomLevels?: ZoomLevel[];\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n onSelection?: (\r\n items: T[],\r\n from: Moment,\r\n till: Moment,\r\n e: React.MouseEvent<HTMLElement>\r\n ) => void;\r\n selectionContent?: React.ReactNode;\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 = moment.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 onSelection,\r\n minSelectionSize = 10,\r\n selectionContent,\r\n showZoomAllButton = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront = true,\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 bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n children,\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 unmatchedLanesToFront\r\n ),\r\n [bookings, from, minLanesCount, lanesSource, unmatchedLanesToFront]\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 containerRef = React.useRef<HTMLDivElement>();\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData, e: React.MouseEvent<HTMLElement>) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const selectionLeft = Math.min(data.origin[0], data.target[0]);\r\n const selectionRight = Math.max(data.origin[0], data.target[0]);\r\n const selectionTop = Math.min(data.origin[1], data.target[1]);\r\n const selectionBottom = Math.max(data.origin[1], data.target[1]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from.clone().add(toTimeSpace(selectionLeft), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(selectionRight), 'ms');\r\n if (onSelection) {\r\n const itemSelector = `.${bookingCalendarLaneDefaultClasses.className}:not(.${bookingCalendarLanesHeaderDefaultClasses.laneClassName}) > .${bookingCalendarItemDefaultClasses.className}`;\r\n const allItems = Array.from(\r\n containerRef?.current?.querySelectorAll(itemSelector)\r\n );\r\n const selectionAreaBB = containerRef?.current\r\n ?.querySelector(`.${bookingCalendarSelectionDefaultClasses.root}`)\r\n .getBoundingClientRect();\r\n const selectedItems = allItems.filter((item) => {\r\n const itemBB = item.getBoundingClientRect();\r\n const itemLeft = itemBB.left - selectionAreaBB.left;\r\n const itemTop = itemBB.top - selectionAreaBB.top;\r\n const itemRight = itemBB.right - selectionAreaBB.left;\r\n const itemBottom = itemBB.bottom - selectionAreaBB.top;\r\n // check if the item rectangle is contained or intersects or overlaps with the selection rectangle\r\n return (\r\n itemLeft < selectionRight &&\r\n itemRight > selectionLeft &&\r\n itemTop < selectionBottom &&\r\n itemBottom > selectionTop\r\n );\r\n });\r\n const selectedIds = selectedItems.map((item) =>\r\n item.getAttribute('data-id')\r\n );\r\n onSelection(\r\n bookings?.filter((b) => selectedIds.includes(b.id?.toString())),\r\n timeSpaceStart,\r\n timeSpaceEnd,\r\n e\r\n );\r\n }\r\n },\r\n [\r\n from,\r\n till,\r\n width,\r\n onRangeChange,\r\n onSelection,\r\n onSelection ? bookings : null,\r\n ]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n ref={containerRef}\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 filteringButton={filteringButton}\r\n showZoomAllButton={showZoomAllButton}\r\n bookingCalendarDatePicker={\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 </>\r\n }\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 {selectionContent}\r\n </BookingCalendarSelection>\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {bookingCalendarTopLeftHeader}\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 {children}\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","_bookingCalendarItem","_BookingCalendarGrid","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarDatePicker","_BookingCalendarTimeAxis","_reactCoolDimensions","_BookingCalendarSelection","_bookingCalendarLane","_classes2","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","moment","duration","BookingCalendar","props","_entry$target","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showHeader","showSelection","onSelection","minSelectionSize","selectionContent","showZoomAllButton","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minLanesCount","lanesSource","unmatchedLanesToFront","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","bookingCalendarTopLeftHeader","filteringButton","children","lanes","useMemo","splitBookingsToLanes","observe","entry","useDimensions","width","scrollWidth","items","gridItems","bestStep","_from$clone","generateGridItems","clone","startOf","containerRef","useRef","onSelected","useCallback","data","e","selectionLeft","Math","min","origin","selectionRight","max","selectionTop","selectionBottom","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","_containerRef$current","_containerRef$current2","itemSelector","bookingCalendarLaneDefaultClasses","bookingCalendarLanesHeaderDefaultClasses","laneClassName","bookingCalendarItemDefaultClasses","allItems","Array","current","querySelectorAll","selectionAreaBB","querySelector","bookingCalendarSelectionDefaultClasses","root","getBoundingClientRect","selectedItems","filter","item","itemBB","itemLeft","left","itemTop","top","itemRight","right","itemBottom","bottom","selectedIds","map","getAttribute","b","_b$id","includes","id","toString","createElement","classNames","bookingCalendarDefaultClasses","ref","bookingCalendarDatePicker","Fragment","dataRowsCount","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","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 defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\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, { Moment, Duration } from 'moment';\r\nimport {\r\n BookingCalendarItemProps,\r\n bookingCalendarItemDefaultClasses,\r\n} 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 bookingCalendarLanesHeaderDefaultClasses,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\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\nimport { bookingCalendarLaneDefaultClasses } from './bookingCalendarLane';\r\nimport { bookingCalendarSelectionDefaultClasses } from './bookingCalendarSelection/classes';\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 showZoomAllButton?: boolean;\r\n showGrid?: boolean;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n unmatchedLanesToFront?: boolean;\r\n children?: React.ReactNode;\r\n bookingCalendarTopLeftHeader?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n\r\n zoomLevels?: ZoomLevel[];\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n onSelection?: (\r\n items: T[],\r\n from: Moment,\r\n till: Moment,\r\n e: React.MouseEvent<HTMLElement>\r\n ) => void;\r\n selectionContent?: React.ReactNode;\r\n\r\n showHeader?: 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 = moment.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 showHeader = true,\r\n showSelection = true,\r\n onSelection,\r\n minSelectionSize = 10,\r\n selectionContent,\r\n showZoomAllButton = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront = true,\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 bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n children,\r\n } = props;\r\n const lanes = React.useMemo(\r\n () =>\r\n splitBookingsToLanes<T, TLaneData>(\r\n bookings,\r\n from,\r\n till,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront\r\n ),\r\n [bookings, from, till, minLanesCount, lanesSource, unmatchedLanesToFront]\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 containerRef = React.useRef<HTMLDivElement>();\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData, e: React.MouseEvent<HTMLElement>) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const selectionLeft = Math.min(data.origin[0], data.target[0]);\r\n const selectionRight = Math.max(data.origin[0], data.target[0]);\r\n const selectionTop = Math.min(data.origin[1], data.target[1]);\r\n const selectionBottom = Math.max(data.origin[1], data.target[1]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from.clone().add(toTimeSpace(selectionLeft), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(selectionRight), 'ms');\r\n if (onSelection) {\r\n const itemSelector = `.${bookingCalendarLaneDefaultClasses.className}:not(.${bookingCalendarLanesHeaderDefaultClasses.laneClassName}) > .${bookingCalendarItemDefaultClasses.className}`;\r\n const allItems = Array.from(\r\n containerRef?.current?.querySelectorAll(itemSelector)\r\n );\r\n const selectionAreaBB = containerRef?.current\r\n ?.querySelector(`.${bookingCalendarSelectionDefaultClasses.root}`)\r\n .getBoundingClientRect();\r\n const selectedItems = allItems.filter((item) => {\r\n const itemBB = item.getBoundingClientRect();\r\n const itemLeft = itemBB.left - selectionAreaBB.left;\r\n const itemTop = itemBB.top - selectionAreaBB.top;\r\n const itemRight = itemBB.right - selectionAreaBB.left;\r\n const itemBottom = itemBB.bottom - selectionAreaBB.top;\r\n // check if the item rectangle is contained or intersects or overlaps with the selection rectangle\r\n return (\r\n itemLeft < selectionRight &&\r\n itemRight > selectionLeft &&\r\n itemTop < selectionBottom &&\r\n itemBottom > selectionTop\r\n );\r\n });\r\n const selectedIds = selectedItems.map((item) =>\r\n item.getAttribute('data-id')\r\n );\r\n onSelection(\r\n bookings?.filter((b) => selectedIds.includes(b.id?.toString())),\r\n timeSpaceStart,\r\n timeSpaceEnd,\r\n e\r\n );\r\n }\r\n },\r\n [\r\n from,\r\n till,\r\n width,\r\n onRangeChange,\r\n onSelection,\r\n onSelection ? bookings : null,\r\n ]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n ref={containerRef}\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 filteringButton={filteringButton}\r\n showZoomAllButton={showZoomAllButton}\r\n bookingCalendarDatePicker={\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 </>\r\n }\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 {selectionContent}\r\n </BookingCalendarSelection>\r\n )}\r\n {showHeader && (\r\n <>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {bookingCalendarTopLeftHeader}\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 )}\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 {children}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './BookingCalendarGrid';
2
+ export * from './classes';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _BookingCalendarGrid = require("./BookingCalendarGrid");
7
+ Object.keys(_BookingCalendarGrid).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _BookingCalendarGrid[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _BookingCalendarGrid[key];
14
+ }
15
+ });
16
+ });
17
+ var _classes = require("./classes");
18
+ Object.keys(_classes).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _classes[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _classes[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_BookingCalendarGrid","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_classes"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarGrid/index.ts"],"sourcesContent":["export * from './BookingCalendarGrid';\nexport * from './classes';\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,oBAAA,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"}
@@ -24,7 +24,7 @@ function BookingCalendarLane(props) {
24
24
  BookingCalendarItem = _BookingCalendarItem.BookingCalendarItem,
25
25
  BookingCalendarRenderItem
26
26
  } = props;
27
- const calculatedItems = React.useMemo(() => (0, _utils.calculateItemsDimensions)(items, from, till), [items, from, till]);
27
+ const calculatedItems = React.useMemo(() => items !== null && items !== void 0 && items.length ? (0, _utils.calculateItemsDimensions)(items, from, till) : [], [items, from, till]);
28
28
  return /*#__PURE__*/React.createElement("div", {
29
29
  className: (0, _classnames.default)(_classes.bookingCalendarLaneDefaultClasses.className, className)
30
30
  }, calculatedItems === null || calculatedItems === void 0 ? void 0 : calculatedItems.map((item, itemIndex) => item.width > 0 ? /*#__PURE__*/React.createElement(BookingCalendarItem, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"BookingCalendarLane.js","names":["_classnames","_interopRequireDefault","require","React","_interopRequireWildcard","_BookingCalendarItem","_utils","_classes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","BookingCalendarLane","props","className","items","laneIndex","from","till","step","BookingCalendarItem","DefaultBookingCalendarItem","BookingCalendarRenderItem","calculatedItems","useMemo","calculateItemsDimensions","createElement","classNames","bookingCalendarLaneDefaultClasses","map","item","itemIndex","width"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport { Duration, Moment } from 'moment';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarItem as DefaultBookingCalendarItem,\r\n BookingCalendarItemProps,\r\n} from '../bookingCalendarItem/BookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from '../bookingCalendarRenderItem';\r\nimport { calculateItemsDimensions } from '../utils';\r\nimport { BookingCalendarItemT } from './../common';\r\nimport {\r\n bookingCalendarLaneDefaultClasses,\r\n BookingCalendarLaneClasses,\r\n} from './classes';\r\n\r\nexport interface BookingCalendarLaneProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarLaneClasses {\r\n items: T[];\r\n laneIndex: number;\r\n from: Moment;\r\n till: Moment;\r\n step: Duration;\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n}\r\n\r\nexport function BookingCalendarLane<T extends BookingCalendarItemT>(\r\n props: BookingCalendarLaneProps<T>\r\n) {\r\n const {\r\n className,\r\n items,\r\n laneIndex,\r\n from,\r\n till,\r\n step,\r\n BookingCalendarItem = DefaultBookingCalendarItem,\r\n BookingCalendarRenderItem,\r\n } = props;\r\n const calculatedItems = React.useMemo(\r\n () => calculateItemsDimensions(items, from, till),\r\n [items, from, till]\r\n );\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarLaneDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n {calculatedItems?.map((item, itemIndex) =>\r\n item.width > 0 ? (\r\n <BookingCalendarItem\r\n BookingCalendarRenderItem={BookingCalendarRenderItem}\r\n key={itemIndex}\r\n itemIndex={itemIndex}\r\n laneIndex={laneIndex}\r\n from={from}\r\n till={till}\r\n step={step}\r\n {...item}\r\n />\r\n ) : null\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingCalendarLane.js","names":["_classnames","_interopRequireDefault","require","React","_interopRequireWildcard","_BookingCalendarItem","_utils","_classes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","BookingCalendarLane","props","className","items","laneIndex","from","till","step","BookingCalendarItem","DefaultBookingCalendarItem","BookingCalendarRenderItem","calculatedItems","useMemo","calculateItemsDimensions","createElement","classNames","bookingCalendarLaneDefaultClasses","map","item","itemIndex","width"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport { Duration, Moment } from 'moment';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarItem as DefaultBookingCalendarItem,\r\n BookingCalendarItemProps,\r\n} from '../bookingCalendarItem/BookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from '../bookingCalendarRenderItem';\r\nimport { calculateItemsDimensions } from '../utils';\r\nimport { BookingCalendarItemT } from './../common';\r\nimport {\r\n bookingCalendarLaneDefaultClasses,\r\n BookingCalendarLaneClasses,\r\n} from './classes';\r\n\r\nexport interface BookingCalendarLaneProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarLaneClasses {\r\n items: T[];\r\n laneIndex: number;\r\n from: Moment;\r\n till: Moment;\r\n step: Duration;\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n}\r\n\r\nexport function BookingCalendarLane<T extends BookingCalendarItemT>(\r\n props: BookingCalendarLaneProps<T>\r\n) {\r\n const {\r\n className,\r\n items,\r\n laneIndex,\r\n from,\r\n till,\r\n step,\r\n BookingCalendarItem = DefaultBookingCalendarItem,\r\n BookingCalendarRenderItem,\r\n } = props;\r\n const calculatedItems = React.useMemo(\r\n () => (items?.length ? calculateItemsDimensions(items, from, till) : []),\r\n [items, from, till]\r\n );\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarLaneDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n {calculatedItems?.map((item, itemIndex) =>\r\n item.width > 0 ? (\r\n <BookingCalendarItem\r\n BookingCalendarRenderItem={BookingCalendarRenderItem}\r\n key={itemIndex}\r\n itemIndex={itemIndex}\r\n laneIndex={laneIndex}\r\n from={from}\r\n till={till}\r\n step={step}\r\n {...item}\r\n />\r\n ) : null\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './BookingCalendarSelection';
2
+ export * from './classes';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _BookingCalendarSelection = require("./BookingCalendarSelection");
7
+ Object.keys(_BookingCalendarSelection).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _BookingCalendarSelection[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _BookingCalendarSelection[key];
14
+ }
15
+ });
16
+ });
17
+ var _classes = require("./classes");
18
+ Object.keys(_classes).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _classes[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _classes[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_BookingCalendarSelection","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_classes"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarSelection/index.ts"],"sourcesContent":["export * from './BookingCalendarSelection';\nexport * from './classes';\n"],"mappings":";;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,yBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,yBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,yBAAA,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"}
@@ -0,0 +1,2 @@
1
+ export * from './BookingCalendarTimeAxis';
2
+ export * from './classes';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _BookingCalendarTimeAxis = require("./BookingCalendarTimeAxis");
7
+ Object.keys(_BookingCalendarTimeAxis).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _BookingCalendarTimeAxis[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _BookingCalendarTimeAxis[key];
14
+ }
15
+ });
16
+ });
17
+ var _classes = require("./classes");
18
+ Object.keys(_classes).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _classes[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _classes[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_BookingCalendarTimeAxis","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_classes"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarTimeAxis/index.ts"],"sourcesContent":["export * from './BookingCalendarTimeAxis';\nexport * from './classes';\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"}
@@ -1,3 +1,13 @@
1
+ export * from './bookingCalendarControls';
2
+ export * from './bookingCalendarDatePicker';
3
+ export * from './bookingCalendarGrid';
4
+ export * from './bookingCalendarItem';
5
+ export * from './bookingCalendarLane';
6
+ export * from './bookingCalendarLaneHeader';
7
+ export * from './bookingCalendarLanesHeader';
8
+ export * from './bookingCalendarRenderItem';
9
+ export * from './bookingCalendarSelection';
10
+ export * from './bookingCalendarTimeAxis';
1
11
  export * from './BookingCalendar';
2
12
  export * from './common';
3
13
  export * from './classes';
@@ -3,6 +3,116 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _bookingCalendarControls = require("./bookingCalendarControls");
7
+ Object.keys(_bookingCalendarControls).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _bookingCalendarControls[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _bookingCalendarControls[key];
14
+ }
15
+ });
16
+ });
17
+ var _bookingCalendarDatePicker = require("./bookingCalendarDatePicker");
18
+ Object.keys(_bookingCalendarDatePicker).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _bookingCalendarDatePicker[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _bookingCalendarDatePicker[key];
25
+ }
26
+ });
27
+ });
28
+ var _bookingCalendarGrid = require("./bookingCalendarGrid");
29
+ Object.keys(_bookingCalendarGrid).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _bookingCalendarGrid[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _bookingCalendarGrid[key];
36
+ }
37
+ });
38
+ });
39
+ var _bookingCalendarItem = require("./bookingCalendarItem");
40
+ Object.keys(_bookingCalendarItem).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _bookingCalendarItem[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _bookingCalendarItem[key];
47
+ }
48
+ });
49
+ });
50
+ var _bookingCalendarLane = require("./bookingCalendarLane");
51
+ Object.keys(_bookingCalendarLane).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _bookingCalendarLane[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _bookingCalendarLane[key];
58
+ }
59
+ });
60
+ });
61
+ var _bookingCalendarLaneHeader = require("./bookingCalendarLaneHeader");
62
+ Object.keys(_bookingCalendarLaneHeader).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _bookingCalendarLaneHeader[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _bookingCalendarLaneHeader[key];
69
+ }
70
+ });
71
+ });
72
+ var _bookingCalendarLanesHeader = require("./bookingCalendarLanesHeader");
73
+ Object.keys(_bookingCalendarLanesHeader).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _bookingCalendarLanesHeader[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _bookingCalendarLanesHeader[key];
80
+ }
81
+ });
82
+ });
83
+ var _bookingCalendarRenderItem = require("./bookingCalendarRenderItem");
84
+ Object.keys(_bookingCalendarRenderItem).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _bookingCalendarRenderItem[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _bookingCalendarRenderItem[key];
91
+ }
92
+ });
93
+ });
94
+ var _bookingCalendarSelection = require("./bookingCalendarSelection");
95
+ Object.keys(_bookingCalendarSelection).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _bookingCalendarSelection[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _bookingCalendarSelection[key];
102
+ }
103
+ });
104
+ });
105
+ var _bookingCalendarTimeAxis = require("./bookingCalendarTimeAxis");
106
+ Object.keys(_bookingCalendarTimeAxis).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _bookingCalendarTimeAxis[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _bookingCalendarTimeAxis[key];
113
+ }
114
+ });
115
+ });
6
116
  var _BookingCalendar = require("./BookingCalendar");
7
117
  Object.keys(_BookingCalendar).forEach(function (key) {
8
118
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_BookingCalendar","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_common","_classes"],"sources":["../../../src/lib/components/bookingCalendar/index.ts"],"sourcesContent":["export * from './BookingCalendar';\r\nexport * from './common';\r\nexport * from './classes';\r\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,QAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,QAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,QAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_bookingCalendarControls","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_bookingCalendarDatePicker","_bookingCalendarGrid","_bookingCalendarItem","_bookingCalendarLane","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarRenderItem","_bookingCalendarSelection","_bookingCalendarTimeAxis","_BookingCalendar","_common","_classes"],"sources":["../../../src/lib/components/bookingCalendar/index.ts"],"sourcesContent":["export * from './bookingCalendarControls';\r\nexport * from './bookingCalendarDatePicker';\r\nexport * from './bookingCalendarGrid';\r\nexport * from './bookingCalendarItem';\r\nexport * from './bookingCalendarLane';\r\nexport * from './bookingCalendarLaneHeader';\r\nexport * from './bookingCalendarLanesHeader';\r\nexport * from './bookingCalendarRenderItem';\r\nexport * from './bookingCalendarSelection';\r\nexport * from './bookingCalendarTimeAxis';\r\nexport * from './BookingCalendar';\r\nexport * from './common';\r\nexport * from './classes';\r\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ export interface LaneSourceData<T extends BookingCalendarItemT, TLaneData> {
20
20
  export interface LaneData<T extends BookingCalendarItemT, TLaneData> extends LaneSourceData<T, TLaneData> {
21
21
  items: T[];
22
22
  }
23
- export declare function splitBookingsToLanes<T extends BookingCalendarItemT, TLaneData>(bookings: T[], from: Moment, minLanesCount: number, lanesSource?: LaneSourceData<T, TLaneData>[], unmatchedToFront?: boolean): LaneData<T, TLaneData>[];
23
+ export declare function splitBookingsToLanes<T extends BookingCalendarItemT, TLaneData>(bookings: T[], from: Moment, till: Moment, minLanesCount: number, lanesSource?: LaneSourceData<T, TLaneData>[], unmatchedToFront?: boolean): LaneData<T, TLaneData>[];
24
24
  type Picked = Pick<BookingCalendarItemT, 'from' | 'till'>;
25
25
  export declare function itemsOverlap(a: Picked, b: Picked): boolean;
26
26
  export declare const getItemPositionStyle: (marginStart: number, width: number) => import("react").CSSProperties;
@@ -25,9 +25,9 @@ function groupBy(items, iterator) {
25
25
  return obj;
26
26
  }, {});
27
27
  }
28
- function splitBookingsToLanes(bookings, from, minLanesCount) {
29
- let lanesSource = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
30
- let unmatchedToFront = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
28
+ function splitBookingsToLanes(bookings, from, till, minLanesCount) {
29
+ let lanesSource = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
30
+ let unmatchedToFront = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
31
31
  if (!bookings) {
32
32
  return [];
33
33
  }
@@ -107,8 +107,12 @@ function splitBookingsToLanes(bookings, from, minLanesCount) {
107
107
  }
108
108
 
109
109
  for (let index = 0; index < lanes.length; index++) {
110
- const lane = lanes[index];
111
- lanes[index].items = lane.items.sort((a, b) => a.from.valueOf() - b.from.valueOf());
110
+ const laneItems = lanes[index].items;
111
+ const normal = laneItems.filter(a => a.till.valueOf() < till.valueOf());
112
+ normal.sort((a, b) => a.from.valueOf() - b.from.valueOf());
113
+ const atEnd = laneItems.filter(a => a.till.valueOf() >= till.valueOf());
114
+ atEnd.sort((a, b) => a.from.valueOf() - b.from.valueOf());
115
+ lanes[index].items = [...normal, ...atEnd];
112
116
  }
113
117
  if (lanes.length < minLanesCount) {
114
118
  lanes = lanes.concat(new Array(minLanesCount - lanes.length).fill(null).map((_, index) => ({
@@ -167,7 +171,7 @@ function calculateItemsDimensions(items, from, till) {
167
171
  const end = endIsCut ? (endMs - startMs) / widthMs : realEnd;
168
172
  const realTill = endIsCut ? (0, _moment.default)(endMs) : (0, _moment.default)(item.till);
169
173
  const marginStart = start - lastEnd;
170
- lastEnd = (item.till.valueOf() - startMs) / widthMs;
174
+ lastEnd = Math.min((item.till.valueOf() - startMs) / widthMs, 1);
171
175
  return {
172
176
  item,
173
177
  start,