react-beauty-calendar 1.0.7 → 1.0.8
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 +43 -0
- package/dist/{lib/@types → @types}/booking.d.ts +1 -1
- package/dist/{lib/@types → @types}/calendar-instance.d.ts +18 -3
- package/dist/build/assets/main.css +1 -1
- package/dist/build/main.cjs.js +35 -35
- package/dist/build/main.es.js +7326 -7108
- package/dist/classes/reference-error.d.ts +4 -0
- package/dist/{lib/components → components}/ui/Button.d.ts +1 -1
- package/dist/constants/booking-view-type.constant.d.ts +6 -0
- package/dist/{lib/context → context}/bookingModal/BookingModalProvider.d.ts +2 -1
- package/dist/{lib/context → context}/drag/dragStore.d.ts +0 -3
- package/dist/context/emptySlotsStore.ts/retrieveSlotKey.d.ts +6 -0
- package/dist/{lib/context → context}/emptySlotsStore.ts/useEmptySlotStore.d.ts +1 -1
- package/dist/{lib/context → context}/global/days-and-week/day-and-week-store.d.ts +6 -6
- package/dist/{lib/context → context}/month-description/month-description-store.d.ts +1 -0
- package/dist/{lib/context → context}/new-event/new-event-context.d.ts +1 -1
- package/dist/{lib/context → context}/new-event/new-event-store.d.ts +6 -0
- package/dist/core/Root.d.ts +3 -0
- package/dist/{lib/core → core}/booking-card/BookingCard.d.ts +2 -2
- package/dist/{lib/core → core}/card-slots/SlotTrigger.d.ts +1 -1
- package/dist/core/header-calendar/HeaderDayActions.d.ts +6 -0
- package/dist/core/header-calendar/HeaderTodayAction.d.ts +6 -0
- package/dist/{lib/core → core}/slots/CardContent.d.ts +1 -1
- package/dist/{lib/core → core}/slots/EventsTab.d.ts +3 -1
- package/dist/{lib/core → core}/slots/TimeInfo.d.ts +2 -1
- package/dist/hooks/use-calendar-instance.d.ts +3 -0
- package/dist/{lib/utils → utils}/date-utils.d.ts +3 -2
- package/dist/{lib/utils → utils}/types.d.ts +1 -1
- package/package.json +24 -15
- package/dist/lib/constants/booking-view-type.constant.d.ts +0 -6
- package/dist/lib/core/Root.d.ts +0 -6
- package/dist/lib/hooks/use-calendar-instance.d.ts +0 -7
- /package/dist/{lib/@types → @types}/calendar.d.ts +0 -0
- /package/dist/{lib/@types → @types}/index.d.ts +0 -0
- /package/dist/{lib/@types → @types}/profile.d.ts +0 -0
- /package/dist/{lib/@types → @types}/user.d.ts +0 -0
- /package/dist/{lib/@types → @types}/working-time.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Dropdown-menu.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Input.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Label.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Popover.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Select.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Separator.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Table.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Tabs.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Toggle.d.ts +0 -0
- /package/dist/{lib/components → components}/ui/Tooltip.d.ts +0 -0
- /package/dist/{lib/constants → constants}/index.d.ts +0 -0
- /package/dist/{lib/constants → constants}/month.constant.d.ts +0 -0
- /package/dist/{lib/constants → constants}/payment.constant.d.ts +0 -0
- /package/dist/{lib/constants → constants}/side-options.constant.d.ts +0 -0
- /package/dist/{lib/constants → constants}/system-colors.constant.d.ts +0 -0
- /package/dist/{lib/constants → constants}/url-param.constant.d.ts +0 -0
- /package/dist/{lib/context → context}/booking/booking-context.d.ts +0 -0
- /package/dist/{lib/context → context}/booking/booking-store.d.ts +0 -0
- /package/dist/{lib/context → context}/booking/bookingProvider.d.ts +0 -0
- /package/dist/{lib/context → context}/bookingModal/booking-modal-context.d.ts +0 -0
- /package/dist/{lib/context → context}/date-and-time/DateAndTimeContext.d.ts +0 -0
- /package/dist/{lib/context → context}/emptySlotsStore.ts/emptySlotKey.d.ts +0 -0
- /package/dist/{lib/context → context}/global/booking-info/booking-info.d.ts +0 -0
- /package/dist/{lib/context → context}/global/slice-global/slice-global-store.d.ts +0 -0
- /package/dist/{lib/context → context}/index.d.ts +0 -0
- /package/dist/{lib/context → context}/month-description/MonthDescriptionProvider.d.ts +0 -0
- /package/dist/{lib/context → context}/month-description/month-description-context.d.ts +0 -0
- /package/dist/{lib/core → core}/booking-options/BookingInfoContent.d.ts +0 -0
- /package/dist/{lib/core → core}/booking-options/BookingInfoOptions.d.ts +0 -0
- /package/dist/{lib/core → core}/calendar/CalendarHolder.d.ts +0 -0
- /package/dist/{lib/core → core}/calendar/CalendarView.d.ts +0 -0
- /package/dist/{lib/core → core}/calendar/HourWithActions.d.ts +0 -0
- /package/dist/{lib/core → core}/calendar/ViewTypes.d.ts +0 -0
- /package/dist/{lib/core → core}/favorite-booking/FavoriteBooking.d.ts +0 -0
- /package/dist/{lib/core → core}/header-calendar/DaysOfWeek.d.ts +0 -0
- /package/dist/{lib/core → core}/header-calendar/Header.d.ts +0 -0
- /package/dist/{lib/core → core}/header-calendar/HeaderViewType.d.ts +0 -0
- /package/dist/{lib/core → core}/header-calendar/SelectItem.d.ts +0 -0
- /package/dist/{lib/core → core}/info/Info.d.ts +0 -0
- /package/dist/{lib/core → core}/shortcut-commands/ShortcutCommands.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/Card.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/CardOverlay.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/EmptySlot.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/Slots.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/TabsContent.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/actualTimeIndicator/ActualTimeIndicator.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/actualTimeIndicator/position-based-on-seconds.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/service/ProcedureWithColor.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/service/StartAt.d.ts +0 -0
- /package/dist/{lib/core → core}/slots/useResizableCardHook.d.ts +0 -0
- /package/dist/{lib/core → core}/table-view-type/TableViewType.d.ts +0 -0
- /package/dist/{lib/hoc → hoc}/WithTooltip.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/index.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-booking-model.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-days-selected-view.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-global-store.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-is-mobile.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-month-description.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/use-tanstack-table.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useBooking.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useDebounce.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useEventPrevention.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useMutation.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useNewEventStore.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useQuery.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useTrottleCallback.d.ts +0 -0
- /package/dist/{lib/hooks → hooks}/useUrlParam.d.ts +0 -0
- /package/dist/lib/{lib/utils.d.ts → utils.d.ts} +0 -0
- /package/dist/{lib/main.d.ts → main.d.ts} +0 -0
- /package/dist/{lib/mock → mock}/booking-mock.d.ts +0 -0
- /package/dist/{lib/utils → utils}/hours.d.ts +0 -0
- /package/dist/{lib/utils → utils}/string.utils.d.ts +0 -0
package/README.md
CHANGED
|
@@ -31,6 +31,49 @@ With the need to implement an efficient scheduling system, I decided to create a
|
|
|
31
31
|
- **Drag & Drop**: Advanced appointment creation
|
|
32
32
|
- **Open Source**: MIT licensed, free forever
|
|
33
33
|
- Storybook available.
|
|
34
|
+
## Technologies Used
|
|
35
|
+
|
|
36
|
+
### Core Technologies
|
|
37
|
+
- **[React](https://reactjs.org/)**: A JavaScript library for building user interfaces.
|
|
38
|
+
- **[TypeScript](https://www.typescriptlang.org/)**: A strongly typed programming language that builds on JavaScript, providing type safety and better developer experience.
|
|
39
|
+
|
|
40
|
+
### State Management
|
|
41
|
+
- **[Zustand](https://github.com/pmndrs/zustand)**: A small, fast, and scalable state-management library for React.
|
|
42
|
+
|
|
43
|
+
### Date Utilities
|
|
44
|
+
- **[date-fns](https://date-fns.org/)**: A modern JavaScript date utility library for parsing, formatting, and manipulating dates.
|
|
45
|
+
- **[dayjs](https://day.js.org/)**: A lightweight JavaScript date library for parsing, validating, and formatting dates.
|
|
46
|
+
|
|
47
|
+
### Drag and Drop
|
|
48
|
+
- **[@dnd-kit/core](https://dndkit.com/)**: A modern drag-and-drop toolkit for React.
|
|
49
|
+
|
|
50
|
+
### UI Components
|
|
51
|
+
- **[Radix UI](https://www.radix-ui.com/)**: Accessible, unstyled UI components for building modern React applications.
|
|
52
|
+
|
|
53
|
+
### Styling
|
|
54
|
+
- **[Tailwind CSS](https://tailwindcss.com/)**: A utility-first CSS framework for rapid UI development.
|
|
55
|
+
|
|
56
|
+
### Build Tools
|
|
57
|
+
- **[Vite](https://vitejs.dev/)**: A fast build tool and development server for modern web projects.
|
|
58
|
+
|
|
59
|
+
### Testing
|
|
60
|
+
- **[Vitest](https://vitest.dev/)**: A blazing-fast unit testing framework for modern web applications.
|
|
61
|
+
- **[Playwright](https://playwright.dev/)**: An end-to-end testing framework for web applications.
|
|
62
|
+
|
|
63
|
+
### Storybook
|
|
64
|
+
- **[Storybook](https://storybook.js.org/)**: A tool for developing and testing UI components in isolation.
|
|
65
|
+
- **[Chromatic](https://www.chromatic.com/)**: Visual testing and review for Storybook components.
|
|
66
|
+
|
|
67
|
+
### Linting and Formatting
|
|
68
|
+
- **[ESLint](https://eslint.org/)**: A tool for identifying and fixing problems in JavaScript code.
|
|
69
|
+
|
|
70
|
+
### Utilities
|
|
71
|
+
- **[clsx](https://github.com/lukeed/clsx)**: Utility for conditionally joining classNames.
|
|
72
|
+
- **[cmdk](https://cmdk.paco.me/)**: A fast, composable command menu for React.
|
|
73
|
+
|
|
74
|
+
### Development Tools
|
|
75
|
+
- **[Husky](https://typicode.github.io/husky/)**: Git hooks for automating tasks.
|
|
76
|
+
- **[Concurrently](https://github.com/open-cli-tools/concurrently)**: Run multiple commands concurrently.
|
|
34
77
|
|
|
35
78
|
## Installation
|
|
36
79
|
|
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import { JSX, Ref } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { NextAndPreviousWeek } from '../context/global/days-and-week/day-and-week-store';
|
|
3
3
|
import { ActionType } from '../core/header-calendar/Header';
|
|
4
4
|
import { BlockTimeData } from '../core/slots/EmptySlot';
|
|
5
5
|
import { Booking, BookingDateAndTime, BookingViewType } from './booking';
|
|
6
6
|
import { ViewModes } from './calendar';
|
|
7
|
+
export interface CalendarInstanceRef extends CalendarRootRef {
|
|
8
|
+
getCalendar: () => JSX.Element;
|
|
9
|
+
}
|
|
10
|
+
export interface CalendarRootRef {
|
|
11
|
+
updateViewType: (bookingType: BookingViewType) => void;
|
|
12
|
+
updateWeekAndViewType: (date?: Date) => NextAndPreviousWeek;
|
|
13
|
+
updateTodayDayAndViewType: (date: Date) => Date;
|
|
14
|
+
updateSelectedNode: (nodeKey: string) => void;
|
|
15
|
+
updateFinishAt: (selectedHour: string) => void;
|
|
16
|
+
}
|
|
7
17
|
export type UseBookingInstanceProps = RootProps;
|
|
8
18
|
export interface RootProps extends RootEventsProps {
|
|
9
19
|
bookings: Booking[];
|
|
10
20
|
createBookingModal: JSX.Element;
|
|
11
21
|
viewModes: ViewModes;
|
|
12
|
-
ref?: Ref<
|
|
22
|
+
ref?: Ref<CalendarRootRef>;
|
|
23
|
+
}
|
|
24
|
+
export interface OnSlotClick {
|
|
25
|
+
slotData: BlockTimeData;
|
|
26
|
+
finishTime: string;
|
|
13
27
|
}
|
|
14
28
|
export interface RootEventsProps {
|
|
15
29
|
onChangeViewType: (bookingViewType: BookingViewType) => void;
|
|
16
30
|
onTodayClick: (date: Date) => void;
|
|
31
|
+
onHeaderDayClick?: (date: Date, bookingViewType: BookingViewType) => void;
|
|
17
32
|
onCardDropCallback: (booking: Booking, overId: string, slotData: BookingDateAndTime) => Promise<void>;
|
|
18
33
|
onDayChange: (date: Date[], actionType: ActionType) => void;
|
|
19
34
|
onModalClose: () => void;
|
|
20
|
-
onSlotClick: (
|
|
35
|
+
onSlotClick: (slot: OnSlotClick) => void;
|
|
21
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
#root{margin:0 auto;text-align:center}.react-resizable{position:relative}.react-resizable:hover .react-resizable-handle-s
|
|
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{display:inline}.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;background-origin:content-box;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:bottom right}.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%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{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%}.disableVisibilityTime{display:none}.activateVisibilityTime{display:block}.calendarHolder{z-index:100;max-width:1410px}.calendarHolder_parent{width:100%;height:100%;z-index:100}.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}.cardOverlay_content{color:#fff;position:absolute;overflow:hidden;width:100%;border:1px solid;border-radius:.25rem;z-index:10}.header_day_actions{display:flex;flex-direction:row;justify-content:center}.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{z-index:0;height:75vh;overflow:auto}.calendarCore_max{width:max-content}.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:-3px;left:0;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:8rem;width:100%;padding:0;position:relative}.slot_disabled{background-color:#e5e7eb;border:none}.slotWeek{max-width:12rem;min-width:12rem}.daysOfWeek{padding:.5rem;border-radius:100%;min-width:12rem;width:100vw}.daysOfWeek_parent{display:flex;flex-direction:column;gap:3px;color:#6a7282;max-width:11rem;text-align:center}.daysOfWeek_day_rest{border:none;width:2rem;height:2rem;padding:0}.daysOfWeek_day_rest:hover{border:1px solid rgba(91,91,91,.293);background-color:#e3e2e272}.daysOfWeek_day_today_title{color:#d268d2}.daysOfWeek_day_today{color:#fff;padding:.25rem;background-color:#d268d2}.daysOfWeek_day:hover{cursor:pointer}.daysOfWeek_day{border-radius:100%;width:2rem;height:2rem}.daysOfWeek_emptySlot_table{min-width:100%;width:100%;background-color:#fff}.daysOfWeek_emptySlot{max-width:4rem;min-width:4rem;height: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%;min-width:8rem;height:2rem}.slotTrigger_core_day{width:100%}.hovering_slotTrigger_core:hover{background-color:#ffffff93}.slotTrigger_core_border{border-bottom:0px solid}.cardContent_resizable{position:absolute;width:100%;top:0}.cardContent_render{border-color:#ff5906;border-left-width:thick;border-radius:.25rem;overflow:hidden}.cardContent_render:hover{background-color:#fff}.timeInfo_core{width:100%;height:100%;z-index:-1px;align-content:center;border:1px solid black;border-radius:.25rem;cursor:default;background-color:#ffb1b1}.timeInfo_core_timeParent{border-radius:.25rem;width:100%;height:100%;align-content:center;position:relative}.timeInfo_core_timeParent_time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeInfo_core_dragging{height:100%;align-content:center}.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}@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}.Draggable.dragOverlay>div,.Draggable.dragging>div{animation:pop .25s cubic-bezier(.18,.67,.6,1.22)}@keyframes pulse{0%{opacity:0}to{opacity:1}}
|