@ikatec/nebula-react 1.0.24 → 1.0.25

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
@@ -1,6 +1,6 @@
1
1
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentProps, PropsWithChildren, HTMLAttributes, ReactNode } from 'react';
3
+ import React__default, { ComponentProps, PropsWithChildren, HTMLAttributes, ReactNode, DragEvent, ChangeEvent, InputHTMLAttributes, MutableRefObject } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as PopoverPrimitive from '@radix-ui/react-popover';
6
6
  import * as LabelPrimitive from '@radix-ui/react-label';
@@ -593,6 +593,7 @@ interface InputDatePickerSingleProps extends Omit<InputTextProps, 'onChange' | '
593
593
  className?: string;
594
594
  disabledDates?: CalendarProps['disabled'];
595
595
  onClean?: VoidFunction;
596
+ popoverContainer?: HTMLElement | null;
596
597
  }
597
598
  declare const dateIsAvailable: (inputDate?: Date | null, disabledDates?: InputDatePickerSingleProps["disabledDates"]) => boolean;
598
599
  declare const InputDatePickerSingle: ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDatePickerSingleProps) => react_jsx_runtime.JSX.Element;
@@ -639,6 +640,30 @@ declare enum FileUploadError {
639
640
  MAXIMUM_FILE_SIZE_EXCEEDED = "MAXIMUM_FILE_SIZE_EXCEEDED",
640
641
  INVALID_FORMAT = "INVALID_FORMAT"
641
642
  }
643
+ type FileUploadState = {
644
+ files: FileWithPreview[];
645
+ isDragging: boolean;
646
+ errors: {
647
+ file?: File | FileMetadata;
648
+ error: FileUploadError;
649
+ }[];
650
+ };
651
+ type FileUploadActions = {
652
+ addFiles: (files: FileList | File[]) => void;
653
+ removeFile: (id: string) => void;
654
+ clearFiles: () => void;
655
+ clearErrors: () => void;
656
+ handleDragEnter: (e: DragEvent<HTMLElement>) => void;
657
+ handleDragLeave: (e: DragEvent<HTMLElement>) => void;
658
+ handleDragOver: (e: DragEvent<HTMLElement>) => void;
659
+ handleDrop: (e: DragEvent<HTMLElement>) => void;
660
+ handleFileChange: (e: ChangeEvent<HTMLInputElement>) => void;
661
+ openFileDialog: () => void;
662
+ getInputProps: (props?: InputHTMLAttributes<HTMLInputElement>) => InputHTMLAttributes<HTMLInputElement> & {
663
+ ref: React__default.Ref<HTMLInputElement>;
664
+ };
665
+ };
666
+ declare const useFileUpload: (options?: FileUploadOptions) => [FileUploadState, FileUploadActions];
642
667
  declare const formatBytes: (bytes: number, decimals?: number) => string;
643
668
 
644
669
  interface FileUploadProps extends Omit<FileUploadOptions, 'maxSize'> {
@@ -742,4 +767,9 @@ declare const NebulaI18nProvider: ({ children, customI18nStorageKey, }: NebulaI1
742
767
  */
743
768
  declare const useNebulaI18n: () => NebulaI18nContextType;
744
769
 
745
- export { Accordion, AccordionContent, AccordionDescription, AccordionItem, type AccordionProps, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, type BadgeProps, Box, type BoxProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Caption, type CaptionProps, Checkbox, type CheckboxProps, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FileMetadata, FileUpload, FileUploadError, type FileUploadOptions, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateTimePickerSingle, type InputDateTimePickerSingleProps, InputPhone, InputText, type InputTextProps, InputTime, type InputTimeProps, Label, Link, type LinkProps, NebulaI18nProvider, type NebulaI18nProviderProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Popover, PopoverContent, type PopoverContentProps, PopoverTrigger, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TextArea, type TextAreaProps, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useNebulaI18n };
770
+ type PossibleRefs<T extends HTMLElement> = MutableRefObject<T | undefined | null> | MutableRefObject<T | undefined | null>[];
771
+ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, onClickOutside: VoidFunction): void;
772
+
773
+ declare function useKeyPress(key: string, callback: VoidFunction): void;
774
+
775
+ export { Accordion, AccordionContent, AccordionDescription, AccordionItem, type AccordionProps, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, type BadgeProps, Box, type BoxProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Caption, type CaptionProps, Checkbox, type CheckboxProps, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FileMetadata, FileUpload, type FileUploadActions, FileUploadError, type FileUploadOptions, type FileUploadState, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateTimePickerSingle, type InputDateTimePickerSingleProps, InputPhone, InputText, type InputTextProps, InputTime, type InputTimeProps, Label, Link, type LinkProps, NebulaI18nProvider, type NebulaI18nProviderProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Popover, PopoverContent, type PopoverContentProps, PopoverTrigger, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TextArea, type TextAreaProps, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentProps, PropsWithChildren, HTMLAttributes, ReactNode } from 'react';
3
+ import React__default, { ComponentProps, PropsWithChildren, HTMLAttributes, ReactNode, DragEvent, ChangeEvent, InputHTMLAttributes, MutableRefObject } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as PopoverPrimitive from '@radix-ui/react-popover';
6
6
  import * as LabelPrimitive from '@radix-ui/react-label';
@@ -593,6 +593,7 @@ interface InputDatePickerSingleProps extends Omit<InputTextProps, 'onChange' | '
593
593
  className?: string;
594
594
  disabledDates?: CalendarProps['disabled'];
595
595
  onClean?: VoidFunction;
596
+ popoverContainer?: HTMLElement | null;
596
597
  }
