react-beauty-calendar 2.0.1 → 2.0.4
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/README.md +6 -0
- package/dist/@types/booking.d.ts +1 -0
- package/dist/@types/calendar-instance.d.ts +39 -7
- package/dist/@types/calendar.d.ts +1 -2
- package/dist/@types/index.d.ts +2 -2
- package/dist/@types/profile.d.ts +1 -1
- package/dist/@types/user.d.ts +4 -1
- package/dist/build/assets/main.css +1 -1
- package/dist/build/main.cjs.js +60 -70
- package/dist/build/main.es.js +10762 -8422
- package/dist/components/ui/Avatar.d.ts +10 -0
- package/dist/components/ui/Button-group.d.ts +11 -0
- package/dist/components/ui/Dialog.d.ts +14 -0
- package/dist/components/ui/Sidebar.d.ts +70 -0
- package/dist/components/ui/sheet.d.ts +12 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/constants/booking-view-type.constant.d.ts +2 -0
- package/dist/constants/card.constant.d.ts +7 -0
- package/dist/constants/index.d.ts +4 -10
- package/dist/constants/month.constant.d.ts +12 -0
- package/dist/constants/user-colors-constants.d.ts +40 -0
- package/dist/context/drag/useDragStateAtStore.d.ts +0 -2
- package/dist/context/global/booking-info/booking-info.d.ts +1 -0
- package/dist/context/global/config/config-store.d.ts +7 -2
- package/dist/context/global/days-and-week/day-and-week-store.d.ts +1 -0
- package/dist/context/new-event/new-event-store.d.ts +2 -1
- package/dist/context/users-info/users-info-store.d.ts +3 -3
- package/dist/core/Root.d.ts +1 -1
- package/dist/core/avatar/UserAvatar.d.ts +6 -0
- package/dist/core/booking-card/BookingCard.d.ts +1 -1
- package/dist/core/booking-card/BookingCardOnResize.d.ts +1 -1
- package/dist/core/booking-card/CardContent.d.ts +1 -1
- package/dist/core/booking-creation-dialog/BookingCreationDialog.d.ts +1 -1
- package/dist/core/booking-creation-dialog/ConfirmationModal.d.ts +10 -0
- package/dist/core/calendar/AllDayCard.d.ts +2 -0
- package/dist/core/calendar/CalendarDays.d.ts +1 -1
- package/dist/core/calendar/DateCalendarIndicator.d.ts +1 -1
- package/dist/core/calendar/ScheduleSlots.d.ts +3 -9
- package/dist/core/calendar/SlotRender.d.ts +1 -1
- package/dist/core/calendar/SlotRenderMonth.d.ts +3 -0
- package/dist/core/card-slots/CardBlockContent.d.ts +4 -3
- package/dist/core/card-slots/CardResizeEventOpened.d.ts +12 -0
- package/dist/core/card-slots/MonthIndicator.d.ts +8 -0
- package/dist/core/card-slots/ResizableTimeSlot.d.ts +2 -16
- package/dist/core/card-slots/SlotTrigger.d.ts +2 -2
- package/dist/core/card-slots/TimeInfo.d.ts +2 -4
- package/dist/core/card-slots/UniSlot.d.ts +1 -1
- package/dist/core/header-calendar/HeaderTodayAction.d.ts +1 -1
- package/dist/core/sidebar/Sidebar.d.ts +8 -0
- package/dist/core/sidebar/SidebarWrapper.d.ts +7 -0
- package/dist/core/slots/Card.d.ts +5 -4
- package/dist/core/table-view-type/TableViewType.d.ts +2 -2
- package/dist/hooks/useResizableCardHook.d.ts +3 -2
- package/dist/mock/booking-mock.d.ts +8 -2
- package/dist/user1.webp +0 -0
- package/dist/user2.jpeg +0 -0
- package/dist/user3.png +0 -0
- package/dist/user4.webp +0 -0
- package/dist/utils/blockSlotDays.d.ts +12 -0
- package/dist/utils/date.utils.d.ts +9 -2
- package/dist/utils/forward.d.ts +9 -6
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/permissions.d.ts +6 -0
- package/dist/utils/props.d.ts +38 -20
- package/dist/utils/string.utils.d.ts +1 -0
- package/dist/utils/types.d.ts +5 -1
- package/package.json +4 -2
- package/dist/@types/working-time.d.ts +0 -10
- package/dist/constants/day-time-starter.constant.d.ts +0 -2
- package/dist/constants/payment.constant.d.ts +0 -11
- package/dist/constants/resize-base-value.constant.d.ts +0 -1
- package/dist/constants/side-options.constant.d.ts +0 -1
- package/dist/constants/system-colors.constant.d.ts +0 -40
- package/dist/constants/url-param.constant.d.ts +0 -6
- package/dist/constants/week.constant.d.ts +0 -3
- package/dist/core/calendar/TableDayOfWeekColumn.d.ts +0 -6
- package/dist/core/slots/CardContentWithResize.d.ts +0 -17
package/README.md
CHANGED
|
@@ -159,3 +159,9 @@ For bug reports and feature requests, please use the issue tracker of this repos
|
|
|
159
159
|
## License
|
|
160
160
|
|
|
161
161
|
This project is licensed under the [MIT License](LICENSE) 2025.
|
|
162
|
+
|
|
163
|
+
Biome lint
|
|
164
|
+
|
|
165
|
+
npx biome format --write
|
|
166
|
+
npx biome check --write
|
|
167
|
+
npx biome ci .
|
package/dist/@types/booking.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ActionType } from '../main';
|
|
|
6
6
|
import { BlockTimeData } from '../utils/props';
|
|
7
7
|
import { Booking, BookingDateAndTime, BookingViewType } from './booking';
|
|
8
8
|
import { ViewModes } from './calendar';
|
|
9
|
-
import {
|
|
9
|
+
import { UserAccessProfile } from './user';
|
|
10
10
|
export interface CalendarInstanceRef extends CalendarRootRef {
|
|
11
11
|
getCalendar: () => JSX.Element;
|
|
12
12
|
}
|
|
@@ -22,19 +22,51 @@ export interface CalendarRootRef {
|
|
|
22
22
|
toggleUserVisibility: (userId: string, status: boolean) => void;
|
|
23
23
|
}
|
|
24
24
|
export type UseBookingInstanceProps = RootProps;
|
|
25
|
+
export interface Range {
|
|
26
|
+
start: Date | null;
|
|
27
|
+
end: Date | null;
|
|
28
|
+
}
|
|
29
|
+
export interface BusinessInterval {
|
|
30
|
+
range: Range;
|
|
31
|
+
periods: Periods[];
|
|
32
|
+
userIds: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface Periods {
|
|
35
|
+
from: string;
|
|
36
|
+
to: string;
|
|
37
|
+
}
|
|
38
|
+
export interface UnavailablePeriods {
|
|
39
|
+
day: Date;
|
|
40
|
+
periods?: Periods[];
|
|
41
|
+
allDay?: boolean;
|
|
42
|
+
usersId: string[];
|
|
43
|
+
}
|
|
44
|
+
export interface OnlyBusinessDays {
|
|
45
|
+
status: boolean;
|
|
46
|
+
hidden: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface Sidebar {
|
|
49
|
+
content: JSX.Element;
|
|
50
|
+
width?: string;
|
|
51
|
+
}
|
|
25
52
|
export interface RootProps extends RootEventsProps {
|
|
26
53
|
bookings: Booking[];
|
|
27
|
-
|
|
28
|
-
startView?: BookingViewType;
|
|
29
|
-
systemColor?: SystemColor;
|
|
54
|
+
activeUser: UserAccessProfile;
|
|
30
55
|
createBookingModal: JSX.Element;
|
|
31
56
|
viewModes: ViewModes;
|
|
32
|
-
users?: UserProfileStatus[];
|
|
33
|
-
tableAccessors: ColumnDef<unknown>[];
|
|
34
57
|
operationalHours: {
|
|
35
58
|
start: number;
|
|
36
59
|
finish: number;
|
|
37
60
|
};
|
|
61
|
+
tableAccessors: ColumnDef<unknown>[];
|
|
62
|
+
onlyBusinessDays?: OnlyBusinessDays;
|
|
63
|
+
unavailablePeriods?: UnavailablePeriods[];
|
|
64
|
+
businessInterval?: BusinessInterval[];
|
|
65
|
+
isTimeInfoVisible?: boolean;
|
|
66
|
+
startView?: BookingViewType;
|
|
67
|
+
systemColor?: SystemColor;
|
|
68
|
+
users?: UserAccessProfile[];
|
|
69
|
+
sidebar?: Sidebar;
|
|
38
70
|
ref?: Ref<CalendarRootRef>;
|
|
39
71
|
}
|
|
40
72
|
export interface OnSlotClick {
|
|
@@ -45,7 +77,7 @@ export interface RootEventsProps {
|
|
|
45
77
|
onChangeViewType: (bookingViewType: BookingViewType) => void;
|
|
46
78
|
onTodayClick: (date: Date) => void;
|
|
47
79
|
onHeaderDayClick?: (date: Date, bookingViewType: BookingViewType) => void;
|
|
48
|
-
|
|
80
|
+
onCardDrop: (booking: Booking, overId?: string, slotData?: BookingDateAndTime, newBooking?: Booking) => Promise<void>;
|
|
49
81
|
onCardResizeEnd: (booking: Partial<Booking>) => Promise<void>;
|
|
50
82
|
onDayChange: (date: Date[], actionType: ActionType) => void;
|
|
51
83
|
onModalClose: () => void;
|
package/dist/@types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Booking, BookingDateAndTime, Bookings } from './booking';
|
|
2
2
|
import { ViewModes } from './calendar';
|
|
3
3
|
import { Profile } from './profile';
|
|
4
|
-
import { User,
|
|
5
|
-
export type { Booking, Bookings, BookingDateAndTime, Profile, User, ViewModes,
|
|
4
|
+
import { User, UserAccessProfile } from './user';
|
|
5
|
+
export type { Booking, Bookings, BookingDateAndTime, Profile, User, ViewModes, UserAccessProfile, };
|
package/dist/@types/profile.d.ts
CHANGED
package/dist/@types/user.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Profile } from './profile';
|
|
2
|
+
export declare const PERMISSIONS: readonly ["booking:create:self", "booking:create:any", "booking:drag:self", "booking:drag:any", "booking:resize:self", "booking:resize:any"];
|
|
3
|
+
export type Permissions = (typeof PERMISSIONS)[number];
|
|
2
4
|
export interface User {
|
|
3
5
|
id: string;
|
|
4
6
|
profile: Profile;
|
|
@@ -6,6 +8,7 @@ export interface User {
|
|
|
6
8
|
createdAt: Date;
|
|
7
9
|
}
|
|
8
10
|
export type UserProfile = Pick<User, "id" | "profile">;
|
|
9
|
-
export type
|
|
11
|
+
export type UserAccessProfile = Pick<User, "id" | "profile"> & {
|
|
10
12
|
status: boolean;
|
|
13
|
+
permissions: readonly Permissions[] | Permissions[];
|
|
11
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
#root{margin:0 auto;text-align:center}.react-resizable{position:relative}.react-resizable:hover .react-resizable-handle-s,.show-handle.react-resizable .react-resizable-handle-s,.react-resizable:hover .react-resizable-handle-n,.show-handle.react-resizable .react-resizable-handle-n{display:inline;left:.5em;width:93%}.react-resizable.slot-resizable>.react-resizable-handle{width:100%;height:100%}.react-resizable.slot-resizable>.react-resizable-handle.react-resizable-handle-se{cursor:default;background-image:none}.react-resizable.slot-resizable>.react-resizable-handle.react-resizable-handle-se:hover{cursor:default;background-image:none}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E %3Cpath d='M5 14H19M5 10H19' stroke='%23fff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E %3C/g%3E%3C/svg%3E");background-position:center}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;left:0;cursor:se-resize;z-index:100}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;cursor:ns-resize}.react-resizable-handle-n{display:none;top:-5px;z-index:100}.react-resizable-handle-s{display:none;bottom:-5px;z-index:100}.rdp-day:hover{background-color:#edecec!important;color:#1f1f1f!important;border-radius:50%!important}.rdp-chevron{fill:#5403d6!important}.rdp-day.rdp-today{color:#fff!important;border-radius:50%;background-color:#8574e5!important}.rdp-day::selection{background-color:#8574e5!important;color:red!important}.rdp-day.rdp-selected>.rdp-day_button{background:#d5d0f7;color:#322290;border:none}.shadow{box-shadow:2px 2px 6px 1px #0000004d}@keyframes spinBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-spin-border{animation:spinBorder 3s linear infinite;background-size:200% 200%}.calendarHolder_parent_content{display:flex;flex-direction:column;z-index:100;overflow:auto}.header_actions{display:flex;flex-direction:row;align-items:center;gap:.25rem}.headerCalendar_mobile{display:flex;flex-direction:column;justify-content:space-between;width:100%;padding-top:.5rem;background-color:#fff}.headerCalendar_mobile_month{align-content:center;z-index:50;text-align:center}.headerCalendar_mobile_month_span{color:#1e2939;font-weight:700}.headerCalendar_mobile_actions{gap:.5rem;z-index:50;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.headerCalendar{display:flex;justify-content:space-between;width:100%;margin-top:.5rem;background-color:#fff;position:relative}.headerCalendar_actions{display:flex;flex-direction:row;align-items:center;z-index:50}.headerCalendar_month{align-content:center;width:max-content;position:absolute;z-index:50;top:50%;left:50%;right:50%;transform:translate(-50%,-50%)}.headerCalendar_month_span{color:#1e2939;font-weight:700}.isDraggingCard{height:2rem;z-index:100;position:relative}.header_day_actions{display:flex;flex-direction:row;justify-content:center;gap:3px}.header_day_actions_button{display:flex;background-color:#fff;border:none;border-radius:100%;padding-block:.75rem;padding-inline:.75rem}.header_day_actions_button:hover{background-color:#f3f4f6}.header_day_actions_button:focus{background-color:#e5e7eb;inherits:false;initial-value:solid;outline-width:0px}.header_day_actions_button_icon{height:1rem;width:1rem;color:#6a7282}.calendarCore_cell{border:1px solid #d1d5dc;padding-block:.5rem;padding-inline:1rem;text-align:center;width:.75rem;min-width:4rem}.calendarCore_actions{position:absolute;top:-6px;left:5px;right:1.25rem;background-color:#fff;text-align:end}.bookingCard_content{display:grid;grid-template-columns:25px 1fr;align-items:flex-start;margin-bottom:.25rem;padding-bottom:.25rem}.bookingCard_content:last-child{margin-bottom:0;padding-bottom:0}.slot{background-color:#fff;border:1px solid #d1d5dc;min-width:2rem;padding:0;position:relative;border-bottom:none;border-top:none}.slot_disabled{background-color:#e5e7eb;border:none}.daysOfWeek{padding:.5rem;min-width:5.5rem;width:100vw;z-index:99;align-content:end}.daysOfWeek_parent{display:flex;flex-direction:column;gap:3px;color:#6a7282;text-align:center}.daysOfWeek_indicator{border-radius:100%;width:2rem;height:2rem}.daysOfWeek_day_today{color:#fff;padding:.25rem}.daysOfWeek_table{min-width:100%;width:100%;background-color:#fff}.daysOfWeek_table thead th{position:sticky;top:0;background:#fff;z-index:100}.daysOfWeek_emptySlot{max-width:4rem;min-width:4rem;width:4rem}.calendarHeader{max-width:4rem;min-width:4rem;width:1rem}@media screen and (max-width: 1189px){.calendarHeader{max-width:4rem;min-width:4rem}}.slotTrigger_core{position:relative;width:100%;height:2rem;min-width:6.38em}.slotTrigger_core_day{width:100%}.hovering_slotTrigger_core:hover{background-color:#ffffff93}.card_content_core{z-index:98;position:absolute}.cardContent_resizable{position:absolute;width:100%;top:0}.cardContent_render{border:1px solid white;border-color:#007fff;border-left-width:thick;border-radius:.25rem;overflow:hidden;position:absolute;z-index:100;top:0;right:0;bottom:0;left:0}.cardContent_render_dragging,.focus-effect:hover,.cardContent_render:hover{border-top:1px solid rgb(255,89,6);border-right:1px solid rgb(255,89,6);border-bottom:1px solid rgb(255,89,6);border-left:5px solid rgb(255,89,6)}.timeInfo_core{width:100%;height:100%;z-index:-1px;align-content:center;border-radius:.25rem;cursor:default}.timeInfo_core_timeParent{border-radius:.25rem;width:100%;height:100%;align-content:center;position:relative;z-index:5}.timeInfo_core_timeParent_time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeInfo_core_dragging{height:100%;align-content:center}.timeIndicator_today{position:absolute;right:0;z-index:5}.timeIndicator_today_circle:before{content:"";display:block;position:absolute;top:-2px;left:-1.3px;border-radius:100%;width:.5rem;height:.5rem;background-color:#000}.today_first_day{position:absolute;left:0;top:-3px;cursor:pointer}.first_day_slot{position:absolute;top:-1.6em;z-index:50}.dropdownLabelContent{display:flex;justify-content:space-between;align-items:center;border-radius:.5rem}.dropdownLabelContent:hover{background-color:#f3f4f6}.dropdownLabelContent_dropdownLabel{width:100%;padding:1rem}.dropdownLabelContent_dropdownLabel:hover{cursor:move}.dropdownLabelContent_close:hover{cursor:pointer;color:#6a7282}.booking_card_content_container{position:relative;width:100%;height:100%}.booking_card_content{display:flex;flex-direction:column;height:100%;color:#fff;justify-content:flex-start;align-items:flex-start}.booking_info{height:1.8rem;align-content:center}@property --progress{syntax: "<number>"; initial-value: 0; inherits: false;}.Draggable{position:relative;transition:transform .25s ease}.Draggable>div{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:0;border-radius:5px;box-shadow:var(--box-shadow);transform:translate3d(var(--translate-x, 0),var(--translate-y, 0),0) scale(var(--scale, 1));transition:box-shadow .3s ease}.Draggable:not(.handle)>div{touch-action:none;cursor:grab}.Draggable:not(.handle)>div:focus-visible:not(.active :is(.Draggable:not(.handle)>div)){box-shadow:0 0 0 3px #4c9ffe}.Draggable.handle>div{--action-background: rgba(255, 255, 255, .1)}.Draggable.handle>div>svg{margin-right:5px}.Draggable.handle>div>div{margin-right:-10px}.Draggable img{-webkit-user-select:none;user-select:none;pointer-events:none}.Draggable.dragging{z-index:1;transition:none}.Draggable.dragging *{cursor:grabbing}.Draggable.dragging>div{--scale: 1.06;--box-shadow: -1px 0 15px 0 rgba(34, 33, 81, .01), 0px 15px 15px 0 rgba(34, 33, 81, .25)}.Draggable.dragging>div:focus-visible{--box-shadow: 0 0px 10px 2px #4c9ffe}.Draggable.dragging label{animation:none;opacity:0}@keyframes pulse{0%{opacity:0}to{opacity:1}}.calendar-wrapper{width:100%;height:100%;z-index:40;overflow:auto;position:relative}.calendar{border-collapse:collapse;width:max-content;min-width:100%}.calendar th,.calendar td{border:1px solid #ccc;min-width:100px;height:50px;text-align:center}.time-col{position:sticky;left:0;align-content:center;background:#fff;min-width:60px;z-index:99}
|
|
1
|
+
#root{margin:0 auto;text-align:center}.react-resizable{position:relative}.react-resizable:hover .react-resizable-handle-s,.show-handle.react-resizable .react-resizable-handle-s,.react-resizable:hover .react-resizable-handle-n,.show-handle.react-resizable .react-resizable-handle-n{display:inline;left:.5em;width:93%}.react-resizable.slot-resizable>.react-resizable-handle{width:100%;height:100%}.react-resizable.slot-resizable>.react-resizable-handle.react-resizable-handle-se{cursor:default;background-image:none}.react-resizable.slot-resizable>.react-resizable-handle.react-resizable-handle-se:hover{cursor:default;background-image:none}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E %3Cpath d='M5 14H19M5 10H19' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E %3C/g%3E%3C/svg%3E");background-position:center}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;left:0;cursor:se-resize;z-index:100}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;cursor:ns-resize}.react-resizable-handle-n{height:.7em;display:none;top:-3px;z-index:100}.react-resizable-handle-s{display:none;height:.7em;bottom:-3px;z-index:100}.rdp-day:hover{background-color:#edecec!important;color:#1f1f1f!important;border-radius:50%!important}.rdp-chevron{fill:#5403d6!important}.rdp-day.rdp-today{color:#fff!important;border-radius:50%;background-color:#8574e5!important}.rdp-day::selection{background-color:#8574e5!important;color:red!important}.rdp-day.rdp-selected>.rdp-day_button{background:#d5d0f7;color:#322290;border:none}.shadow{box-shadow:2px 2px 6px 1px #0000004d}@keyframes spinBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-spin-border{animation:spinBorder 3s linear infinite;background-size:200% 200%}.calendarHolder_parent_content{display:flex;flex-direction:column;z-index:100;overflow:auto}.header_actions{display:flex;flex-direction:row;align-items:center;gap:.25rem}.headerCalendar_mobile{display:flex;flex-direction:column;justify-content:space-between;width:100%;background-color:#fff}.headerCalendar_mobile_month{align-content:center;z-index:50;text-align:center}.headerCalendar_mobile_month_span{color:#1e2939;font-weight:700}.headerCalendar_mobile_actions{gap:.5rem;z-index:50;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.headerCalendar{display:flex;justify-content:space-between;width:100%;background-color:#fff;position:relative}.headerCalendar_actions{display:flex;flex-direction:row;align-items:center;z-index:50}.headerCalendar_month{align-content:center;width:max-content;position:absolute;z-index:50;top:50%;left:50%;right:50%;transform:translate(-50%,-50%)}.headerCalendar_month_span{color:#1e2939;font-weight:700}.isDraggingCard{height:2rem;z-index:100;position:relative}.header_day_actions{display:flex;flex-direction:row;justify-content:center;gap:3px}.header_day_actions_button{display:flex;background-color:#fff;border:none;border-radius:100%;padding-block:.75rem;padding-inline:.75rem}.header_day_actions_button:hover{background-color:#f3f4f6}.header_day_actions_button:focus{background-color:#e5e7eb;inherits:false;initial-value:solid;outline-width:0px}.header_day_actions_button_icon{height:1rem;width:1rem;color:#6a7282}.calendarCore_cell{border:1px solid #d1d5dc;padding-block:.5rem;padding-inline:1rem;text-align:center;width:.75rem;min-width:4rem}.calendarCore_actions{position:absolute;top:-6px;left:5px;right:1.25rem;background-color:#fff;text-align:end}.bookingCard_content{display:grid;grid-template-columns:25px 1fr;align-items:flex-start;margin-bottom:.25rem;padding-bottom:.25rem}.bookingCard_content:last-child{margin-bottom:0;padding-bottom:0}.slot{background-color:#fff;border:1px solid #e8e8e8;min-width:2rem;padding:0;position:relative;border-bottom:none;border-top:none}.slot_disabled{background-color:#e5e7eb;border:none}.daysOfWeek{padding:.5rem;min-width:5.5rem;width:100vw;z-index:99;align-content:end}.daysOfWeek_parent{display:flex;flex-direction:column;gap:3px;color:#6a7282;text-align:center}.alignLeft{text-align:left}.daysOfWeek_indicator{border-radius:100%;width:2rem;height:2rem}.daysOfWeek_day_today{color:#fff;padding:.25rem}.daysOfWeek_table{min-width:100%;width:100%;height:100%;background-color:#fff}.daysOfWeek_table thead th{position:sticky;top:0;background:#fff;z-index:100}.daysOfWeek_emptySlot{max-width:4rem;min-width:4rem;width:4rem}.calendarHeader{max-width:4rem;min-width:4rem;width:1rem}@media screen and (max-width: 1189px){.calendarHeader{max-width:4rem;min-width:4rem}}.slotTrigger_core{position:relative;width:100%;height:2rem;min-width:6.38em}.slotTrigger_core_month{min-width:0;height:0!important}.slotTrigger_core_day{width:100%}.slot_core_month_first_row{border-top:1px solid #e8e8e8}.slot_core_month{height:100%;border-bottom:1px solid #e8e8e8}.hovering_slotTrigger_core:hover{background-color:#ffffff93}.card_content_core{z-index:98;position:absolute}.card_content_core_selected{z-index:99!important}.card_content_core_month{height:2rem}.cardContent_resizable{position:absolute;width:100%;top:0}.cardContent_render{border:1px solid white;border-color:#007fff;border-left-width:thick;border-radius:.25rem;overflow:hidden;position:absolute;z-index:100;top:0;right:0;bottom:0;left:0}.cardContent_selected{border:1px solid rgb(255,89,6);border-left:5px solid rgb(255,89,6)}.cardContent_render_dragging,.focus-effect:hover,.cardContent_render:hover{border-top:1px solid rgb(255,89,6);border-right:1px solid rgb(255,89,6);border-bottom:1px solid rgb(255,89,6);border-left:5px solid rgb(255,89,6)}.timeInfo_core{width:100%;height:100%;z-index:-1px;align-content:center;border-radius:.25rem;cursor:default}.with_hover:hover>.timeInfo_core_timeParent{border:1px solid var(--system-color);display:block;z-index:98}.timeInfo_core_timeParent{border-radius:.25rem;width:100%;height:100%;align-content:center;position:relative;z-index:5;display:none}.timeInfo_core_background{background-color:#fff;border:none}.timeInfo_core_timeParent_time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeInfo_core_dragging{height:100%;align-content:center}.timeIndicator_today{position:absolute;right:0;z-index:98}.timeIndicator_today_circle:before{content:"";display:block;position:absolute;top:-2px;left:-1.3px;border-radius:100%;width:.5rem;height:.5rem;background-color:#000}.today_first_day{position:absolute;left:0;top:-3px;cursor:pointer}.first_day_slot{position:absolute;top:-1.6em;z-index:50}.dropdownLabelContent{display:flex;justify-content:space-between;align-items:center;border-radius:.5rem}.dropdownLabelContent:hover{background-color:#f3f4f6}.dropdownLabelContent_dropdownLabel{width:100%;padding:1rem}.dropdownLabelContent_dropdownLabel:hover{cursor:move}.dropdownLabelContent_close:hover{cursor:pointer;color:#6a7282}.booking_card_content_container{position:relative;width:100%;height:100%}.booking_card_content{display:flex;flex-direction:column;height:100%;color:#fff;justify-content:flex-start;align-items:flex-start}.booking_info{height:1.8rem;align-content:center}@property --progress{syntax: "<number>"; initial-value: 0; inherits: false;}.Draggable{position:relative;transition:transform .25s ease}.Draggable>div{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:0;border-radius:5px;box-shadow:var(--box-shadow);transform:translate3d(var(--translate-x, 0),var(--translate-y, 0),0) scale(var(--scale, 1));transition:box-shadow .3s ease}.Draggable:not(.handle)>div{touch-action:none;cursor:grab}.Draggable:not(.handle)>div:focus-visible{box-shadow:0 0 0 3px #4c9ffe}.Draggable.handle>div{--action-background: rgba(255, 255, 255, .1)}.Draggable.handle>div>svg{margin-right:5px}.Draggable.handle>div>div{margin-right:-10px}.Draggable img{-webkit-user-select:none;user-select:none;pointer-events:none}.Draggable.dragging{z-index:1;transition:none}.Draggable.dragging *{cursor:grabbing}.Draggable.dragging>div{--scale: 1.06;--box-shadow: -1px 0 15px 0 rgba(34, 33, 81, .01), 0px 15px 15px 0 rgba(34, 33, 81, .25)}.Draggable.dragging>div:focus-visible{--box-shadow: 0 0px 10px 2px #4c9ffe}.Draggable.dragging label{animation:none;opacity:0}@keyframes pulse{0%{opacity:0}to{opacity:1}}.calendar-wrapper{width:100%;height:100%;z-index:40;overflow:auto;position:relative}.calendar{border-collapse:collapse;width:max-content;min-width:100%}.calendar th,.calendar td{border:1px solid #ccc;min-width:100px;height:50px;text-align:center}.time-col{position:sticky;align-content:center;background:#fff;min-width:60px;z-index:99}.time-col-left{left:0}.monthCore{display:flex;flex-direction:column;justify-content:center;width:100%;text-align:center;padding:.1rem}.monthIndicator{z-index:99;font-weight:700;border-radius:calc(infinity * 1px);cursor:pointer;width:2em;height:2em;justify-content:center}.monthIndicator:hover{text-decoration:underline}.moreBooking{cursor:pointer}.moreBooking:hover{text-decoration:underline}.booking_card_pending{animation:bookingPendingBorderPulse 1.1s ease-in-out infinite}@keyframes bookingPendingBorderPulse{0%,to{border-left-color:#2563ebd9;box-shadow:0 0 #2563eb00}50%{border-left-color:#60a5fa;box-shadow:0 0 0 2px #2563eb2e}}@media (prefers-reduced-motion: reduce){.booking_card_pending{animation:none}}
|