@mlw-packages/react-components 1.10.25 → 1.10.27

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/dist/index.d.mts CHANGED
@@ -809,6 +809,13 @@ type BannerProps = {
809
809
  id?: string;
810
810
  };
811
811
 
812
+ type DisabledSlot = {
813
+ start: Date;
814
+ from: Date;
815
+ allDay?: boolean;
816
+ };
817
+ type DisabledSlots = DisabledSlot[];
818
+
812
819
  interface DateTimePickerProps extends ErrorMessageProps {
813
820
  label?: string;
814
821
  date: Date | null;
@@ -820,12 +827,13 @@ interface DateTimePickerProps extends ErrorMessageProps {
820
827
  fromDate?: Date;
821
828
  toDate?: Date;
822
829
  disabled?: boolean;
830
+ disabledSlots?: DisabledSlot[];
823
831
  className?: string;
824
832
  error?: string;
825
833
  hideClear?: boolean;
826
834
  triggerIcon?: boolean;
827
835
  }
828
- declare function DateTimePicker({ label, date, onChange, onConfirm, displayFormat, hideTime, hideSeconds, fromDate, toDate, disabled, className, error, hideClear, triggerIcon, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
836
+ declare function DateTimePicker({ label, date, onChange, onConfirm, displayFormat, hideTime, hideSeconds, fromDate, toDate, disabled, className, error, hideClear, triggerIcon, disabledSlots, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
829
837
 
830
838
  interface RangePickerProps extends ErrorMessageProps {
831
839
  value?: DateRange;
@@ -2732,4 +2740,4 @@ declare const useDrag: (options?: UseDragOptions) => {
2732
2740
  isDragging: boolean;
2733
2741
  };
2734
2742
 
2735
- export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, type AvatarComboboxItem, type AvatarComboboxProps, type AvatarComboboxPropsWithGroupItems, type AvatarComboboxPropsWithItems, type AvatarComboboxTestIds, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, type BadgeColorType, type BadgeRankType, type BannerProps, type BiaxialConfig, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush, ButtonBase, ButtonGroupBase, type ButtonProps, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, type CalendarEvent, type CalendarEventAgenda, type CalendarProps, type CalendarView, type CalendarViewAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, type CarouselBaseProps, type CarouselItem, ChangeButton, Chart, ChartControls, type ChartData$3 as ChartData, ChartHeader, type ChartHooksArgs, type ChartProps, ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, type CircularProgressProps, CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, type CommandGroup, CommandGroupBase, CommandInputBase, type CommandItem, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, type CommandPaletteProps, CommandSeparatorBase, CommandShortcutBase, type Connection, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, type ControlledComboboxItem, type ControlledComboboxProps, type ControlledComboboxTestIds, CopyButton, type DataMapper, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, type DebouncedInputProps, type DefaultAvatarComboboxProps, DefaultEndHour, DefaultEndHourAgenda, type DefaultMultiSelectProps, type DefaultSelectProps, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage, EventAgenda, EventCalendar, type EventColor, type EventColorAgenda, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, type FileUploaderProps, type FileWithPreview, type FilesAccepted, FilterButton, type FinalValueFormatter, GroupLabel, HideButton, Highlights, HorizontalChart, HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, type IconProps, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, type Integration, type IntegrationConnection, type IntegrationData, IntegrationModal, type IntegrationModalProps, type IntegrationProperties, type IntegrationProps, Kbd, KbdGroup, LabelBase, type LabelListContent, Leaderboard, type LeaderboardItem, type LeaderboardProps, type LegendItem, LikeButton, LoadingBase, LockButton, type MapperConfig, type MapperConfigEntry, type Margins, type MenuItem, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, type MultiComboboxProps, type MultiComboboxTestIds, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, type MultiSelectContextType, MultiSelectGroupBase, type MultiSelectItem, MultiSelectItemBase, type MultiSelectProps, type MultiSelectPropsWithGroupItems, type MultiSelectPropsWithItems, MultiSelectSeparatorBase, type MultiSelectTestIds, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Neo4jIntegration, type Neo4jNode, type Neo4jRelationship, type NewSelectProps, NoData, type Node, NotificationButton, NumericInput, type Padding, type Period, PeriodsDropdown, PieChartComponent, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, type Position$1 as Position, type Primitive, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, type ProgressType, type PropsLabelList, RadialMenu, RangePicker, type RangePickerProps, RefreshButton, type Relationship, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, type SelectPropsWithGroupItems, type SelectPropsWithItems, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, type SelectTestIds, SelectTriggerBase, SelectValueBase, SeparatorBase, type SeriesConfig, type SeriesCounts, type SeriesEntry, type SeriesOrder, type SeriesProp, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, StartHour, StartHourAgenda, StatusIndicator, type StatusProps, SwitchBase, type SystemData, SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type TextAreaBaseProps, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, type TimePickerType, TimeSeries, type TimeSeriesConfig, Toaster, type TooltipAdaptedRow, TooltipBase, TooltipContentBase, type TooltipItem$2 as TooltipItem, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, type ValueFormatter, type ValueFormatterType, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, type XAxisConfig, type YAxes, type YAxisMap, type YAxisOptions, type YAxisSide, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, type valueFormatter, visualForItem };
2743
+ export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, type AvatarComboboxItem, type AvatarComboboxProps, type AvatarComboboxPropsWithGroupItems, type AvatarComboboxPropsWithItems, type AvatarComboboxTestIds, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, type BadgeColorType, type BadgeRankType, type BannerProps, type BiaxialConfig, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush, ButtonBase, ButtonGroupBase, type ButtonProps, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, type CalendarEvent, type CalendarEventAgenda, type CalendarProps, type CalendarView, type CalendarViewAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, type CarouselBaseProps, type CarouselItem, ChangeButton, Chart, ChartControls, type ChartData$3 as ChartData, ChartHeader, type ChartHooksArgs, type ChartProps, ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, type CircularProgressProps, CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, type CommandGroup, CommandGroupBase, CommandInputBase, type CommandItem, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, type CommandPaletteProps, CommandSeparatorBase, CommandShortcutBase, type Connection, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, type ControlledComboboxItem, type ControlledComboboxProps, type ControlledComboboxTestIds, CopyButton, type DataMapper, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, type DebouncedInputProps, type DefaultAvatarComboboxProps, DefaultEndHour, DefaultEndHourAgenda, type DefaultMultiSelectProps, type DefaultSelectProps, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, type DisabledSlot, type DisabledSlots, DownloadButton, DraggableEvent, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage, EventAgenda, EventCalendar, type EventColor, type EventColorAgenda, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, type FileUploaderProps, type FileWithPreview, type FilesAccepted, FilterButton, type FinalValueFormatter, GroupLabel, HideButton, Highlights, HorizontalChart, HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, type IconProps, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, type Integration, type IntegrationConnection, type IntegrationData, IntegrationModal, type IntegrationModalProps, type IntegrationProperties, type IntegrationProps, Kbd, KbdGroup, LabelBase, type LabelListContent, Leaderboard, type LeaderboardItem, type LeaderboardProps, type LegendItem, LikeButton, LoadingBase, LockButton, type MapperConfig, type MapperConfigEntry, type Margins, type MenuItem, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, type MultiComboboxProps, type MultiComboboxTestIds, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, type MultiSelectContextType, MultiSelectGroupBase, type MultiSelectItem, MultiSelectItemBase, type MultiSelectProps, type MultiSelectPropsWithGroupItems, type MultiSelectPropsWithItems, MultiSelectSeparatorBase, type MultiSelectTestIds, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Neo4jIntegration, type Neo4jNode, type Neo4jRelationship, type NewSelectProps, NoData, type Node, NotificationButton, NumericInput, type Padding, type Period, PeriodsDropdown, PieChartComponent, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, type Position$1 as Position, type Primitive, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, type ProgressType, type PropsLabelList, RadialMenu, RangePicker, type RangePickerProps, RefreshButton, type Relationship, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, type SelectPropsWithGroupItems, type SelectPropsWithItems, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, type SelectTestIds, SelectTriggerBase, SelectValueBase, SeparatorBase, type SeriesConfig, type SeriesCounts, type SeriesEntry, type SeriesOrder, type SeriesProp, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, StartHour, StartHourAgenda, StatusIndicator, type StatusProps, SwitchBase, type SystemData, SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type TextAreaBaseProps, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, type TimePickerType, TimeSeries, type TimeSeriesConfig, Toaster, type TooltipAdaptedRow, TooltipBase, TooltipContentBase, type TooltipItem$2 as TooltipItem, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, type ValueFormatter, type ValueFormatterType, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, type XAxisConfig, type YAxes, type YAxisMap, type YAxisOptions, type YAxisSide, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, type valueFormatter, visualForItem };
package/dist/index.d.ts CHANGED
@@ -809,6 +809,13 @@ type BannerProps = {
809
809
  id?: string;
810
810
  };
811
811
 
812
+ type DisabledSlot = {
813
+ start: Date;
814
+ from: Date;
815
+ allDay?: boolean;
816
+ };
817
+ type DisabledSlots = DisabledSlot[];
818
+
812
819
  interface DateTimePickerProps extends ErrorMessageProps {
813
820
  label?: string;
814
821
  date: Date | null;
@@ -820,12 +827,13 @@ interface DateTimePickerProps extends ErrorMessageProps {
820
827
  fromDate?: Date;
821
828
  toDate?: Date;
822
829
  disabled?: boolean;
830
+ disabledSlots?: DisabledSlot[];
823
831
  className?: string;
824
832
  error?: string;
825
833
  hideClear?: boolean;
826
834
  triggerIcon?: boolean;
827
835
  }
828
- declare function DateTimePicker({ label, date, onChange, onConfirm, displayFormat, hideTime, hideSeconds, fromDate, toDate, disabled, className, error, hideClear, triggerIcon, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
836
+ declare function DateTimePicker({ label, date, onChange, onConfirm, displayFormat, hideTime, hideSeconds, fromDate, toDate, disabled, className, error, hideClear, triggerIcon, disabledSlots, }: DateTimePickerProps): react_jsx_runtime.JSX.Element;
829
837
 
830
838
  interface RangePickerProps extends ErrorMessageProps {
831
839
  value?: DateRange;
@@ -2732,4 +2740,4 @@ declare const useDrag: (options?: UseDragOptions) => {
2732
2740
  isDragging: boolean;
2733
2741
  };
2734
2742
 
2735
- export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, type AvatarComboboxItem, type AvatarComboboxProps, type AvatarComboboxPropsWithGroupItems, type AvatarComboboxPropsWithItems, type AvatarComboboxTestIds, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, type BadgeColorType, type BadgeRankType, type BannerProps, type BiaxialConfig, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush, ButtonBase, ButtonGroupBase, type ButtonProps, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, type CalendarEvent, type CalendarEventAgenda, type CalendarProps, type CalendarView, type CalendarViewAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, type CarouselBaseProps, type CarouselItem, ChangeButton, Chart, ChartControls, type ChartData$3 as ChartData, ChartHeader, type ChartHooksArgs, type ChartProps, ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, type CircularProgressProps, CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, type CommandGroup, CommandGroupBase, CommandInputBase, type CommandItem, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, type CommandPaletteProps, CommandSeparatorBase, CommandShortcutBase, type Connection, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, type ControlledComboboxItem, type ControlledComboboxProps, type ControlledComboboxTestIds, CopyButton, type DataMapper, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, type DebouncedInputProps, type DefaultAvatarComboboxProps, DefaultEndHour, DefaultEndHourAgenda, type DefaultMultiSelectProps, type DefaultSelectProps, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage, EventAgenda, EventCalendar, type EventColor, type EventColorAgenda, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, type FileUploaderProps, type FileWithPreview, type FilesAccepted, FilterButton, type FinalValueFormatter, GroupLabel, HideButton, Highlights, HorizontalChart, HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, type IconProps, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, type Integration, type IntegrationConnection, type IntegrationData, IntegrationModal, type IntegrationModalProps, type IntegrationProperties, type IntegrationProps, Kbd, KbdGroup, LabelBase, type LabelListContent, Leaderboard, type LeaderboardItem, type LeaderboardProps, type LegendItem, LikeButton, LoadingBase, LockButton, type MapperConfig, type MapperConfigEntry, type Margins, type MenuItem, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, type MultiComboboxProps, type MultiComboboxTestIds, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, type MultiSelectContextType, MultiSelectGroupBase, type MultiSelectItem, MultiSelectItemBase, type MultiSelectProps, type MultiSelectPropsWithGroupItems, type MultiSelectPropsWithItems, MultiSelectSeparatorBase, type MultiSelectTestIds, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Neo4jIntegration, type Neo4jNode, type Neo4jRelationship, type NewSelectProps, NoData, type Node, NotificationButton, NumericInput, type Padding, type Period, PeriodsDropdown, PieChartComponent, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, type Position$1 as Position, type Primitive, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, type ProgressType, type PropsLabelList, RadialMenu, RangePicker, type RangePickerProps, RefreshButton, type Relationship, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, type SelectPropsWithGroupItems, type SelectPropsWithItems, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, type SelectTestIds, SelectTriggerBase, SelectValueBase, SeparatorBase, type SeriesConfig, type SeriesCounts, type SeriesEntry, type SeriesOrder, type SeriesProp, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, StartHour, StartHourAgenda, StatusIndicator, type StatusProps, SwitchBase, type SystemData, SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type TextAreaBaseProps, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, type TimePickerType, TimeSeries, type TimeSeriesConfig, Toaster, type TooltipAdaptedRow, TooltipBase, TooltipContentBase, type TooltipItem$2 as TooltipItem, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, type ValueFormatter, type ValueFormatterType, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, type XAxisConfig, type YAxes, type YAxisMap, type YAxisOptions, type YAxisSide, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, type valueFormatter, visualForItem };
2743
+ export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, type AvatarComboboxItem, type AvatarComboboxProps, type AvatarComboboxPropsWithGroupItems, type AvatarComboboxPropsWithItems, type AvatarComboboxTestIds, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, type BadgeColorType, type BadgeRankType, type BannerProps, type BiaxialConfig, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush, ButtonBase, ButtonGroupBase, type ButtonProps, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, type CalendarEvent, type CalendarEventAgenda, type CalendarProps, type CalendarView, type CalendarViewAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, type CarouselBaseProps, type CarouselItem, ChangeButton, Chart, ChartControls, type ChartData$3 as ChartData, ChartHeader, type ChartHooksArgs, type ChartProps, ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, type CircularProgressProps, CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, type CommandGroup, CommandGroupBase, CommandInputBase, type CommandItem, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, type CommandPaletteProps, CommandSeparatorBase, CommandShortcutBase, type Connection, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, type ControlledComboboxItem, type ControlledComboboxProps, type ControlledComboboxTestIds, CopyButton, type DataMapper, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, type DebouncedInputProps, type DefaultAvatarComboboxProps, DefaultEndHour, DefaultEndHourAgenda, type DefaultMultiSelectProps, type DefaultSelectProps, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, type DisabledSlot, type DisabledSlots, DownloadButton, DraggableEvent, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage, EventAgenda, EventCalendar, type EventColor, type EventColorAgenda, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, type FileUploaderProps, type FileWithPreview, type FilesAccepted, FilterButton, type FinalValueFormatter, GroupLabel, HideButton, Highlights, HorizontalChart, HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, type IconProps, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, type Integration, type IntegrationConnection, type IntegrationData, IntegrationModal, type IntegrationModalProps, type IntegrationProperties, type IntegrationProps, Kbd, KbdGroup, LabelBase, type LabelListContent, Leaderboard, type LeaderboardItem, type LeaderboardProps, type LegendItem, LikeButton, LoadingBase, LockButton, type MapperConfig, type MapperConfigEntry, type Margins, type MenuItem, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, type MultiComboboxProps, type MultiComboboxTestIds, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, type MultiSelectContextType, MultiSelectGroupBase, type MultiSelectItem, MultiSelectItemBase, type MultiSelectProps, type MultiSelectPropsWithGroupItems, type MultiSelectPropsWithItems, MultiSelectSeparatorBase, type MultiSelectTestIds, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Neo4jIntegration, type Neo4jNode, type Neo4jRelationship, type NewSelectProps, NoData, type Node, NotificationButton, NumericInput, type Padding, type Period, PeriodsDropdown, PieChartComponent, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, type Position$1 as Position, type Primitive, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, type ProgressType, type PropsLabelList, RadialMenu, RangePicker, type RangePickerProps, RefreshButton, type Relationship, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, type SelectPropsWithGroupItems, type SelectPropsWithItems, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, type SelectTestIds, SelectTriggerBase, SelectValueBase, SeparatorBase, type SeriesConfig, type SeriesCounts, type SeriesEntry, type SeriesOrder, type SeriesProp, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, StartHour, StartHourAgenda, StatusIndicator, type StatusProps, SwitchBase, type SystemData, SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type TextAreaBaseProps, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, type TimePickerType, TimeSeries, type TimeSeriesConfig, Toaster, type TooltipAdaptedRow, TooltipBase, TooltipContentBase, type TooltipItem$2 as TooltipItem, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, type ValueFormatter, type ValueFormatterType, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, type XAxisConfig, type YAxes, type YAxisMap, type YAxisOptions, type YAxisSide, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, type valueFormatter, visualForItem };
package/dist/index.js CHANGED
@@ -7694,10 +7694,13 @@ function useScrollColumn({
7694
7694
  value,
7695
7695
  onChange,
7696
7696
  max: max2,
7697
- step = 1
7697
+ step = 1,
7698
+ disabledValues = []
7698
7699
  }) {
7699
7700
  const containerRef = React32.useRef(null);
7700
- const items = getItems(max2, step);
7701
+ const rawItems = getItems(max2, step);
7702
+ const disabledSet = new Set(disabledValues);
7703
+ const items = rawItems.filter((it) => !disabledSet.has(it));
7701
7704
  const scrollTimeoutRef = React32.useRef(null);
7702
7705
  const isScrollingRef = React32.useRef(false);
7703
7706
  const [isDragging, setIsDragging] = React32.useState(false);
@@ -7707,14 +7710,30 @@ function useScrollColumn({
7707
7710
  const centerIndex = CENTER_INDEX;
7708
7711
  const visibleItems = VISIBLE_ITEMS;
7709
7712
  const containerHeight = visibleItems * itemHeight;
7713
+ const disabledKey = disabledValues.join("|");
7710
7714
  React32.useEffect(() => {
7711
- if (containerRef.current && !isScrollingRef.current) {
7712
- const index = Math.round(value / step);
7713
- const clampedIndex = Math.max(0, Math.min(items.length - 1, index));
7714
- const scrollPosition = clampedIndex * itemHeight;
7715
- containerRef.current.scrollTop = scrollPosition;
7715
+ if (!containerRef.current || isScrollingRef.current) return;
7716
+ if (items.length === 0) {
7717
+ containerRef.current.scrollTop = 0;
7718
+ return;
7719
+ }
7720
+ const exactIndex = items.indexOf(value);
7721
+ if (exactIndex >= 0) {
7722
+ containerRef.current.scrollTop = exactIndex * itemHeight;
7723
+ return;
7716
7724
  }
7717
- }, [value, itemHeight, step, items.length]);
7725
+ const target = value;
7726
+ let nearestIndex = 0;
7727
+ let nearestDistance = Infinity;
7728
+ for (let i = 0; i < items.length; i++) {
7729
+ const dist = Math.abs(items[i] - target);
7730
+ if (dist < nearestDistance) {
7731
+ nearestDistance = dist;
7732
+ nearestIndex = i;
7733
+ }
7734
+ }
7735
+ containerRef.current.scrollTop = nearestIndex * itemHeight;
7736
+ }, [value, itemHeight, step, items, items.length, disabledKey]);
7718
7737
  React32.useEffect(() => {
7719
7738
  return () => {
7720
7739
  if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);
@@ -7726,6 +7745,7 @@ function useScrollColumn({
7726
7745
  if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);
7727
7746
  scrollTimeoutRef.current = setTimeout(() => {
7728
7747
  if (!containerRef.current) return;
7748
+ if (items.length === 0) return;
7729
7749
  const newIndex = Math.round(containerRef.current.scrollTop / itemHeight);
7730
7750
  const newValue = items[newIndex];
7731
7751
  if (newValue !== void 0 && newValue !== value) {
@@ -7767,8 +7787,24 @@ function ScrollColumn({
7767
7787
  onChange,
7768
7788
  max: max2,
7769
7789
  label,
7770
- step = 1
7790
+ step = 1,
7791
+ currentDate,
7792
+ unit,
7793
+ disabledRanges = []
7771
7794
  }) {
7795
+ const rawItems = getItems(max2, step);
7796
+ const disabledSet = /* @__PURE__ */ new Set();
7797
+ rawItems.forEach((item) => {
7798
+ const candidate = new Date(currentDate ?? /* @__PURE__ */ new Date());
7799
+ if (unit === "hours") candidate.setHours(item, 0, 0, 0);
7800
+ else if (unit === "minutes") candidate.setMinutes(item, 0, 0);
7801
+ else candidate.setSeconds(item);
7802
+ const isDisabled = disabledRanges.some(
7803
+ (r) => candidate >= r.start && candidate <= r.end
7804
+ );
7805
+ if (isDisabled) disabledSet.add(item);
7806
+ });
7807
+ const disabledValues = Array.from(disabledSet);
7772
7808
  const {
7773
7809
  items,
7774
7810
  containerRef,
@@ -7780,7 +7816,7 @@ function ScrollColumn({
7780
7816
  handleMouseMove,
7781
7817
  handleMouseUp,
7782
7818
  isDragging
7783
- } = useScrollColumn({ value, onChange, max: max2, step });
7819
+ } = useScrollColumn({ value, onChange, max: max2, step, disabledValues });
7784
7820
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
7785
7821
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground rounded-md font-semibold text-sm text-center pb-2 uppercase tracking-wider", children: label }),
7786
7822
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative w-20"), children: [
@@ -7837,9 +7873,37 @@ function ScrollColumn({
7837
7873
  function TimeScrollPicker({
7838
7874
  date,
7839
7875
  setDate,
7840
- hideSeconds = false
7876
+ hideSeconds = false,
7877
+ disabledSlots = []
7841
7878
  }) {
7842
7879
  const currentDate = date || /* @__PURE__ */ new Date();
7880
+ const overlapsDay = (start, end, day) => {
7881
+ const dayStart2 = new Date(day);
7882
+ dayStart2.setHours(0, 0, 0, 0);
7883
+ const dayEnd2 = new Date(day);
7884
+ dayEnd2.setHours(23, 59, 59, 999);
7885
+ return start <= dayEnd2 && end >= dayStart2;
7886
+ };
7887
+ const clamp = (d, min2, max2) => {
7888
+ if (d < min2) return min2;
7889
+ if (d > max2) return max2;
7890
+ return d;
7891
+ };
7892
+ const matchedSlots = (disabledSlots || []).filter((s) => {
7893
+ if (!s?.start || !s?.from) return false;
7894
+ return overlapsDay(s.start, s.from, currentDate);
7895
+ });
7896
+ const dayStart = new Date(currentDate);
7897
+ dayStart.setHours(0, 0, 0, 0);
7898
+ const dayEnd = new Date(currentDate);
7899
+ dayEnd.setHours(23, 59, 59, 999);
7900
+ const disabledRanges = matchedSlots.map(
7901
+ (s) => {
7902
+ const start = clamp(s.start, dayStart, dayEnd);
7903
+ const end = clamp(s.from, dayStart, dayEnd);
7904
+ return { start, end };
7905
+ }
7906
+ );
7843
7907
  const handleTimeChange = (type, value) => {
7844
7908
  const newDate = new Date(currentDate);
7845
7909
  if (type === "hours") newDate.setHours(value);
@@ -7855,7 +7919,10 @@ function TimeScrollPicker({
7855
7919
  onChange: (v) => handleTimeChange("hours", v),
7856
7920
  max: 24,
7857
7921
  label: "Hora",
7858
- step: 1
7922
+ step: 1,
7923
+ currentDate,
7924
+ unit: "hours",
7925
+ disabledRanges
7859
7926
  }
7860
7927
  ),
7861
7928
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7865,7 +7932,10 @@ function TimeScrollPicker({
7865
7932
  onChange: (v) => handleTimeChange("minutes", v),
7866
7933
  max: 60,
7867
7934
  step: 5,
7868
- label: "Min"
7935
+ label: "Min",
7936
+ currentDate,
7937
+ unit: "minutes",
7938
+ disabledRanges
7869
7939
  }
7870
7940
  ),
7871
7941
  !hideSeconds && /* @__PURE__ */ jsxRuntime.jsx(
@@ -7875,7 +7945,10 @@ function TimeScrollPicker({
7875
7945
  onChange: (v) => handleTimeChange("seconds", v),
7876
7946
  max: 60,
7877
7947
  label: "Seg",
7878
- step: 1
7948
+ step: 1,
7949
+ currentDate,
7950
+ unit: "seconds",
7951
+ disabledRanges
7879
7952
  }
7880
7953
  )
7881
7954
  ] }) });
@@ -7922,8 +7995,19 @@ function DateTimePicker({
7922
7995
  className,
7923
7996
  error,
7924
7997
  hideClear = true,
7925
- triggerIcon
7998
+ triggerIcon,
7999
+ disabledSlots
7926
8000
  }) {
8001
+ const allDayDates = (disabledSlots || []).filter((s) => s.allDay).map((s) => s.start).filter(Boolean);
8002
+ const allDaySet = new Set(allDayDates.map((d) => d.toDateString()));
8003
+ const buildDisabledProp = () => {
8004
+ const arr = [];
8005
+ if (fromDate) arr.push({ before: fromDate });
8006
+ if (toDate) arr.push({ after: toDate });
8007
+ if (allDaySet.size) arr.push((d) => allDaySet.has(d.toDateString()));
8008
+ return arr.length > 0 ? arr : void 0;
8009
+ };
8010
+ const calendarDisabled = buildDisabledProp();
7927
8011
  const [internalDate, setInternalDate] = React32.useState(date);
7928
8012
  const [open, setOpen] = React32.useState(false);
7929
8013
  const [activeTab, setActiveTab] = React32.useState("calendar");
@@ -8060,12 +8144,7 @@ function DateTimePicker({
8060
8144
  defaultMonth: fromDate ?? toDate ?? internalDate ?? void 0,
8061
8145
  ...fromDate && { startMonth: fromDate },
8062
8146
  ...toDate && { endMonth: toDate },
8063
- ...fromDate || toDate ? {
8064
- disabled: [
8065
- ...fromDate ? [{ before: fromDate }] : [],
8066
- ...toDate ? [{ after: toDate }] : []
8067
- ]
8068
- } : {},
8147
+ ...calendarDisabled ? { disabled: calendarDisabled } : {},
8069
8148
  className: cn("w-full rounded-none border-none")
8070
8149
  }
8071
8150
  ) }),
@@ -8074,7 +8153,8 @@ function DateTimePicker({
8074
8153
  {
8075
8154
  setDate: (d) => handleTimeChange(d ?? null),
8076
8155
  date: internalDate,
8077
- hideSeconds
8156
+ hideSeconds,
8157
+ disabledSlots
8078
8158
  }
8079
8159
  ) }) })
8080
8160
  ] })
@@ -8095,12 +8175,7 @@ function DateTimePicker({
8095
8175
  defaultMonth: fromDate ?? toDate ?? internalDate ?? void 0,
8096
8176
  ...fromDate && { startMonth: fromDate },
8097
8177
  ...toDate && { endMonth: toDate },
8098
- ...fromDate || toDate ? {
8099
- disabled: [
8100
- ...fromDate ? [{ before: fromDate }] : [],
8101
- ...toDate ? [{ after: toDate }] : []
8102
- ]
8103
- } : {},
8178
+ ...calendarDisabled ? { disabled: calendarDisabled } : {},
8104
8179
  className: cn(
8105
8180
  "w-max rounded-none border-none",
8106
8181
  !hideTime && "sm:rounded-r-none"
@@ -8121,7 +8196,8 @@ function DateTimePicker({
8121
8196
  {
8122
8197
  setDate: (d) => handleTimeChange(d ?? null),
8123
8198
  date: internalDate,
8124
- hideSeconds
8199
+ hideSeconds,
8200
+ disabledSlots
8125
8201
  }
8126
8202
  )
8127
8203
  ]
@@ -22414,7 +22490,7 @@ function useCommandPalette({
22414
22490
  const [selectedItemIds, setSelectedItemIds] = React32__namespace.useState(
22415
22491
  /* @__PURE__ */ new Set()
22416
22492
  );
22417
- const toggleSelection = React32__namespace.useCallback((id) => {
22493
+ const toggleSelection = React32.useCallback((id) => {
22418
22494
  setSelectedItemIds((prev) => {
22419
22495
  const next = new Set(prev);
22420
22496
  if (next.has(id)) next.delete(id);
@@ -22422,11 +22498,8 @@ function useCommandPalette({
22422
22498
  return next;
22423
22499
  });
22424
22500
  }, []);
22425
- const clearSelection = React32__namespace.useCallback(
22426
- () => setSelectedItemIds(/* @__PURE__ */ new Set()),
22427
- []
22428
- );
22429
- const baseGroups = React32__namespace.useMemo(
22501
+ const clearSelection = React32.useCallback(() => setSelectedItemIds(/* @__PURE__ */ new Set()), []);
22502
+ const baseGroups = React32.useMemo(
22430
22503
  () => normaliseGroups(items, groups),
22431
22504
  [items, groups]
22432
22505
  );
@@ -22438,12 +22511,12 @@ function useCommandPalette({
22438
22511
  clearSelection();
22439
22512
  }
22440
22513
  }, [open, clearSelection]);
22441
- const searchTerms = React32__namespace.useMemo(() => {
22514
+ const searchTerms = React32.useMemo(() => {
22442
22515
  const parts = query.split(",");
22443
22516
  if (parts.length <= 1 && !multiSearch) return [];
22444
22517
  return parts.map((t) => t.trim().toLowerCase()).filter(Boolean);
22445
22518
  }, [query, multiSearch]);
22446
- const allMatchedGroups = React32__namespace.useMemo(() => {
22519
+ const allMatchedGroups = React32.useMemo(() => {
22447
22520
  if (!query.trim()) {
22448
22521
  if (recentItems.length > 0) {
22449
22522
  return [
@@ -22508,37 +22581,49 @@ function useCommandPalette({
22508
22581
  React32.useEffect(() => {
22509
22582
  setActiveIndex((i) => Math.min(i, Math.max(pageItemCount - 1, 0)));
22510
22583
  }, [pageItemCount]);
22511
- function executeBulkAction() {
22584
+ const executeBulkAction = React32.useCallback(() => {
22512
22585
  if (!onSelectMultiple || selectedItems.length === 0) return;
22513
22586
  onSelectMultiple(selectedItems);
22514
22587
  onOpenChange?.(false);
22515
- }
22516
- function handleSelect(item, event) {
22517
- if (!item) return;
22518
- if (multiSelect) {
22519
- if (event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey)) {
22520
- toggleSelection(item.id);
22521
- return;
22522
- }
22523
- if (selectedItems.length > 0) {
22524
- const itemsToSubmit = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22525
- if (onSelectMultiple) {
22526
- onSelectMultiple(itemsToSubmit);
22588
+ }, [onSelectMultiple, selectedItems, onOpenChange]);
22589
+ const handleSelect = React32.useCallback(
22590
+ (item, event) => {
22591
+ if (!item) return;
22592
+ if (multiSelect) {
22593
+ const isCmdKey = event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey);
22594
+ if (isCmdKey) {
22595
+ toggleSelection(item.id);
22596
+ return;
22597
+ }
22598
+ if (selectedItems.length > 0) {
22599
+ const finalItems = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22600
+ onSelectMultiple?.(finalItems);
22601
+ onOpenChange?.(false);
22602
+ return;
22527
22603
  }
22528
- onOpenChange?.(false);
22529
- return;
22530
22604
  }
22531
- }
22532
- item.onSelect();
22533
- onOpenChange?.(false);
22534
- if (onRecentItemsChange) {
22535
- const next = [item, ...recentItems.filter((r) => r.id !== item.id)].slice(
22536
- 0,
22537
- maxRecentItems
22538
- );
22539
- onRecentItemsChange(next);
22540
- }
22541
- }
22605
+ item.onSelect();
22606
+ onOpenChange?.(false);
22607
+ if (onRecentItemsChange) {
22608
+ const next = [
22609
+ item,
22610
+ ...recentItems.filter((r) => r.id !== item.id)
22611
+ ].slice(0, maxRecentItems);
22612
+ onRecentItemsChange(next);
22613
+ }
22614
+ },
22615
+ [
22616
+ multiSelect,
22617
+ selectedItems,
22618
+ selectedItemIds,
22619
+ onSelectMultiple,
22620
+ onOpenChange,
22621
+ onRecentItemsChange,
22622
+ recentItems,
22623
+ maxRecentItems,
22624
+ toggleSelection
22625
+ ]
22626
+ );
22542
22627
  React32.useEffect(() => {
22543
22628
  if (!open) return;
22544
22629
  const handler = (e) => {
@@ -22561,6 +22646,9 @@ function useCommandPalette({
22561
22646
  }
22562
22647
  } else if (e.key === "Enter") {
22563
22648
  e.preventDefault();
22649
+ if (multiSearch && query.includes(",")) {
22650
+ return;
22651
+ }
22564
22652
  if (multiSelect && (e.ctrlKey || e.metaKey)) {
22565
22653
  executeBulkAction();
22566
22654
  return;
@@ -22577,9 +22665,11 @@ function useCommandPalette({
22577
22665
  pageItemCount,
22578
22666
  page,
22579
22667
  totalPages,
22668
+ query,
22669
+ multiSearch,
22670
+ multiSelect,
22580
22671
  executeBulkAction,
22581
- handleSelect,
22582
- multiSelect
22672
+ handleSelect
22583
22673
  ]);
22584
22674
  return {
22585
22675
  query,
package/dist/index.mjs CHANGED
@@ -7652,10 +7652,13 @@ function useScrollColumn({
7652
7652
  value,
7653
7653
  onChange,
7654
7654
  max: max2,
7655
- step = 1
7655
+ step = 1,
7656
+ disabledValues = []
7656
7657
  }) {
7657
7658
  const containerRef = useRef(null);
7658
- const items = getItems(max2, step);
7659
+ const rawItems = getItems(max2, step);
7660
+ const disabledSet = new Set(disabledValues);
7661
+ const items = rawItems.filter((it) => !disabledSet.has(it));
7659
7662
  const scrollTimeoutRef = useRef(null);
7660
7663
  const isScrollingRef = useRef(false);
7661
7664
  const [isDragging, setIsDragging] = useState(false);
@@ -7665,14 +7668,30 @@ function useScrollColumn({
7665
7668
  const centerIndex = CENTER_INDEX;
7666
7669
  const visibleItems = VISIBLE_ITEMS;
7667
7670
  const containerHeight = visibleItems * itemHeight;
7671
+ const disabledKey = disabledValues.join("|");
7668
7672
  useEffect(() => {
7669
- if (containerRef.current && !isScrollingRef.current) {
7670
- const index = Math.round(value / step);
7671
- const clampedIndex = Math.max(0, Math.min(items.length - 1, index));
7672
- const scrollPosition = clampedIndex * itemHeight;
7673
- containerRef.current.scrollTop = scrollPosition;
7673
+ if (!containerRef.current || isScrollingRef.current) return;
7674
+ if (items.length === 0) {
7675
+ containerRef.current.scrollTop = 0;
7676
+ return;
7677
+ }
7678
+ const exactIndex = items.indexOf(value);
7679
+ if (exactIndex >= 0) {
7680
+ containerRef.current.scrollTop = exactIndex * itemHeight;
7681
+ return;
7674
7682
  }
7675
- }, [value, itemHeight, step, items.length]);
7683
+ const target = value;
7684
+ let nearestIndex = 0;
7685
+ let nearestDistance = Infinity;
7686
+ for (let i = 0; i < items.length; i++) {
7687
+ const dist = Math.abs(items[i] - target);
7688
+ if (dist < nearestDistance) {
7689
+ nearestDistance = dist;
7690
+ nearestIndex = i;
7691
+ }
7692
+ }
7693
+ containerRef.current.scrollTop = nearestIndex * itemHeight;
7694
+ }, [value, itemHeight, step, items, items.length, disabledKey]);
7676
7695
  useEffect(() => {
7677
7696
  return () => {
7678
7697
  if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);
@@ -7684,6 +7703,7 @@ function useScrollColumn({
7684
7703
  if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);
7685
7704
  scrollTimeoutRef.current = setTimeout(() => {
7686
7705
  if (!containerRef.current) return;
7706
+ if (items.length === 0) return;
7687
7707
  const newIndex = Math.round(containerRef.current.scrollTop / itemHeight);
7688
7708
  const newValue = items[newIndex];
7689
7709
  if (newValue !== void 0 && newValue !== value) {
@@ -7725,8 +7745,24 @@ function ScrollColumn({
7725
7745
  onChange,
7726
7746
  max: max2,
7727
7747
  label,
7728
- step = 1
7748
+ step = 1,
7749
+ currentDate,
7750
+ unit,
7751
+ disabledRanges = []
7729
7752
  }) {
7753
+ const rawItems = getItems(max2, step);
7754
+ const disabledSet = /* @__PURE__ */ new Set();
7755
+ rawItems.forEach((item) => {
7756
+ const candidate = new Date(currentDate ?? /* @__PURE__ */ new Date());
7757
+ if (unit === "hours") candidate.setHours(item, 0, 0, 0);
7758
+ else if (unit === "minutes") candidate.setMinutes(item, 0, 0);
7759
+ else candidate.setSeconds(item);
7760
+ const isDisabled = disabledRanges.some(
7761
+ (r) => candidate >= r.start && candidate <= r.end
7762
+ );
7763
+ if (isDisabled) disabledSet.add(item);
7764
+ });
7765
+ const disabledValues = Array.from(disabledSet);
7730
7766
  const {
7731
7767
  items,
7732
7768
  containerRef,
@@ -7738,7 +7774,7 @@ function ScrollColumn({
7738
7774
  handleMouseMove,
7739
7775
  handleMouseUp,
7740
7776
  isDragging
7741
- } = useScrollColumn({ value, onChange, max: max2, step });
7777
+ } = useScrollColumn({ value, onChange, max: max2, step, disabledValues });
7742
7778
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
7743
7779
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground rounded-md font-semibold text-sm text-center pb-2 uppercase tracking-wider", children: label }),
7744
7780
  /* @__PURE__ */ jsxs("div", { className: cn("relative w-20"), children: [
@@ -7795,9 +7831,37 @@ function ScrollColumn({
7795
7831
  function TimeScrollPicker({
7796
7832
  date,
7797
7833
  setDate,
7798
- hideSeconds = false
7834
+ hideSeconds = false,
7835
+ disabledSlots = []
7799
7836
  }) {
7800
7837
  const currentDate = date || /* @__PURE__ */ new Date();
7838
+ const overlapsDay = (start, end, day) => {
7839
+ const dayStart2 = new Date(day);
7840
+ dayStart2.setHours(0, 0, 0, 0);
7841
+ const dayEnd2 = new Date(day);
7842
+ dayEnd2.setHours(23, 59, 59, 999);
7843
+ return start <= dayEnd2 && end >= dayStart2;
7844
+ };
7845
+ const clamp = (d, min2, max2) => {
7846
+ if (d < min2) return min2;
7847
+ if (d > max2) return max2;
7848
+ return d;
7849
+ };
7850
+ const matchedSlots = (disabledSlots || []).filter((s) => {
7851
+ if (!s?.start || !s?.from) return false;
7852
+ return overlapsDay(s.start, s.from, currentDate);
7853
+ });
7854
+ const dayStart = new Date(currentDate);
7855
+ dayStart.setHours(0, 0, 0, 0);
7856
+ const dayEnd = new Date(currentDate);
7857
+ dayEnd.setHours(23, 59, 59, 999);
7858
+ const disabledRanges = matchedSlots.map(
7859
+ (s) => {
7860
+ const start = clamp(s.start, dayStart, dayEnd);
7861
+ const end = clamp(s.from, dayStart, dayEnd);
7862
+ return { start, end };
7863
+ }
7864
+ );
7801
7865
  const handleTimeChange = (type, value) => {
7802
7866
  const newDate = new Date(currentDate);
7803
7867
  if (type === "hours") newDate.setHours(value);
@@ -7813,7 +7877,10 @@ function TimeScrollPicker({
7813
7877
  onChange: (v) => handleTimeChange("hours", v),
7814
7878
  max: 24,
7815
7879
  label: "Hora",
7816
- step: 1
7880
+ step: 1,
7881
+ currentDate,
7882
+ unit: "hours",
7883
+ disabledRanges
7817
7884
  }
7818
7885
  ),
7819
7886
  /* @__PURE__ */ jsx(
@@ -7823,7 +7890,10 @@ function TimeScrollPicker({
7823
7890
  onChange: (v) => handleTimeChange("minutes", v),
7824
7891
  max: 60,
7825
7892
  step: 5,
7826
- label: "Min"
7893
+ label: "Min",
7894
+ currentDate,
7895
+ unit: "minutes",
7896
+ disabledRanges
7827
7897
  }
7828
7898
  ),
7829
7899
  !hideSeconds && /* @__PURE__ */ jsx(
@@ -7833,7 +7903,10 @@ function TimeScrollPicker({
7833
7903
  onChange: (v) => handleTimeChange("seconds", v),
7834
7904
  max: 60,
7835
7905
  label: "Seg",
7836
- step: 1
7906
+ step: 1,
7907
+ currentDate,
7908
+ unit: "seconds",
7909
+ disabledRanges
7837
7910
  }
7838
7911
  )
7839
7912
  ] }) });
@@ -7880,8 +7953,19 @@ function DateTimePicker({
7880
7953
  className,
7881
7954
  error,
7882
7955
  hideClear = true,
7883
- triggerIcon
7956
+ triggerIcon,
7957
+ disabledSlots
7884
7958
  }) {
7959
+ const allDayDates = (disabledSlots || []).filter((s) => s.allDay).map((s) => s.start).filter(Boolean);
7960
+ const allDaySet = new Set(allDayDates.map((d) => d.toDateString()));
7961
+ const buildDisabledProp = () => {
7962
+ const arr = [];
7963
+ if (fromDate) arr.push({ before: fromDate });
7964
+ if (toDate) arr.push({ after: toDate });
7965
+ if (allDaySet.size) arr.push((d) => allDaySet.has(d.toDateString()));
7966
+ return arr.length > 0 ? arr : void 0;
7967
+ };
7968
+ const calendarDisabled = buildDisabledProp();
7885
7969
  const [internalDate, setInternalDate] = useState(date);
7886
7970
  const [open, setOpen] = useState(false);
7887
7971
  const [activeTab, setActiveTab] = useState("calendar");
@@ -8018,12 +8102,7 @@ function DateTimePicker({
8018
8102
  defaultMonth: fromDate ?? toDate ?? internalDate ?? void 0,
8019
8103
  ...fromDate && { startMonth: fromDate },
8020
8104
  ...toDate && { endMonth: toDate },
8021
- ...fromDate || toDate ? {
8022
- disabled: [
8023
- ...fromDate ? [{ before: fromDate }] : [],
8024
- ...toDate ? [{ after: toDate }] : []
8025
- ]
8026
- } : {},
8105
+ ...calendarDisabled ? { disabled: calendarDisabled } : {},
8027
8106
  className: cn("w-full rounded-none border-none")
8028
8107
  }
8029
8108
  ) }),
@@ -8032,7 +8111,8 @@ function DateTimePicker({
8032
8111
  {
8033
8112
  setDate: (d) => handleTimeChange(d ?? null),
8034
8113
  date: internalDate,
8035
- hideSeconds
8114
+ hideSeconds,
8115
+ disabledSlots
8036
8116
  }
8037
8117
  ) }) })
8038
8118
  ] })
@@ -8053,12 +8133,7 @@ function DateTimePicker({
8053
8133
  defaultMonth: fromDate ?? toDate ?? internalDate ?? void 0,
8054
8134
  ...fromDate && { startMonth: fromDate },
8055
8135
  ...toDate && { endMonth: toDate },
8056
- ...fromDate || toDate ? {
8057
- disabled: [
8058
- ...fromDate ? [{ before: fromDate }] : [],
8059
- ...toDate ? [{ after: toDate }] : []
8060
- ]
8061
- } : {},
8136
+ ...calendarDisabled ? { disabled: calendarDisabled } : {},
8062
8137
  className: cn(
8063
8138
  "w-max rounded-none border-none",
8064
8139
  !hideTime && "sm:rounded-r-none"
@@ -8079,7 +8154,8 @@ function DateTimePicker({
8079
8154
  {
8080
8155
  setDate: (d) => handleTimeChange(d ?? null),
8081
8156
  date: internalDate,
8082
- hideSeconds
8157
+ hideSeconds,
8158
+ disabledSlots
8083
8159
  }
8084
8160
  )
8085
8161
  ]
@@ -22372,7 +22448,7 @@ function useCommandPalette({
22372
22448
  const [selectedItemIds, setSelectedItemIds] = React32.useState(
22373
22449
  /* @__PURE__ */ new Set()
22374
22450
  );
22375
- const toggleSelection = React32.useCallback((id) => {
22451
+ const toggleSelection = useCallback((id) => {
22376
22452
  setSelectedItemIds((prev) => {
22377
22453
  const next = new Set(prev);
22378
22454
  if (next.has(id)) next.delete(id);
@@ -22380,11 +22456,8 @@ function useCommandPalette({
22380
22456
  return next;
22381
22457
  });
22382
22458
  }, []);
22383
- const clearSelection = React32.useCallback(
22384
- () => setSelectedItemIds(/* @__PURE__ */ new Set()),
22385
- []
22386
- );
22387
- const baseGroups = React32.useMemo(
22459
+ const clearSelection = useCallback(() => setSelectedItemIds(/* @__PURE__ */ new Set()), []);
22460
+ const baseGroups = useMemo(
22388
22461
  () => normaliseGroups(items, groups),
22389
22462
  [items, groups]
22390
22463
  );
@@ -22396,12 +22469,12 @@ function useCommandPalette({
22396
22469
  clearSelection();
22397
22470
  }
22398
22471
  }, [open, clearSelection]);
22399
- const searchTerms = React32.useMemo(() => {
22472
+ const searchTerms = useMemo(() => {
22400
22473
  const parts = query.split(",");
22401
22474
  if (parts.length <= 1 && !multiSearch) return [];
22402
22475
  return parts.map((t) => t.trim().toLowerCase()).filter(Boolean);
22403
22476
  }, [query, multiSearch]);
22404
- const allMatchedGroups = React32.useMemo(() => {
22477
+ const allMatchedGroups = useMemo(() => {
22405
22478
  if (!query.trim()) {
22406
22479
  if (recentItems.length > 0) {
22407
22480
  return [
@@ -22466,37 +22539,49 @@ function useCommandPalette({
22466
22539
  useEffect(() => {
22467
22540
  setActiveIndex((i) => Math.min(i, Math.max(pageItemCount - 1, 0)));
22468
22541
  }, [pageItemCount]);
22469
- function executeBulkAction() {
22542
+ const executeBulkAction = useCallback(() => {
22470
22543
  if (!onSelectMultiple || selectedItems.length === 0) return;
22471
22544
  onSelectMultiple(selectedItems);
22472
22545
  onOpenChange?.(false);
22473
- }
22474
- function handleSelect(item, event) {
22475
- if (!item) return;
22476
- if (multiSelect) {
22477
- if (event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey)) {
22478
- toggleSelection(item.id);
22479
- return;
22480
- }
22481
- if (selectedItems.length > 0) {
22482
- const itemsToSubmit = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22483
- if (onSelectMultiple) {
22484
- onSelectMultiple(itemsToSubmit);
22546
+ }, [onSelectMultiple, selectedItems, onOpenChange]);
22547
+ const handleSelect = useCallback(
22548
+ (item, event) => {
22549
+ if (!item) return;
22550
+ if (multiSelect) {
22551
+ const isCmdKey = event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey);
22552
+ if (isCmdKey) {
22553
+ toggleSelection(item.id);
22554
+ return;
22555
+ }
22556
+ if (selectedItems.length > 0) {
22557
+ const finalItems = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22558
+ onSelectMultiple?.(finalItems);
22559
+ onOpenChange?.(false);
22560
+ return;
22485
22561
  }
22486
- onOpenChange?.(false);
22487
- return;
22488
22562
  }
22489
- }
22490
- item.onSelect();
22491
- onOpenChange?.(false);
22492
- if (onRecentItemsChange) {
22493
- const next = [item, ...recentItems.filter((r) => r.id !== item.id)].slice(
22494
- 0,
22495
- maxRecentItems
22496
- );
22497
- onRecentItemsChange(next);
22498
- }
22499
- }
22563
+ item.onSelect();
22564
+ onOpenChange?.(false);
22565
+ if (onRecentItemsChange) {
22566
+ const next = [
22567
+ item,
22568
+ ...recentItems.filter((r) => r.id !== item.id)
22569
+ ].slice(0, maxRecentItems);
22570
+ onRecentItemsChange(next);
22571
+ }
22572
+ },
22573
+ [
22574
+ multiSelect,
22575
+ selectedItems,
22576
+ selectedItemIds,
22577
+ onSelectMultiple,
22578
+ onOpenChange,
22579
+ onRecentItemsChange,
22580
+ recentItems,
22581
+ maxRecentItems,
22582
+ toggleSelection
22583
+ ]
22584
+ );
22500
22585
  useEffect(() => {
22501
22586
  if (!open) return;
22502
22587
  const handler = (e) => {
@@ -22519,6 +22604,9 @@ function useCommandPalette({
22519
22604
  }
22520
22605
  } else if (e.key === "Enter") {
22521
22606
  e.preventDefault();
22607
+ if (multiSearch && query.includes(",")) {
22608
+ return;
22609
+ }
22522
22610
  if (multiSelect && (e.ctrlKey || e.metaKey)) {
22523
22611
  executeBulkAction();
22524
22612
  return;
@@ -22535,9 +22623,11 @@ function useCommandPalette({
22535
22623
  pageItemCount,
22536
22624
  page,
22537
22625
  totalPages,
22626
+ query,
22627
+ multiSearch,
22628
+ multiSelect,
22538
22629
  executeBulkAction,
22539
- handleSelect,
22540
- multiSelect
22630
+ handleSelect
22541
22631
  ]);
22542
22632
  return {
22543
22633
  query,
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "access": "public",
6
6
  "type": "module"
7
7
  },
8
- "version": "1.10.25",
8
+ "version": "1.10.27",
9
9
  "homepage": "https://main--68e80310a069c2f10b546ef3.chromatic.com/",
10
10
  "repository": {
11
11
  "type": "git",