597
598
  declare const dateIsAvailable: (inputDate?: Date | null, disabledDates?: InputDatePickerSingleProps["disabledDates"]) => boolean;
598
599
  declare const InputDatePickerSingle: ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDatePickerSingleProps) => react_jsx_runtime.JSX.Element;
@@ -639,6 +640,30 @@ declare enum FileUploadError {
639
640
  MAXIMUM_FILE_SIZE_EXCEEDED = "MAXIMUM_FILE_SIZE_EXCEEDED",
640
641
  INVALID_FORMAT = "INVALID_FORMAT"
641
642
  }
643
+ type FileUploadState = {
644
+ files: FileWithPreview[];
645
+ isDragging: boolean;
646
+ errors: {
647
+ file?: File | FileMetadata;
648
+ error: FileUploadError;
649
+ }[];
650
+ };
651
+ type FileUploadActions = {
652
+ addFiles: (files: FileList | File[]) => void;
653
+ removeFile: (id: string) => void;
654
+ clearFiles: () => void;
655
+ clearErrors: () => void;
656
+ handleDragEnter: (e: DragEvent<HTMLElement>) => void;
657
+ handleDragLeave: (e: DragEvent<HTMLElement>) => void;
658
+ handleDragOver: (e: DragEvent<HTMLElement>) => void;
659
+ handleDrop: (e: DragEvent<HTMLElement>) => void;
660
+ handleFileChange: (e: ChangeEvent<HTMLInputElement>) => void;
661
+ openFileDialog: () => void;
662
+ getInputProps: (props?: InputHTMLAttributes<HTMLInputElement>) => InputHTMLAttributes<HTMLInputElement> & {
663
+ ref: React__default.Ref<HTMLInputElement>;
664
+ };
665
+ };
666
+ declare const useFileUpload: (options?: FileUploadOptions) => [FileUploadState, FileUploadActions];
642
667
  declare const formatBytes: (bytes: number, decimals?: number) => string;
643
668
 
644
669
  interface FileUploadProps extends Omit<FileUploadOptions, 'maxSize'> {
@@ -742,4 +767,9 @@ declare const NebulaI18nProvider: ({ children, customI18nStorageKey, }: NebulaI1
742
767
  */
743
768
  declare const useNebulaI18n: () => NebulaI18nContextType;
744
769
 
745
- export { Accordion, AccordionContent, AccordionDescription, AccordionItem, type AccordionProps, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, type BadgeProps, Box, type BoxProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Caption, type CaptionProps, Checkbox, type CheckboxProps, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FileMetadata, FileUpload, FileUploadError, type FileUploadOptions, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateTimePickerSingle, type InputDateTimePickerSingleProps, InputPhone, InputText, type InputTextProps, InputTime, type InputTimeProps, Label, Link, type LinkProps, NebulaI18nProvider, type NebulaI18nProviderProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Popover, PopoverContent, type PopoverContentProps, PopoverTrigger, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TextArea, type TextAreaProps, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useNebulaI18n };
770
+ type PossibleRefs<T extends HTMLElement> = MutableRefObject<T | undefined | null> | MutableRefObject<T | undefined | null>[];
771
+ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, onClickOutside: VoidFunction): void;
772
+
773
+ declare function useKeyPress(key: string, callback: VoidFunction): void;
774
+
775
+ export { Accordion, AccordionContent, AccordionDescription, AccordionItem, type AccordionProps, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, type BadgeProps, Box, type BoxProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Caption, type CaptionProps, Checkbox, type CheckboxProps, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FileMetadata, FileUpload, type FileUploadActions, FileUploadError, type FileUploadOptions, type FileUploadState, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateTimePickerSingle, type InputDateTimePickerSingleProps, InputPhone, InputText, type InputTextProps, InputTime, type InputTimeProps, Label, Link, type LinkProps, NebulaI18nProvider, type NebulaI18nProviderProps, Pagination, type PaginationProps, Paragraph, type ParagraphProps, Popover, PopoverContent, type PopoverContentProps, PopoverTrigger, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TextArea, type TextAreaProps, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n };
package/dist/index.js CHANGED
@@ -3906,13 +3906,44 @@ var Calendar = ({
3906
3906
  }
3907
3907
  );
3908
3908
  };
