guestbell-forms 3.0.60 → 3.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/bookingCalendar/BookingCalendar.js +4 -4
- package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +2 -2
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
- package/build/dist/report.html +1 -1
- package/package.json +1 -1
- package/src/lib/components/bookingCalendar/BookingCalendar.tsx +16 -4
- package/src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx +4 -4
@@ -98,10 +98,10 @@ function BookingCalendar(props) {
|
|
98
98
|
if (!from || !till || !width || !onRangeChange) {
|
99
99
|
return;
|
100
100
|
}
|
101
|
-
const selectionLeft = Math.min(data.origin[0], data.target[0]);
|
102
|
-
const selectionRight = Math.max(data.origin[0], data.target[0]);
|
103
|
-
const selectionTop = Math.min(data.origin[1], data.target[1]);
|
104
|
-
const selectionBottom = Math.max(data.origin[1], data.target[1]);
|
101
|
+
const selectionLeft = Math.min(data.origin[0] - window.scrollX, data.target[0] - window.scrollX);
|
102
|
+
const selectionRight = Math.max(data.origin[0] - window.scrollX, data.target[0] - window.scrollX);
|
103
|
+
const selectionTop = Math.min(data.origin[1] - window.scrollY, data.target[1] - window.scrollY);
|
104
|
+
const selectionBottom = Math.max(data.origin[1] - window.scrollY, data.target[1] - window.scrollY);
|
105
105
|
const durationMs = till.valueOf() - from.valueOf();
|
106
106
|
const toTimeSpace = num => num / (width || 1) * durationMs;
|
107
107
|
const timeSpaceStart = from.clone().add(toTimeSpace(selectionLeft), 'ms');
|
@@ -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","_bookingCalendarNowSection","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","getMoment","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showHeader","showSelection","showNowSection","alwaysShowNowSections","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","BookingCalendarNowSection","DefaultBookingCalendarNowSection","bookingCalendarTopLeftHeader","filteringButton","headersClickEnabled","onHeaderClick","children","showTimeAxis","Boolean","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","firstDataRowIndex","createElement","classNames","bookingCalendarDefaultClasses","ref","bookingCalendarDatePicker","Fragment","dataRowsCount","undefined","alwaysShowSections","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\nimport {\r\n BookingCalendarNowSectionProps,\r\n BookingCalendarNowSection as DefaultBookingCalendarNowSection,\r\n} from './bookingCalendarNowSection';\r\n\r\nexport interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>\r\n extends BookingCalendarClasses {\r\n getMoment?: () => Moment;\r\n\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 showTimeAxis?: boolean;\r\n showNowSection?: boolean;\r\n alwaysShowNowSections?: boolean;\r\n\r\n headersClickEnabled?: boolean;\r\n onHeaderClick?: (range: BookingCalendarDateRange) => void;\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 BookingCalendarNowSection?: React.ComponentType<BookingCalendarNowSectionProps>;\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 getMoment = () => moment(),\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 showNowSection = true,\r\n alwaysShowNowSections = false,\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 BookingCalendarNowSection = DefaultBookingCalendarNowSection,\r\n bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n headersClickEnabled = true,\r\n onHeaderClick,\r\n children,\r\n } = props;\r\n const {\r\n showTimeAxis = Boolean(bookings?.length) || Boolean(lanesSource?.length),\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 const firstDataRowIndex = showHeader ? 2 : 1;\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 getMoment={getMoment}\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 firstDataRowIndex={firstDataRowIndex}\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n containerRef={showHeader ? undefined : observe}\r\n />\r\n )}\r\n {showNowSection && (\r\n <BookingCalendarNowSection\r\n firstDataRowIndex={firstDataRowIndex}\r\n from={from}\r\n till={till}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n alwaysShowSections={alwaysShowNowSections}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n firstDataRowIndex={firstDataRowIndex}\r\n dataRowsCount={lanes.length + (showTimeAxis ? 1 : 0)}\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={\r\n headersClickEnabled\r\n ? onHeaderClick ?? onRangeChange\r\n : undefined\r\n }\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 {showTimeAxis && (\r\n <div ref={showGrid || showGrid ? undefined : observe}>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n )}\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","_bookingCalendarNowSection","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","getMoment","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showHeader","showSelection","showNowSection","alwaysShowNowSections","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","BookingCalendarNowSection","DefaultBookingCalendarNowSection","bookingCalendarTopLeftHeader","filteringButton","headersClickEnabled","onHeaderClick","children","showTimeAxis","Boolean","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","window","scrollX","selectionRight","max","selectionTop","scrollY","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","firstDataRowIndex","createElement","classNames","bookingCalendarDefaultClasses","ref","bookingCalendarDatePicker","Fragment","dataRowsCount","undefined","alwaysShowSections","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\nimport {\r\n BookingCalendarNowSectionProps,\r\n BookingCalendarNowSection as DefaultBookingCalendarNowSection,\r\n} from './bookingCalendarNowSection';\r\n\r\nexport interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>\r\n extends BookingCalendarClasses {\r\n getMoment?: () => Moment;\r\n\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 showTimeAxis?: boolean;\r\n showNowSection?: boolean;\r\n alwaysShowNowSections?: boolean;\r\n\r\n headersClickEnabled?: boolean;\r\n onHeaderClick?: (range: BookingCalendarDateRange) => void;\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 BookingCalendarNowSection?: React.ComponentType<BookingCalendarNowSectionProps>;\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 getMoment = () => moment(),\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 showNowSection = true,\r\n alwaysShowNowSections = false,\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 BookingCalendarNowSection = DefaultBookingCalendarNowSection,\r\n bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n headersClickEnabled = true,\r\n onHeaderClick,\r\n children,\r\n } = props;\r\n const {\r\n showTimeAxis = Boolean(bookings?.length) || Boolean(lanesSource?.length),\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(\r\n data.origin[0] - window.scrollX,\r\n data.target[0] - window.scrollX\r\n );\r\n const selectionRight = Math.max(\r\n data.origin[0] - window.scrollX,\r\n data.target[0] - window.scrollX\r\n );\r\n const selectionTop = Math.min(\r\n data.origin[1] - window.scrollY,\r\n data.target[1] - window.scrollY\r\n );\r\n const selectionBottom = Math.max(\r\n data.origin[1] - window.scrollY,\r\n data.target[1] - window.scrollY\r\n );\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 const firstDataRowIndex = showHeader ? 2 : 1;\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 getMoment={getMoment}\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 firstDataRowIndex={firstDataRowIndex}\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n containerRef={showHeader ? undefined : observe}\r\n />\r\n )}\r\n {showNowSection && (\r\n <BookingCalendarNowSection\r\n firstDataRowIndex={firstDataRowIndex}\r\n from={from}\r\n till={till}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n alwaysShowSections={alwaysShowNowSections}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n firstDataRowIndex={firstDataRowIndex}\r\n dataRowsCount={lanes.length + (showTimeAxis ? 1 : 0)}\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={\r\n headersClickEnabled\r\n ? onHeaderClick ?? onRangeChange\r\n : undefined\r\n }\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 {showTimeAxis && (\r\n <div ref={showGrid || showGrid ? undefined : observe}>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n {children}\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAUA,IAAAK,wBAAA,GAAAL,OAAA;AAIA,IAAAM,MAAA,GAAAN,OAAA;AAKA,IAAAO,oBAAA,GAAAP,OAAA;AAIA,IAAAQ,OAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AAKA,IAAAU,oBAAA,GAAAV,OAAA;AAIA,IAAAW,0BAAA,GAAAX,OAAA;AAIA,IAAAY,2BAAA,GAAAZ,OAAA;AAKA,IAAAa,0BAAA,GAAAb,OAAA;AAIA,IAAAc,wBAAA,GAAAd,OAAA;AACA,IAAAe,oBAAA,GAAAZ,sBAAA,CAAAH,OAAA;AACA,IAAAgB,yBAAA,GAAAb,sBAAA,CAAAH,OAAA;AAGA,IAAAiB,oBAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AACA,IAAAmB,0BAAA,GAAAnB,OAAA;AAGqC,SAAAG,uBAAAiB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAzB,wBAAAqB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAkErC,MAAMI,WAAW,GAAGC,eAAM,CAACC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;AAEtC,SAASC,eAAeA,CAC7BC,KAAyC,EACzC;EAAA,IAAAC,aAAA;EACA,MAAM;IACJC,SAAS,GAAGA,CAAA,KAAM,IAAAL,eAAM,EAAC,CAAC;IAC1BM,QAAQ;IACRC,SAAS;IACTC,sBAAsB;IACtBC,4BAA4B;IAC5BC,6BAA6B;IAC7BC,mCAAmC;IACnCC,eAAe;IACfC,cAAc;IACdC,IAAI;IACJC,IAAI;IACJC,aAAa;IACbC,IAAI,GAAGlB,WAAW;IAClBmB,QAAQ,GAAG,IAAI;IACfC,UAAU,GAAG,IAAI;IACjBC,aAAa,GAAG,IAAI;IACpBC,cAAc,GAAG,IAAI;IACrBC,qBAAqB,GAAG,KAAK;IAC7BC,WAAW;IACXC,gBAAgB,GAAG,EAAE;IACrBC,gBAAgB;IAChBC,iBAAiB,GAAG,IAAI;IACxBC,kBAAkB,GAAGC,iCAAyB;IAC9CC,uBAAuB,GAAGC,sCAA8B;IACxDC,oBAAoB,GAAGC,mCAA2B;IAClDC,eAAe,GAAG,EAAE;IACpBC,aAAa;IACbC,WAAW;IACXC,qBAAqB,GAAG,IAAI;IAC5BC,oBAAoB;IACpBC,UAAU;IACVC,uBAAuB,GAAGC,gDAA8B;IACxDC,mBAAmB;IACnBC,mBAAmB,GAAGC,wCAA0B;IAChDC,yBAAyB;IACzBC,mBAAmB,GAAGC,wCAA0B;IAChDC,yBAAyB,GAAGC,oDAAgC;IAC5DC,0BAA0B,GAAGC,sDAAiC;IAC9DC,yBAAyB,GAAGC,oDAAgC;IAC5DC,yBAAyB,GAAGC,oDAAgC;IAC5DC,4BAA4B;IAC5BC,eAAe;IACfC,mBAAmB,GAAG,IAAI;IAC1BC,aAAa;IACbC;EACF,CAAC,GAAGxD,KAAK;EACT,MAAM;IACJyD,YAAY,GAAGC,OAAO,CAACvD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEV,MAAM,CAAC,IAAIiE,OAAO,CAAC1B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEvC,MAAM;EACzE,CAAC,GAAGO,KAAK;EACT,MAAM2D,KAAK,GAAGpH,KAAK,CAACqH,OAAO,CACzB,MACE,IAAAC,2BAAoB,EAClB1D,QAAQ,EACRQ,IAAI,EACJC,IAAI,EACJmB,aAAa,EACbC,WAAW,EACXC,qBACF,CAAC,EACH,CAAC9B,QAAQ,EAAEQ,IAAI,EAAEC,IAAI,EAAEmB,aAAa,EAAEC,WAAW,EAAEC,qBAAqB,CAC1E,CAAC;EACD,MAAM;IAAE6B,OAAO;IAAEC;EAAM,CAAC,GAAG,IAAAC,4BAAa,EAAiB,CAAC;EAC1D,MAAMC,KAAK,GAAG,CAAAF,KAAK,aAALA,KAAK,wBAAA9D,aAAA,GAAL8D,KAAK,CAAEzE,MAAM,cAAAW,aAAA,uBAAbA,aAAA,CAAeiE,WAAW,KAAI,CAAC;EAC7C,MAAM;IAAEC,KAAK,EAAEC,SAAS;IAAEC;EAAS,CAAC,GAAG9H,KAAK,CAACqH,OAAO,CAClD;IAAA,IAAAU,WAAA;IAAA,OACE,IAAAC,wBAAiB,EACf5D,IAAI,EACJC,IAAI,EACJE,IAAI,EACJmD,KAAK,EACLzC,kBAAkB,EAClBM,eAAe,EACfnB,IAAI,aAAJA,IAAI,wBAAA2D,WAAA,GAAJ3D,IAAI,CAAE6D,KAAK,CAAC,CAAC,cAAAF,WAAA,uBAAbA,WAAA,CAAeG,OAAO,CAAC,KAAK,CAC9B,CAAC;EAAA,GACH,CAAC9D,IAAI,EAAEC,IAAI,EAAEE,IAAI,EAAEmD,KAAK,EAAEzC,kBAAkB,EAAEM,eAAe,CAC/D,CAAC;EACD,MAAM4C,YAAY,GAAGnI,KAAK,CAACoI,MAAM,CAAiB,CAAC;EACnD,MAAMC,UAAU,GAAGrI,KAAK,CAACsI,WAAW,CAClC,CAACC,IAAkC,EAAEC,CAAgC,KAAK;IACxE,IAAI,CAACpE,IAAI,IAAI,CAACC,IAAI,IAAI,CAACqD,KAAK,IAAI,CAACpD,aAAa,EAAE;MAC9C;IACF;IACA,MAAMmE,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC5BJ,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,GAAGC,MAAM,CAACC,OAAO,EAC/BP,IAAI,CAACxF,MAAM,CAAC,CAAC,CAAC,GAAG8F,MAAM,CAACC,OAC1B,CAAC;IACD,MAAMC,cAAc,GAAGL,IAAI,CAACM,GAAG,CAC7BT,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,GAAGC,MAAM,CAACC,OAAO,EAC/BP,IAAI,CAACxF,MAAM,CAAC,CAAC,CAAC,GAAG8F,MAAM,CAACC,OAC1B,CAAC;IACD,MAAMG,YAAY,GAAGP,IAAI,CAACC,GAAG,CAC3BJ,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,GAAGC,MAAM,CAACK,OAAO,EAC/BX,IAAI,CAACxF,MAAM,CAAC,CAAC,CAAC,GAAG8F,MAAM,CAACK,OAC1B,CAAC;IACD,MAAMC,eAAe,GAAGT,IAAI,CAACM,GAAG,CAC9BT,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,GAAGC,MAAM,CAACK,OAAO,EAC/BX,IAAI,CAACxF,MAAM,CAAC,CAAC,CAAC,GAAG8F,MAAM,CAACK,OAC1B,CAAC;IACD,MAAME,UAAU,GAAG/E,IAAI,CAACgF,OAAO,CAAC,CAAC,GAAGjF,IAAI,CAACiF,OAAO,CAAC,CAAC;IAClD,MAAMC,WAAW,GAAIC,GAAW,IAAMA,GAAG,IAAI7B,KAAK,IAAI,CAAC,CAAC,GAAI0B,UAAU;IACtE,MAAMI,cAAc,GAAGpF,IAAI,CAAC6D,KAAK,CAAC,CAAC,CAACwB,GAAG,CAACH,WAAW,CAACb,aAAa,CAAC,EAAE,IAAI,CAAC;IACzE,MAAMiB,YAAY,GAAGtF,IAAI,CAAC6D,KAAK,CAAC,CAAC,CAACwB,GAAG,CAACH,WAAW,CAACP,cAAc,CAAC,EAAE,IAAI,CAAC;IACxE,IAAIlE,WAAW,EAAE;MAAA,IAAA8E,qBAAA,EAAAC,sBAAA;MACf,MAAMC,YAAY,GAAI,IAAGC,sDAAiC,CAACjG,SAAU,SAAQkG,oEAAwC,CAACC,aAAc,QAAOC,sDAAiC,CAACpG,SAAU,EAAC;MACxL,MAAMqG,QAAQ,GAAGC,KAAK,CAAC/F,IAAI,CACzB+D,YAAY,aAAZA,YAAY,wBAAAwB,qBAAA,GAAZxB,YAAY,CAAEiC,OAAO,cAAAT,qBAAA,uBAArBA,qBAAA,CAAuBU,gBAAgB,CAACR,YAAY,CACtD,CAAC;MACD,MAAMS,eAAe,GAAGnC,YAAY,aAAZA,YAAY,wBAAAyB,sBAAA,GAAZzB,YAAY,CAAEiC,OAAO,cAAAR,sBAAA,uBAArBA,sBAAA,CACpBW,aAAa,CAAE,IAAGC,gDAAsC,CAACC,IAAK,EAAC,CAAC,CACjEC,qBAAqB,CAAC,CAAC;MAC1B,MAAMC,aAAa,GAAGT,QAAQ,CAACU,MAAM,CAAEC,IAAI,IAAK;QAC9C,MAAMC,MAAM,GAAGD,IAAI,CAACH,qBAAqB,CAAC,CAAC;QAC3C,MAAMK,QAAQ,GAAGD,MAAM,CAACE,IAAI,GAAGV,eAAe,CAACU,IAAI;QACnD,MAAMC,OAAO,GAAGH,MAAM,CAACI,GAAG,GAAGZ,eAAe,CAACY,GAAG;QAChD,MAAMC,SAAS,GAAGL,MAAM,CAACM,KAAK,GAAGd,eAAe,CAACU,IAAI;QACrD,MAAMK,UAAU,GAAGP,MAAM,CAACQ,MAAM,GAAGhB,eAAe,CAACY,GAAG;QACtD;QACA,OACEH,QAAQ,GAAGhC,cAAc,IACzBoC,SAAS,GAAG1C,aAAa,IACzBwC,OAAO,GAAG9B,eAAe,IACzBkC,UAAU,GAAGpC,YAAY;MAE7B,CAAC,CAAC;MACF,MAAMsC,WAAW,GAAGZ,aAAa,CAACa,GAAG,CAAEX,IAAI,IACzCA,IAAI,CAACY,YAAY,CAAC,SAAS,CAC7B,CAAC;MACD5G,WAAW,CACTjB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgH,MAAM,CAAEc,CAAC;QAAA,IAAAC,KAAA;QAAA,OAAKJ,WAAW,CAACK,QAAQ,EAAAD,KAAA,GAACD,CAAC,CAACG,EAAE,cAAAF,KAAA,uBAAJA,KAAA,CAAMG,QAAQ,CAAC,CAAC,CAAC;MAAA,EAAC,EAC/DtC,cAAc,EACdE,YAAY,EACZlB,CACF,CAAC;IACH;EACF,CAAC,EACD,CACEpE,IAAI,EACJC,IAAI,EACJqD,KAAK,EACLpD,aAAa,EACbO,WAAW,EACXA,WAAW,GAAGjB,QAAQ,GAAG,IAAI,CAEjC,CAAC;EACD,MAAMmI,iBAAiB,GAAGtH,UAAU,GAAG,CAAC,GAAG,CAAC;EAC5C,oBACEzE,KAAA,CAAAgM,aAAA;IACEnI,SAAS,EAAE,IAAAoI,mBAAU,EAACC,sCAA6B,CAACrI,SAAS,EAAEA,SAAS,CAAE;IAC1EsI,GAAG,EAAEhE;EAAa,gBAElBnI,KAAA,CAAAgM,aAAA,CAACnG,uBAAuB,EAAAjD,QAAA,KAClBsB,eAAe;IACnBP,SAAS,EAAEA,SAAU;IACrBiE,KAAK,EAAEhE,QAAS;IAChBQ,IAAI,EAAEA,IAAK;IACXC,IAAI,EAAEA,IAAK;IACXC,aAAa,EAAEA,aAAc;IAC7BC,IAAI,EAAEA,IAAK;IACXoB,oBAAoB,EAAEA,oBAAqB;IAC3CC,UAAU,EAAEA,UAAW;IACvBkB,eAAe,EAAEA,eAAgB;IACjC9B,iBAAiB,EAAEA,iBAAkB;IACrCoH,yBAAyB,eACvBpM,KAAA,CAAAgM,aAAA,CAAAhM,KAAA,CAAAqM,QAAA,QACG,OAAO5F,yBAAyB,KAAK,UAAU,gBAC9CzG,KAAA,CAAAgM,aAAA,CAACvF,yBAAyB;MACxBrC,IAAI,EAAEA,IAAK;MACXC,IAAI,EAAEA,IAAK;MACXC,aAAa,EAAEA,aAAc;MAC7Be,oBAAoB,EAAEA;IAAqB,CAC5C,CAAC,GAEFoB,yBAEF;EACH,EACF,CAAC,eACFzG,KAAA,CAAAgM,aAAA;IACEnI,SAAS,EAAE,IAAAoI,mBAAU,EACnBC,sCAA6B,CAAC/H,cAAc,EAC5CA,cACF;EAAE,GAEDK,QAAQ,iBACPxE,KAAA,CAAAgM,aAAA,CAAC7F,mBAAmB;IAClB4F,iBAAiB,EAAEA,iBAAkB;IACrCnE,KAAK,EAAEC,SAAU;IACjByE,aAAa,EAAElF,KAAK,CAAClE,MAAO;IAC5BwE,KAAK,EAAEA,KAAM;IACbS,YAAY,EAAE1D,UAAU,GAAG8H,SAAS,GAAGhF;EAAQ,CAChD,CACF,EACA5C,cAAc,iBACb3E,KAAA,CAAAgM,aAAA,CAACrF,yBAAyB;IACxBoF,iBAAiB,EAAEA,iBAAkB;IACrC3H,IAAI,EAAEA,IAAK;IACXC,IAAI,EAAEA,IAAK;IACXiI,aAAa,EAAElF,KAAK,CAAClE,MAAO;IAC5BwE,KAAK,EAAEA,KAAM;IACb8E,kBAAkB,EAAE5H;EAAsB,CAC3C,CACF,EACAF,aAAa,iBACZ1E,KAAA,CAAAgM,aAAA,CAAC9K,yBAAA,CAAAM,OAAwB;IACvBuK,iBAAiB,EAAEA,iBAAkB;IACrCO,aAAa,EAAElF,KAAK,CAAClE,MAAM,IAAIgE,YAAY,GAAG,CAAC,GAAG,CAAC,CAAE;IACrDmB,UAAU,EAAEA,UAAW;IACvBvD,gBAAgB,EAAEA;EAAiB,GAElCC,gBACuB,CAC3B,EACAN,UAAU,iBACTzE,KAAA,CAAAgM,aAAA,CAAAhM,KAAA,CAAAqM,QAAA,qBACErM,KAAA,CAAAgM,aAAA;IACEnI,SAAS,EAAE,IAAAoI,mBAAU,EACnBC,sCAA6B,CAACjI,mCAAmC,EACjEA,mCACF;EAAE,GAED4C,4BACE,CAAC,eACN7G,KAAA,CAAAgM,aAAA;IACEnI,SAAS,EAAE,IAAAoI,mBAAU,EACnBC,sCAA6B,CAAClI,6BAA6B,EAC3DA,6BACF,CAAE;IACFmI,GAAG,EAAE5E;EAAQ,gBAEbvH,KAAA,CAAAgM,aAAA,CAACzF,0BAA0B,EAAA3D,QAAA,KACrBsB,eAAe;IACnBE,IAAI,EAAEA,IAAK;IACXC,IAAI,EAAEA,IAAK;IACXC,aAAa,EACXyC,mBAAmB,GACfC,aAAa,IAAI1C,aAAa,GAC9BiI,SACL;IACDhI,IAAI,EAAEA;EAAK,EACZ,CACE,CACL,CACH,EAEA6C,KAAK,CAACoE,GAAG,CAAC,CAACiB,IAAI,EAAEC,SAAS,KAAK;IAC9B,MAAMC,6BAA6B,GACjCF,IAAI,CAACpG,yBAAyB,IAAIA,yBAAyB;IAC7D,MAAMuG,uBAAuB,GAC3BH,IAAI,CAACzG,mBAAmB,IAAIA,mBAAmB;IACjD,oBACEhG,KAAA,CAAAgM,aAAA,CAAChM,KAAK,CAACqM,QAAQ;MAAC/J,GAAG,EAAEoK;IAAU,gBAC7B1M,KAAA,CAAAgM,aAAA;MACEnI,SAAS,EAAE,IAAAoI,mBAAU,EACnBC,sCAA6B,CAACnI,4BAA4B,EAC1DA,4BAA4B,EAC5B0I,IAAI,CAACI,YAAY,EACjB;QACE,CAAE,GAAEX,sCAA6B,CAACnI,4BAA6B,QAAO,GACpE2I,SAAS,KAAKtF,KAAK,CAAClE,MAAM,GAAG,CAAC;QAChC,CAAE,GAAEgJ,sCAA6B,CAACnI,4BAA6B,SAAQ,GACrE2I,SAAS,KAAK;MAClB,CACF;IAAE,gBAEF1M,KAAA,CAAAgM,aAAA,CAACW,6BAA6B;MAC5BG,OAAO,EAAEL,IAAI,CAACK,OAAO,IAAIJ,SAAU;MACnCnE,IAAI,EAAEkE,IAAI,CAAClE;IAAK,CACjB,CACE,CAAC,eACNvI,KAAA,CAAAgM,aAAA;MACEnI,SAAS,EAAE,IAAAoI,mBAAU,EACnBC,sCAA6B,CAACpI,sBAAsB,EACpDA,sBAAsB,EACtB2I,IAAI,CAACI,YAAY,EACjB;QACE,CAAE,GAAEX,sCAA6B,CAACpI,sBAAuB,QAAO,GAC9D4I,SAAS,KAAKtF,KAAK,CAAClE,MAAM,GAAG,CAAC;QAChC,CAAE,GAAEgJ,sCAA6B,CAACpI,sBAAuB,SAAQ,GAC/D4I,SAAS,KAAK;MAClB,CACF;IAAE,gBAEF1M,KAAA,CAAAgM,aAAA,CAACY,uBAAuB;MACtBF,SAAS,EAAEA,SAAU;MACrB9E,KAAK,EAAE6E,IAAI,CAAC7E,KAAM;MAClBxD,IAAI,EAAEA,IAAK;MACXC,IAAI,EAAEA,IAAK;MACX0B,mBAAmB,EACjB0G,IAAI,CAAC1G,mBAAmB,IAAIA,mBAC7B;MACDG,yBAAyB,EACvBuG,IAAI,CAACvG,yBAAyB,IAAIA,yBACnC;MACD3B,IAAI,EAAEA;IAAK,CACZ,CACE,CACS,CAAC;EAErB,CAAC,CAAC,eACFvE,KAAA,CAAAgM,aAAA,YAAM,CAAC,EACN9E,YAAY,iBACXlH,KAAA,CAAAgM,aAAA;IAAKG,GAAG,EAAE3H,QAAQ,IAAIA,QAAQ,GAAG+H,SAAS,GAAGhF;EAAQ,gBACnDvH,KAAA,CAAAgM,aAAA,CAAChL,wBAAA,CAAA+L,uBAAuB;IACtBnF,KAAK,EAAEC,SAAU;IACjBC,QAAQ,EAAEA,QAAS;IACnB3C,uBAAuB,EAAEA;EAAwB,CAClD,CACE,CAEJ,CAAC,EACL8B,QACE,CAAC;AAEV"}
|
package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js
CHANGED
@@ -125,8 +125,8 @@ class BookingCalendarSelection extends React.Component {
|
|
125
125
|
render() {
|
126
126
|
const baseStyle = {
|
127
127
|
zIndex: 10,
|
128
|
-
left: Math.min(this.state.selectionBoxOrigin[0], this.state.selectionBoxTarget[0]),
|
129
|
-
top: Math.min(this.state.selectionBoxOrigin[1], this.state.selectionBoxTarget[1]),
|
128
|
+
left: Math.min(this.state.selectionBoxOrigin[0] - window.scrollX, this.state.selectionBoxTarget[0] - window.scrollX),
|
129
|
+
top: Math.min(this.state.selectionBoxOrigin[1] - window.scrollY, this.state.selectionBoxTarget[1] - window.scrollY),
|
130
130
|
height: Math.abs(this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1] - 1),
|
131
131
|
width: Math.abs(this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0] - 1),
|
132
132
|
userSelect: 'none'
|
package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BookingCalendarSelection.js","names":["React","_interopRequireWildcard","require","_classes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","BookingCalendarSelection","Component","constructor","props","animationInProgress","containerRef","createRef","state","hold","selectionBox","selectionBoxOrigin","selectionBoxTarget","animation","handleMouseUp","bind","handleMouseDown","handleMouseMove","handleMouseLeave","handleTransformBox","evt","_this$props$onSelecte","_this$props","distance","Math","sqrt","pow","setState","setTimeout","minSelectionSize","onSelected","origin","target","e","_this$containerRef$cu","disabled","nativeEvent","button","clearTimeout","bb","current","getBoundingClientRect","pageX","x","pageY","y","_this$containerRef$cu2","_this$props$onSelecti","_this$props2","onSelecting","render","baseStyle","zIndex","left","min","top","height","abs","width","userSelect","boxVisible","createElement","ref","className","bookingCalendarSelectionDefaultClasses","root","style","undefined","gridRowEnd","dataRowsCount","gridRowStart","firstDataRowIndex","onMouseDown","onMouseUp","onMouseMove","onMouseLeave","selection","children","exports"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { bookingCalendarSelectionDefaultClasses } from './classes';\r\n\r\nexport type BookingCalendarSelectionCoordinates = [number, number];\r\nexport interface BookingCalendarSelectionData {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n}\r\nexport interface BookingCalendarSelectionProps {\r\n disabled?: boolean;\r\n onSelecting?: (data: {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n }) => void;\r\n onSelected?: (\r\n data: {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n },\r\n e: React.MouseEvent<HTMLElement>\r\n ) => void;\r\n dataRowsCount: number;\r\n firstDataRowIndex: number;\r\n minSelectionSize: number;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport interface BookingCalendarSelectionState {\r\n selectionBoxOrigin: BookingCalendarSelectionCoordinates;\r\n selectionBoxTarget: BookingCalendarSelectionCoordinates;\r\n hold: boolean;\r\n animation: string;\r\n selectionBox: boolean;\r\n}\r\n\r\nexport default class BookingCalendarSelection extends React.Component<\r\n BookingCalendarSelectionProps,\r\n BookingCalendarSelectionState\r\n> {\r\n private animationInProgress: number;\r\n private containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.animationInProgress = null;\r\n this.containerRef = React.createRef();\r\n this.state = {\r\n hold: false,\r\n selectionBox: false,\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n animation: '',\r\n };\r\n this.handleMouseUp = this.handleMouseUp.bind(this);\r\n this.handleMouseDown = this.handleMouseDown.bind(this);\r\n this.handleMouseMove = this.handleMouseMove.bind(this);\r\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\r\n }\r\n\r\n handleTransformBox() {\r\n const { selectionBoxOrigin, selectionBoxTarget } = this.state;\r\n if (\r\n selectionBoxOrigin[1] > selectionBoxTarget[1] &&\r\n selectionBoxOrigin[0] > selectionBoxTarget[0]\r\n ) {\r\n return 'scaleY(-1) scaleX(-1)';\r\n }\r\n\r\n if (selectionBoxOrigin[1] > selectionBoxTarget[1]) {\r\n return 'scaleY(-1)';\r\n }\r\n if (selectionBoxOrigin[0] > selectionBoxTarget[0]) {\r\n return 'scaleX(-1)';\r\n }\r\n return null;\r\n }\r\n\r\n handleMouseLeave(evt: React.MouseEvent<HTMLElement>) {\r\n /*if (this.state.hold) {\r\n this.setState({\r\n hold: false,\r\n animation: 'bookingCalendar__selection--fadeout',\r\n });\r\n this.animationInProgress = (setTimeout(() => {\r\n this.setState({\r\n selectionBox: false,\r\n animation: '',\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n });\r\n this.animationInProgress = null;\r\n }, 300) as unknown) as number;\r\n }*/\r\n }\r\n\r\n handleMouseUp(evt: React.MouseEvent<HTMLElement>) {\r\n if (this.state.hold) {\r\n const distance = Math.sqrt(\r\n Math.pow(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1],\r\n 2\r\n ) +\r\n Math.pow(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0],\r\n 2\r\n )\r\n );\r\n this.setState({\r\n hold: false,\r\n animation: 'bookingCalendar__selection--fadeout',\r\n });\r\n this.animationInProgress = setTimeout(() => {\r\n this.setState({\r\n selectionBox: false,\r\n animation: '',\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n });\r\n this.animationInProgress = null;\r\n }, 300) as unknown as number;\r\n if (distance < this.props.minSelectionSize) {\r\n return;\r\n }\r\n this.props.onSelected?.(\r\n {\r\n origin: this.state.selectionBoxOrigin,\r\n target: this.state.selectionBoxTarget,\r\n },\r\n evt\r\n );\r\n }\r\n }\r\n\r\n handleMouseDown(e: React.MouseEvent<HTMLDivElement>) {\r\n if (this.props.disabled || e.nativeEvent.button !== 0) {\r\n return;\r\n }\r\n clearTimeout(this.animationInProgress);\r\n this.animationInProgress = null;\r\n this.setState({ selectionBox: false, animation: '' });\r\n\r\n const bb = this.containerRef.current?.getBoundingClientRect();\r\n this.setState({\r\n hold: true,\r\n selectionBoxOrigin: [\r\n e.nativeEvent.pageX - bb.x,\r\n e.nativeEvent.pageY - bb.y,\r\n ],\r\n selectionBoxTarget: [\r\n e.nativeEvent.pageX - bb.x,\r\n e.nativeEvent.pageY - bb.y,\r\n ],\r\n });\r\n }\r\n\r\n private handleMouseMove(evt: React.MouseEvent<HTMLDivElement>) {\r\n if (this.state.hold && !this.state.selectionBox) {\r\n this.setState({ selectionBox: true });\r\n }\r\n if (this.state.selectionBox && !this.animationInProgress) {\r\n const bb = this.containerRef.current?.getBoundingClientRect();\r\n this.setState({\r\n selectionBoxTarget: [\r\n evt.nativeEvent.pageX - bb?.x,\r\n evt.nativeEvent.pageY - bb?.y,\r\n ],\r\n });\r\n\r\n this.props.onSelecting?.({\r\n origin: this.state.selectionBoxOrigin,\r\n target: this.state.selectionBoxTarget,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const baseStyle: React.CSSProperties = {\r\n zIndex: 10,\r\n left: Math.min(\r\n this.state.selectionBoxOrigin[0],\r\n this.state.selectionBoxTarget[0]\r\n ),\r\n top: Math.min(\r\n this.state.selectionBoxOrigin[1],\r\n this.state.selectionBoxTarget[1]\r\n ),\r\n height: Math.abs(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1] - 1\r\n ),\r\n width: Math.abs(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0] - 1\r\n ),\r\n userSelect: 'none',\r\n // transformOrigin: 'top left',\r\n // transform: this.handleTransformBox(),\r\n };\r\n const boxVisible =\r\n Math.sqrt(\r\n Math.pow(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1],\r\n 2\r\n ) +\r\n Math.pow(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0],\r\n 2\r\n )\r\n ) > this.props.minSelectionSize;\r\n return (\r\n <div\r\n ref={this.containerRef}\r\n className={bookingCalendarSelectionDefaultClasses.root}\r\n style={{\r\n zIndex: this.state.selectionBox ? 99999 : undefined,\r\n gridRowEnd: `span ${this.props.dataRowsCount}`,\r\n gridRowStart: this.props.firstDataRowIndex,\r\n }}\r\n onMouseDown={this.handleMouseDown}\r\n onMouseUp={this.handleMouseUp}\r\n onMouseMove={this.handleMouseMove}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n {boxVisible && this.state.selectionBox && (\r\n <div\r\n className={`${bookingCalendarSelectionDefaultClasses.selection} ${this.state.animation}`}\r\n style={baseStyle}\r\n >\r\n {this.props.children}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"BookingCalendarSelection.js","names":["React","_interopRequireWildcard","require","_classes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","BookingCalendarSelection","Component","constructor","props","animationInProgress","containerRef","createRef","state","hold","selectionBox","selectionBoxOrigin","selectionBoxTarget","animation","handleMouseUp","bind","handleMouseDown","handleMouseMove","handleMouseLeave","handleTransformBox","evt","_this$props$onSelecte","_this$props","distance","Math","sqrt","pow","setState","setTimeout","minSelectionSize","onSelected","origin","target","e","_this$containerRef$cu","disabled","nativeEvent","button","clearTimeout","bb","current","getBoundingClientRect","pageX","x","pageY","y","_this$containerRef$cu2","_this$props$onSelecti","_this$props2","onSelecting","render","baseStyle","zIndex","left","min","window","scrollX","top","scrollY","height","abs","width","userSelect","boxVisible","createElement","ref","className","bookingCalendarSelectionDefaultClasses","root","style","undefined","gridRowEnd","dataRowsCount","gridRowStart","firstDataRowIndex","onMouseDown","onMouseUp","onMouseMove","onMouseLeave","selection","children","exports"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { bookingCalendarSelectionDefaultClasses } from './classes';\r\n\r\nexport type BookingCalendarSelectionCoordinates = [number, number];\r\nexport interface BookingCalendarSelectionData {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n}\r\nexport interface BookingCalendarSelectionProps {\r\n disabled?: boolean;\r\n onSelecting?: (data: {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n }) => void;\r\n onSelected?: (\r\n data: {\r\n origin: BookingCalendarSelectionCoordinates;\r\n target: BookingCalendarSelectionCoordinates;\r\n },\r\n e: React.MouseEvent<HTMLElement>\r\n ) => void;\r\n dataRowsCount: number;\r\n firstDataRowIndex: number;\r\n minSelectionSize: number;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport interface BookingCalendarSelectionState {\r\n selectionBoxOrigin: BookingCalendarSelectionCoordinates;\r\n selectionBoxTarget: BookingCalendarSelectionCoordinates;\r\n hold: boolean;\r\n animation: string;\r\n selectionBox: boolean;\r\n}\r\n\r\nexport default class BookingCalendarSelection extends React.Component<\r\n BookingCalendarSelectionProps,\r\n BookingCalendarSelectionState\r\n> {\r\n private animationInProgress: number;\r\n private containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.animationInProgress = null;\r\n this.containerRef = React.createRef();\r\n this.state = {\r\n hold: false,\r\n selectionBox: false,\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n animation: '',\r\n };\r\n this.handleMouseUp = this.handleMouseUp.bind(this);\r\n this.handleMouseDown = this.handleMouseDown.bind(this);\r\n this.handleMouseMove = this.handleMouseMove.bind(this);\r\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\r\n }\r\n\r\n handleTransformBox() {\r\n const { selectionBoxOrigin, selectionBoxTarget } = this.state;\r\n if (\r\n selectionBoxOrigin[1] > selectionBoxTarget[1] &&\r\n selectionBoxOrigin[0] > selectionBoxTarget[0]\r\n ) {\r\n return 'scaleY(-1) scaleX(-1)';\r\n }\r\n\r\n if (selectionBoxOrigin[1] > selectionBoxTarget[1]) {\r\n return 'scaleY(-1)';\r\n }\r\n if (selectionBoxOrigin[0] > selectionBoxTarget[0]) {\r\n return 'scaleX(-1)';\r\n }\r\n return null;\r\n }\r\n\r\n handleMouseLeave(evt: React.MouseEvent<HTMLElement>) {\r\n /*if (this.state.hold) {\r\n this.setState({\r\n hold: false,\r\n animation: 'bookingCalendar__selection--fadeout',\r\n });\r\n this.animationInProgress = (setTimeout(() => {\r\n this.setState({\r\n selectionBox: false,\r\n animation: '',\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n });\r\n this.animationInProgress = null;\r\n }, 300) as unknown) as number;\r\n }*/\r\n }\r\n\r\n handleMouseUp(evt: React.MouseEvent<HTMLElement>) {\r\n if (this.state.hold) {\r\n const distance = Math.sqrt(\r\n Math.pow(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1],\r\n 2\r\n ) +\r\n Math.pow(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0],\r\n 2\r\n )\r\n );\r\n this.setState({\r\n hold: false,\r\n animation: 'bookingCalendar__selection--fadeout',\r\n });\r\n this.animationInProgress = setTimeout(() => {\r\n this.setState({\r\n selectionBox: false,\r\n animation: '',\r\n selectionBoxOrigin: [0, 0],\r\n selectionBoxTarget: [0, 0],\r\n });\r\n this.animationInProgress = null;\r\n }, 300) as unknown as number;\r\n if (distance < this.props.minSelectionSize) {\r\n return;\r\n }\r\n this.props.onSelected?.(\r\n {\r\n origin: this.state.selectionBoxOrigin,\r\n target: this.state.selectionBoxTarget,\r\n },\r\n evt\r\n );\r\n }\r\n }\r\n\r\n handleMouseDown(e: React.MouseEvent<HTMLDivElement>) {\r\n if (this.props.disabled || e.nativeEvent.button !== 0) {\r\n return;\r\n }\r\n clearTimeout(this.animationInProgress);\r\n this.animationInProgress = null;\r\n this.setState({ selectionBox: false, animation: '' });\r\n\r\n const bb = this.containerRef.current?.getBoundingClientRect();\r\n this.setState({\r\n hold: true,\r\n selectionBoxOrigin: [\r\n e.nativeEvent.pageX - bb.x,\r\n e.nativeEvent.pageY - bb.y,\r\n ],\r\n selectionBoxTarget: [\r\n e.nativeEvent.pageX - bb.x,\r\n e.nativeEvent.pageY - bb.y,\r\n ],\r\n });\r\n }\r\n\r\n private handleMouseMove(evt: React.MouseEvent<HTMLDivElement>) {\r\n if (this.state.hold && !this.state.selectionBox) {\r\n this.setState({ selectionBox: true });\r\n }\r\n if (this.state.selectionBox && !this.animationInProgress) {\r\n const bb = this.containerRef.current?.getBoundingClientRect();\r\n this.setState({\r\n selectionBoxTarget: [\r\n evt.nativeEvent.pageX - bb?.x,\r\n evt.nativeEvent.pageY - bb?.y,\r\n ],\r\n });\r\n\r\n this.props.onSelecting?.({\r\n origin: this.state.selectionBoxOrigin,\r\n target: this.state.selectionBoxTarget,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const baseStyle: React.CSSProperties = {\r\n zIndex: 10,\r\n left: Math.min(\r\n this.state.selectionBoxOrigin[0] - window.scrollX,\r\n this.state.selectionBoxTarget[0] - window.scrollX\r\n ),\r\n top: Math.min(\r\n this.state.selectionBoxOrigin[1] - window.scrollY,\r\n this.state.selectionBoxTarget[1] - window.scrollY\r\n ),\r\n height: Math.abs(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1] - 1\r\n ),\r\n width: Math.abs(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0] - 1\r\n ),\r\n userSelect: 'none',\r\n // transformOrigin: 'top left',\r\n // transform: this.handleTransformBox(),\r\n };\r\n const boxVisible =\r\n Math.sqrt(\r\n Math.pow(\r\n this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1],\r\n 2\r\n ) +\r\n Math.pow(\r\n this.state.selectionBoxTarget[0] - this.state.selectionBoxOrigin[0],\r\n 2\r\n )\r\n ) > this.props.minSelectionSize;\r\n return (\r\n <div\r\n ref={this.containerRef}\r\n className={bookingCalendarSelectionDefaultClasses.root}\r\n style={{\r\n zIndex: this.state.selectionBox ? 99999 : undefined,\r\n gridRowEnd: `span ${this.props.dataRowsCount}`,\r\n gridRowStart: this.props.firstDataRowIndex,\r\n }}\r\n onMouseDown={this.handleMouseDown}\r\n onMouseUp={this.handleMouseUp}\r\n onMouseMove={this.handleMouseMove}\r\n onMouseLeave={this.handleMouseLeave}\r\n >\r\n {boxVisible && this.state.selectionBox && (\r\n <div\r\n className={`${bookingCalendarSelectionDefaultClasses.selection} ${this.state.animation}`}\r\n style={baseStyle}\r\n >\r\n {this.props.children}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
package/build/dist/report.html
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8"/>
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
6
|
-
<title>guestbell-forms [
|
6
|
+
<title>guestbell-forms [2 Jul 2023 at 17:18]</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
@@ -214,10 +214,22 @@ export function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(
|
|
214
214
|
if (!from || !till || !width || !onRangeChange) {
|
215
215
|
return;
|
216
216
|
}
|
217
|
-
const selectionLeft = Math.min(
|
218
|
-
|
219
|
-
|
220
|
-
|
217
|
+
const selectionLeft = Math.min(
|
218
|
+
data.origin[0] - window.scrollX,
|
219
|
+
data.target[0] - window.scrollX
|
220
|
+
);
|
221
|
+
const selectionRight = Math.max(
|
222
|
+
data.origin[0] - window.scrollX,
|
223
|
+
data.target[0] - window.scrollX
|
224
|
+
);
|
225
|
+
const selectionTop = Math.min(
|
226
|
+
data.origin[1] - window.scrollY,
|
227
|
+
data.target[1] - window.scrollY
|
228
|
+
);
|
229
|
+
const selectionBottom = Math.max(
|
230
|
+
data.origin[1] - window.scrollY,
|
231
|
+
data.target[1] - window.scrollY
|
232
|
+
);
|
221
233
|
const durationMs = till.valueOf() - from.valueOf();
|
222
234
|
const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;
|
223
235
|
const timeSpaceStart = from.clone().add(toTimeSpace(selectionLeft), 'ms');
|
package/src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx
CHANGED
@@ -177,12 +177,12 @@ export default class BookingCalendarSelection extends React.Component<
|
|
177
177
|
const baseStyle: React.CSSProperties = {
|
178
178
|
zIndex: 10,
|
179
179
|
left: Math.min(
|
180
|
-
this.state.selectionBoxOrigin[0],
|
181
|
-
this.state.selectionBoxTarget[0]
|
180
|
+
this.state.selectionBoxOrigin[0] - window.scrollX,
|
181
|
+
this.state.selectionBoxTarget[0] - window.scrollX
|
182
182
|
),
|
183
183
|
top: Math.min(
|
184
|
-
this.state.selectionBoxOrigin[1],
|
185
|
-
this.state.selectionBoxTarget[1]
|
184
|
+
this.state.selectionBoxOrigin[1] - window.scrollY,
|
185
|
+
this.state.selectionBoxTarget[1] - window.scrollY
|
186
186
|
),
|
187
187
|
height: Math.abs(
|
188
188
|
this.state.selectionBoxTarget[1] - this.state.selectionBoxOrigin[1] - 1
|