3909
-
3910
- // src/utils/valid-date-format.ts
3911
- function dateFormatIsValid(dateStr, locale) {
3912
- const regexBR = /^(?:(?:31\/(0[13578]|1[02]))\/(?:\d{4})|(?:29|30)\/(0[13-9]|1[0-2])\/(?:\d{4})|29\/02\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:0[1-9]|1\d|2[0-8])\/(0[1-9]|1[0-2])\/(?:\d{4}))$/;
3913
- const regexUS = /^(?:(?:(0[13578]|1[02])\/31)\/(?:\d{4})|(?:(0[13-9]|1[0-2])\/(29|30))\/(?:\d{4})|(?:02\/29)\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:(0[1-9]|1[0-2])\/(0[1-9]|1\d|2[0-8]))\/(?:\d{4}))$/;
3914
- const regex = locale === "en-US" ? regexUS : regexBR;
3915
- return regex.test(dateStr);
3909
+ function useClickOutside(refs, onClickOutside) {
3910
+ React8.useEffect(() => {
3911
+ const refArray = Array.isArray(refs) ? refs : [refs];
3912
+ function handleClick(event) {
3913
+ const isInside = refArray.some(
3914
+ (ref) => ref?.current && ref?.current.contains(event.target)
3915
+ );
3916
+ if (!isInside) {
3917
+ onClickOutside();
3918
+ }
3919
+ }
3920
+ function handlePressEsc(event) {
3921
+ if (event.key === "Esc") {
3922
+ onClickOutside();
3923
+ }
3924
+ }
3925
+ document.addEventListener("mousedown", handleClick);
3926
+ document.addEventListener("touchstart", handleClick);
3927
+ document.addEventListener("keypress", handlePressEsc);
3928
+ return () => {
3929
+ document.removeEventListener("mousedown", handleClick);
3930
+ document.removeEventListener("touchstart", handleClick);
3931
+ document.removeEventListener("keypress", handlePressEsc);
3932
+ };
3933
+ }, [refs, onClickOutside]);
3934
+ }
3935
+ function useKeyPress(key, callback) {
3936
+ React8.useEffect(() => {
3937
+ function handleKeyDown(event) {
3938
+ if (event.key === key) {
3939
+ callback();
3940
+ }
3941
+ }
3942
+ window.addEventListener("keydown", handleKeyDown);
3943
+ return () => {
3944
+ window.removeEventListener("keydown", handleKeyDown);
3945
+ };
3946
+ }, [key, callback]);
3916
3947
  }
3917
3948
  var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3918
3949
  try {
@@ -3933,6 +3964,14 @@ var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3933
3964
  return void 0;
3934
3965
  }
3935
3966
  };
3967
+
3968
+ // src/utils/valid-date-format.ts
3969
+ function dateFormatIsValid(dateStr, locale) {
3970
+ const regexBR = /^(?:(?:31\/(0[13578]|1[02]))\/(?:\d{4})|(?:29|30)\/(0[13-9]|1[0-2])\/(?:\d{4})|29\/02\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:0[1-9]|1\d|2[0-8])\/(0[1-9]|1[0-2])\/(?:\d{4}))$/;
3971
+ const regexUS = /^(?:(?:(0[13578]|1[02])\/31)\/(?:\d{4})|(?:(0[13-9]|1[0-2])\/(29|30))\/(?:\d{4})|(?:02\/29)\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:(0[1-9]|1[0-2])\/(0[1-9]|1\d|2[0-8]))\/(?:\d{4}))$/;
3972
+ const regex = locale === "en-US" ? regexUS : regexBR;
3973
+ return regex.test(dateStr);
3974
+ }
3936
3975
  var dateIsAvailable = (inputDate, disabledDates) => {
3937
3976
  if (!disabledDates || !inputDate) return true;
3938
3977
  const dateIsDisabled = (d, matcher) => {
@@ -4057,61 +4096,57 @@ var InputDatePickerSingle = ({
4057
4096
  replacement: { _: /\d/ }
4058
4097
  };
4059
4098
  const inputRef = mask.useMask(maskOptions);
4060
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds w-full", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
4061
- /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4062
- "div",
4099
+ const conteinerRef = React8.useRef(null);
4100
+ const calendarRef = React8.useRef(null);
4101
+ useClickOutside([conteinerRef, calendarRef], () => {
4102
+ setPopoverIsOpen(false);
4103
+ });
4104
+ useKeyPress("Escape", () => {
4105
+ setPopoverIsOpen(false);
4106
+ });
4107
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4108
+ /* @__PURE__ */ jsxRuntime.jsx(
4109
+ InputText,
4063
4110
  {
4064
- onClick: (e) => e.preventDefault(),
4065
- onFocus: (e) => e.preventDefault(),
4066
- children: /* @__PURE__ */ jsxRuntime.jsx(
4067
- InputText,
4111
+ ref: inputRef,
4112
+ placeholder,
4113
+ value,
4114
+ className,
4115
+ onChange: (e) => handleInnerInputChange(e.target.value),
4116
+ onKeyDown: handleKeyDown,
4117
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4118
+ lucideReact.CalendarIcon,
4068
4119
  {
4069
- ref: inputRef,
4070
- placeholder,
4071
- value,
4072
- className,
4073
- onChange: (e) => handleInnerInputChange(e.target.value),
4074
- onKeyDown: handleKeyDown,
4075
- icon: /* @__PURE__ */ jsxRuntime.jsx(
4076
- lucideReact.CalendarIcon,
4077
- {
4078
- tabIndex: 0,
4079
- role: "button",
4080
- onClick: () => setPopoverIsOpen((s) => !s),
4081
- onKeyUp: (e) => {
4082
- if (e.key === "Enter") {
4083
- setPopoverIsOpen((s) => !s);
4084
- }
4085
- },
4086
- className: "nebula-ds cursor-pointer"
4087
- }
4088
- ),
4089
- iconPlacement: "end",
4120
+ tabIndex: 0,
4121
+ role: "button",
4122
+ onClick: () => setPopoverIsOpen((s) => !s),
4090
4123
  onKeyUp: (e) => {
4091
- if (e.key === "ArrowDown") {
4092
- setPopoverIsOpen(true);
4124
+ if (e.key === "Enter") {
4125
+ setPopoverIsOpen((s) => !s);
4093
4126
  }
4094
4127
  },
4095
- maxLength: 10,
4096
- onClean: onClean ? () => {
4097
- onClean();
4098
- handleClearValue();
4099
- } : void 0,
4100
- ...rest
4128
+ className: "nebula-ds cursor-pointer"
4101
4129
  }
4102
- )
4130
+ ),
4131
+ iconPlacement: "end",
4132
+ onKeyUp: (e) => {
4133
+ if (e.key === "ArrowDown") {
4134
+ setPopoverIsOpen(true);
4135
+ }
4136
+ },
4137
+ maxLength: 10,
4138
+ onClean: onClean ? () => {
4139
+ onClean();
4140
+ handleClearValue();
4141
+ } : void 0,
4142
+ ...rest
4103
4143
  }
4104
- ) }),
4105
- /* @__PURE__ */ jsxRuntime.jsx(
4106
- PopoverContent,
4144
+ ),
4145
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsxRuntime.jsx(
4146
+ "div",
4107
4147
  {
4108
- side: "bottom",
4109
- className: "nebula-ds p-0 border-none bg-transparent shadow-none absolute",
4110
- align: "start",
4111
- collisionPadding: 8,
4112
- avoidCollisions: true,
4113
- asChild: false,
4114
- style: { position: "absolute" },
4148
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4149
+ ref: calendarRef,
4115
4150
  children: /* @__PURE__ */ jsxRuntime.jsx(
4116
4151
  Calendar,
4117
4152
  {
@@ -4127,8 +4162,8 @@ var InputDatePickerSingle = ({
4127
4162
  }
4128
4163
  )
4129
4164
  }
4130
- )
4131
- ] }) });
4165
+ ) })
4166
+ ] });
4132
4167
  };
4133
4168
  var InputTime = React8.forwardRef(
4134
4169
  ({ value = "", onChange, placeholder = "--:--", ...rest }, ref) => {
@@ -4324,60 +4359,56 @@ var InputDateTimePickerSingle = ({
4324
4359
  replacement: { _: /\d/ }
4325
4360
  };
4326
4361
  const inputRef = mask.useMask(maskOptions);
4327
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds w-full", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
4328
- /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4329
- "div",
4362
+ const conteinerRef = React8.useRef(null);
4363
+ const calendarRef = React8.useRef(null);
4364
+ useClickOutside([conteinerRef, calendarRef], () => {
4365
+ setPopoverIsOpen(false);
4366
+ });
4367
+ useKeyPress("Escape", () => {
4368
+ setPopoverIsOpen(false);
4369
+ });
4370
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4371
+ /* @__PURE__ */ jsxRuntime.jsx(
4372
+ InputText,
4330
4373
  {
4331
- onClick: (e) => e.preventDefault(),
4332
- onFocus: (e) => e.preventDefault(),
4333
- children: /* @__PURE__ */ jsxRuntime.jsx(
4334
- InputText,
4374
+ ref: inputRef,
4375
+ placeholder,
4376
+ value,
4377
+ className,
4378
+ onChange: (e) => handleInnerInputChange(e.target.value),
4379
+ onKeyDown: handleKeyDown,
4380
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4381
+ lucideReact.CalendarIcon,
4335
4382
  {
4336
- ref: inputRef,
4337
- placeholder,
4338
- value,
4339
- className,
4340
- onChange: (e) => handleInnerInputChange(e.target.value),
4341
- onKeyDown: handleKeyDown,
4342
- icon: /* @__PURE__ */ jsxRuntime.jsx(
4343
- lucideReact.CalendarIcon,
4344
- {
4345
- tabIndex: 0,
4346
- role: "button",
4347
- onClick: () => setPopoverIsOpen((s) => !s),
4348
- onKeyUp: (e) => {
4349
- if (e.key === "Enter") {
4350
- setPopoverIsOpen((s) => !s);
4351
- }
4352
- },
4353
- className: "nebula-ds cursor-pointer"
4354
- }
4355
- ),
4356
- iconPlacement: "end",
4383
+ tabIndex: 0,
4384
+ role: "button",
4385
+ onClick: () => setPopoverIsOpen((s) => !s),
4357
4386
  onKeyUp: (e) => {
4358
- if (e.key === "ArrowDown") {
4359
- setPopoverIsOpen(true);
4387
+ if (e.key === "Enter") {
4388
+ setPopoverIsOpen((s) => !s);
4360
4389
  }
4361
4390
  },
4362
- onClean: onClean ? () => {
4363
- onClean();
4364
- handleClearValue();
4365
- } : void 0,
4366
- ...rest
4391
+ className: "nebula-ds cursor-pointer"
4367
4392
  }
4368
- )
4393
+ ),
4394
+ iconPlacement: "end",
4395
+ onKeyUp: (e) => {
4396
+ if (e.key === "ArrowDown") {
4397
+ setPopoverIsOpen(true);
4398
+ }
4399
+ },
4400
+ onClean: onClean ? () => {
4401
+ onClean();
4402
+ handleClearValue();
4403
+ } : void 0,
4404
+ ...rest
4369
4405
  }
4370
- ) }),
4371
- /* @__PURE__ */ jsxRuntime.jsx(
4372
- PopoverContent,
4406
+ ),
4407
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsxRuntime.jsx(
4408
+ "div",
4373
4409
  {
4374
- side: "bottom",
4375
- className: "nebula-ds p-0 border-none bg-transparent shadow-none",
4376
- align: "start",
4377
- collisionPadding: 8,
4378
- avoidCollisions: true,
4379
- asChild: false,
4380
- style: { position: "absolute" },
4410
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4411
+ ref: calendarRef,
4381
4412
  children: /* @__PURE__ */ jsxRuntime.jsx(
4382
4413
  Calendar,
4383
4414
  {
@@ -4409,8 +4440,8 @@ var InputDateTimePickerSingle = ({
4409
4440
  }
4410
4441
  )
4411
4442
  }
4412
- )
4413
- ] }) });
4443
+ ) })
4444
+ ] });
4414
4445
  };
4415
4446
  var FileUploadError = /* @__PURE__ */ ((FileUploadError2) => {
4416
4447
  FileUploadError2["MAX_FILES_EXCEEDED"] = "MAX_FILES_EXCEEDED";
@@ -5069,4 +5100,7 @@ exports.setNebulaLanguage = setNebulaLanguage;
5069
5100
  exports.tagVariantsEnum = tagVariantsEnum;
5070
5101
  exports.tailwind = tailwind;
5071
5102
  exports.toast = toast;
5103
+ exports.useClickOutside = useClickOutside;
5104
+ exports.useFileUpload = useFileUpload;
5105
+ exports.useKeyPress = useKeyPress;
5072
5106
  exports.useNebulaI18n = useNebulaI18n;
package/dist/index.mjs CHANGED
@@ -3866,13 +3866,44 @@ var Calendar = ({
3866
3866
  }
3867
3867
  );
3868
3868
  };
3869
-
3870
- // src/utils/valid-date-format.ts
3871
- function dateFormatIsValid(dateStr, locale) {
3872
- const regexBR = /^(?:(?:31\/(0[13578]|1[02]))\/(?:\d{4})|(?:29|30)\/(0[13-9]|1[0-2])\/(?:\d{4})|29\/02\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:0[1-9]|1\d|2[0-8])\/(0[1-9]|1[0-2])\/(?:\d{4}))$/;
3873
- const regexUS = /^(?:(?:(0[13578]|1[02])\/31)\/(?:\d{4})|(?:(0[13-9]|1[0-2])\/(29|30))\/(?:\d{4})|(?:02\/29)\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:(0[1-9]|1[0-2])\/(0[1-9]|1\d|2[0-8]))\/(?:\d{4}))$/;
3874
- const regex = locale === "en-US" ? regexUS : regexBR;
3875
- return regex.test(dateStr);
3869
+ function useClickOutside(refs, onClickOutside) {
3870
+ useEffect(() => {
3871
+ const refArray = Array.isArray(refs) ? refs : [refs];
3872
+ function handleClick(event) {
3873
+ const isInside = refArray.some(
3874
+ (ref) => ref?.current && ref?.current.contains(event.target)
3875
+ );
3876
+ if (!isInside) {
3877
+ onClickOutside();
3878
+ }
3879
+ }
3880
+ function handlePressEsc(event) {
3881
+ if (event.key === "Esc") {
3882
+ onClickOutside();
3883
+ }
3884
+ }
3885
+ document.addEventListener("mousedown", handleClick);
3886
+ document.addEventListener("touchstart", handleClick);
3887
+ document.addEventListener("keypress", handlePressEsc);
3888
+ return () => {
3889
+ document.removeEventListener("mousedown", handleClick);
3890
+ document.removeEventListener("touchstart", handleClick);
3891
+ document.removeEventListener("keypress", handlePressEsc);
3892
+ };
3893
+ }, [refs, onClickOutside]);
3894
+ }
3895
+ function useKeyPress(key, callback) {
3896
+ useEffect(() => {
3897
+ function handleKeyDown(event) {
3898
+ if (event.key === key) {
3899
+ callback();
3900
+ }
3901
+ }
3902
+ window.addEventListener("keydown", handleKeyDown);
3903
+ return () => {
3904
+ window.removeEventListener("keydown", handleKeyDown);
3905
+ };
3906
+ }, [key, callback]);
3876
3907
  }
3877
3908
  var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3878
3909
  try {
@@ -3893,6 +3924,14 @@ var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3893
3924
  return void 0;
3894
3925
  }
3895
3926
  };
3927
+
3928
+ // src/utils/valid-date-format.ts
3929
+ function dateFormatIsValid(dateStr, locale) {
3930
+ const regexBR = /^(?:(?:31\/(0[13578]|1[02]))\/(?:\d{4})|(?:29|30)\/(0[13-9]|1[0-2])\/(?:\d{4})|29\/02\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:0[1-9]|1\d|2[0-8])\/(0[1-9]|1[0-2])\/(?:\d{4}))$/;
3931
+ const regexUS = /^(?:(?:(0[13578]|1[02])\/31)\/(?:\d{4})|(?:(0[13-9]|1[0-2])\/(29|30))\/(?:\d{4})|(?:02\/29)\/(?:\d\d(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)|(?:(0[1-9]|1[0-2])\/(0[1-9]|1\d|2[0-8]))\/(?:\d{4}))$/;
3932
+ const regex = locale === "en-US" ? regexUS : regexBR;
3933
+ return regex.test(dateStr);
3934
+ }
3896
3935
  var dateIsAvailable = (inputDate, disabledDates) => {
3897
3936
  if (!disabledDates || !inputDate) return true;
3898
3937
  const dateIsDisabled = (d, matcher) => {
@@ -4017,61 +4056,57 @@ var InputDatePickerSingle = ({
4017
4056
  replacement: { _: /\d/ }
4018
4057
  };
4019
4058
  const inputRef = useMask(maskOptions);
4020
- return /* @__PURE__ */ jsx("div", { className: "nebula-ds w-full", children: /* @__PURE__ */ jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
4021
- /* @__PURE__ */ jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsx(
4022
- "div",
4059
+ const conteinerRef = useRef(null);
4060
+ const calendarRef = useRef(null);
4061
+ useClickOutside([conteinerRef, calendarRef], () => {
4062
+ setPopoverIsOpen(false);
4063
+ });
4064
+ useKeyPress("Escape", () => {
4065
+ setPopoverIsOpen(false);
4066
+ });
4067
+ return /* @__PURE__ */ jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4068
+ /* @__PURE__ */ jsx(
4069
+ InputText,
4023
4070
  {
4024
- onClick: (e) => e.preventDefault(),
4025
- onFocus: (e) => e.preventDefault(),
4026
- children: /* @__PURE__ */ jsx(
4027
- InputText,
4071
+ ref: inputRef,
4072
+ placeholder,
4073
+ value,
4074
+ className,
4075
+ onChange: (e) => handleInnerInputChange(e.target.value),
4076
+ onKeyDown: handleKeyDown,
4077
+ icon: /* @__PURE__ */ jsx(
4078
+ CalendarIcon,
4028
4079
  {
4029
- ref: inputRef,
4030
- placeholder,
4031
- value,
4032
- className,
4033
- onChange: (e) => handleInnerInputChange(e.target.value),
4034
- onKeyDown: handleKeyDown,
4035
- icon: /* @__PURE__ */ jsx(
4036
- CalendarIcon,
4037
- {
4038
- tabIndex: 0,
4039
- role: "button",
4040
- onClick: () => setPopoverIsOpen((s) => !s),
4041
- onKeyUp: (e) => {
4042
- if (e.key === "Enter") {
4043
- setPopoverIsOpen((s) => !s);
4044
- }
4045
- },
4046
- className: "nebula-ds cursor-pointer"
4047
- }
4048
- ),
4049
- iconPlacement: "end",
4080
+ tabIndex: 0,
4081
+ role: "button",
4082
+ onClick: () => setPopoverIsOpen((s) => !s),
4050
4083
  onKeyUp: (e) => {
4051
- if (e.key === "ArrowDown") {
4052
- setPopoverIsOpen(true);
4084
+ if (e.key === "Enter") {
4085
+ setPopoverIsOpen((s) => !s);
4053
4086
  }
4054
4087
  },
4055
- maxLength: 10,
4056
- onClean: onClean ? () => {
4057
- onClean();
4058
- handleClearValue();
4059
- } : void 0,
4060
- ...rest
4088
+ className: "nebula-ds cursor-pointer"
4061
4089
  }
4062
- )
4090
+ ),
4091
+ iconPlacement: "end",
4092
+ onKeyUp: (e) => {
4093
+ if (e.key === "ArrowDown") {
4094
+ setPopoverIsOpen(true);
4095
+ }
4096
+ },
4097
+ maxLength: 10,
4098
+ onClean: onClean ? () => {
4099
+ onClean();
4100
+ handleClearValue();
4101
+ } : void 0,
4102
+ ...rest
4063
4103
  }
4064
- ) }),
4065
- /* @__PURE__ */ jsx(
4066
- PopoverContent,
4104
+ ),
4105
+ /* @__PURE__ */ jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsx(
4106
+ "div",
4067
4107
  {
4068
- side: "bottom",
4069
- className: "nebula-ds p-0 border-none bg-transparent shadow-none absolute",
4070
- align: "start",
4071
- collisionPadding: 8,
4072
- avoidCollisions: true,
4073
- asChild: false,
4074
- style: { position: "absolute" },
4108
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4109
+ ref: calendarRef,
4075
4110
  children: /* @__PURE__ */ jsx(
4076
4111
  Calendar,
4077
4112
  {
@@ -4087,8 +4122,8 @@ var InputDatePickerSingle = ({
4087
4122
  }
4088
4123
  )
4089
4124
  }
4090
- )
4091
- ] }) });
4125
+ ) })
4126
+ ] });
4092
4127
  };
4093
4128
  var InputTime = forwardRef(
4094
4129
  ({ value = "", onChange, placeholder = "--:--", ...rest }, ref) => {
@@ -4284,60 +4319,56 @@ var InputDateTimePickerSingle = ({
4284
4319
  replacement: { _: /\d/ }
4285
4320
  };
4286
4321
  const inputRef = useMask(maskOptions);
4287
- return /* @__PURE__ */ jsx("div", { className: "nebula-ds w-full", children: /* @__PURE__ */ jsxs(Popover, { open: popoverIsOpen, onOpenChange: setPopoverIsOpen, children: [
4288
- /* @__PURE__ */ jsx(PopoverTrigger, { className, asChild: true, children: /* @__PURE__ */ jsx(
4289
- "div",
4322
+ const conteinerRef = useRef(null);
4323
+ const calendarRef = useRef(null);
4324
+ useClickOutside([conteinerRef, calendarRef], () => {
4325
+ setPopoverIsOpen(false);
4326
+ });
4327
+ useKeyPress("Escape", () => {
4328
+ setPopoverIsOpen(false);
4329
+ });
4330
+ return /* @__PURE__ */ jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4331
+ /* @__PURE__ */ jsx(
4332
+ InputText,
4290
4333
  {
4291
- onClick: (e) => e.preventDefault(),
4292
- onFocus: (e) => e.preventDefault(),
4293
- children: /* @__PURE__ */ jsx(
4294
- InputText,
4334
+ ref: inputRef,
4335
+ placeholder,
4336
+ value,
4337
+ className,
4338
+ onChange: (e) => handleInnerInputChange(e.target.value),
4339
+ onKeyDown: handleKeyDown,
4340
+ icon: /* @__PURE__ */ jsx(
4341
+ CalendarIcon,
4295
4342
  {
4296
- ref: inputRef,
4297
- placeholder,
4298
- value,
4299
- className,
4300
- onChange: (e) => handleInnerInputChange(e.target.value),
4301
- onKeyDown: handleKeyDown,
4302
- icon: /* @__PURE__ */ jsx(
4303
- CalendarIcon,
4304
- {
4305
- tabIndex: 0,
4306
- role: "button",
4307
- onClick: () => setPopoverIsOpen((s) => !s),
4308
- onKeyUp: (e) => {
4309
- if (e.key === "Enter") {
4310
- setPopoverIsOpen((s) => !s);
4311
- }
4312
- },
4313
- className: "nebula-ds cursor-pointer"
4314
- }
4315
- ),
4316
- iconPlacement: "end",
4343
+ tabIndex: 0,
4344
+ role: "button",
4345
+ onClick: () => setPopoverIsOpen((s) => !s),
4317
4346
  onKeyUp: (e) => {
4318
- if (e.key === "ArrowDown") {
4319
- setPopoverIsOpen(true);
4347
+ if (e.key === "Enter") {
4348
+ setPopoverIsOpen((s) => !s);
4320
4349
  }
4321
4350
  },
4322
- onClean: onClean ? () => {
4323
- onClean();
4324
- handleClearValue();
4325
- } : void 0,
4326
- ...rest
4351
+ className: "nebula-ds cursor-pointer"
4327
4352
  }
4328
- )
4353
+ ),
4354
+ iconPlacement: "end",
4355
+ onKeyUp: (e) => {
4356
+ if (e.key === "ArrowDown") {
4357
+ setPopoverIsOpen(true);
4358
+ }
4359
+ },
4360
+ onClean: onClean ? () => {
4361
+ onClean();
4362
+ handleClearValue();
4363
+ } : void 0,
4364
+ ...rest
4329
4365
  }
4330
- ) }),
4331
- /* @__PURE__ */ jsx(
4332
- PopoverContent,
4366
+ ),
4367
+ /* @__PURE__ */ jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsx(
4368
+ "div",
4333
4369
  {
4334
- side: "bottom",
4335
- className: "nebula-ds p-0 border-none bg-transparent shadow-none",
4336
- align: "start",
4337
- collisionPadding: 8,
4338
- avoidCollisions: true,
4339
- asChild: false,
4340
- style: { position: "absolute" },
4370
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4371
+ ref: calendarRef,
4341
4372
  children: /* @__PURE__ */ jsx(
4342
4373
  Calendar,
4343
4374
  {
@@ -4369,8 +4400,8 @@ var InputDateTimePickerSingle = ({
4369
4400
  }
4370
4401
  )
4371
4402
  }
4372
- )
4373
- ] }) });
4403
+ ) })
4404
+ ] });
4374
4405
  };
4375
4406
  var FileUploadError = /* @__PURE__ */ ((FileUploadError2) => {
4376
4407
  FileUploadError2["MAX_FILES_EXCEEDED"] = "MAX_FILES_EXCEEDED";
@@ -4898,4 +4929,4 @@ var tailwind = {
4898
4929
  // plugin: () => require("tailwindcss")("node_modules/@nebulareact/dist/tailwind.config.js"),
4899
4930
  };
4900
4931
 
4901
- export { Accordion, AccordionContent, AccordionDescription, AccordionItem, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, Box, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Caption, Checkbox, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, FileUploadError, Heading, InputDatePickerSingle, InputDateTimePickerSingle, InputPhone, InputText, InputTime, Label, Link, NebulaI18nProvider, Pagination, Paragraph, Popover, PopoverContent, PopoverTrigger, StyledSelect as Select, Separator2 as Separator, Skeleton, Space, SpaceDirectionEnum, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TextArea, Toaster, Tooltip, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages16 as messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useNebulaI18n };
4932
+ export { Accordion, AccordionContent, AccordionDescription, AccordionItem, AccordionTitle, AccordionTrigger, ActionBar, ActionBarButton, ActionBarClose, ActionBarContent, ActionBarDivider, ActionBarPortal, ActionBarTrigger, Alert, AlertButton, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, StyledAsync as Async, StyledAsyncCreatable as AsyncCreatable, Badge, Box, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Caption, Checkbox, StyledCreatable as Creatable, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, FileUploadError, Heading, InputDatePickerSingle, InputDateTimePickerSingle, InputPhone, InputText, InputTime, Label, Link, NebulaI18nProvider, Pagination, Paragraph, Popover, PopoverContent, PopoverTrigger, StyledSelect as Select, Separator2 as Separator, Skeleton, Space, SpaceDirectionEnum, SpaceSizeEnum, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TextArea, Toaster, Tooltip, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages16 as messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikatec/nebula-react",
3
- "version": "1.0.24",
3
+ "version": "1.0.25",
4
4
  "description": "React components",
5
5
  "publishConfig": {
6
6
  "access": "public"