@ikatec/nebula-react 1.3.3-beta.1 → 1.4.0-beta.1

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
@@ -580,10 +580,15 @@ interface Messages {
580
580
  cropper: CropperMessages;
581
581
  }
582
582
 
583
+ declare enum NebulaLanguage {
584
+ EN_US = "en-US",
585
+ ES = "es",
586
+ PT_BR = "pt-BR"
587
+ }
583
588
  /**
584
589
  * Type to store the language in the localStorage.
585
590
  */
586
- type Language = 'en-US' | 'es' | 'pt-BR';
591
+ type Language = NebulaLanguage.EN_US | NebulaLanguage.ES | NebulaLanguage.PT_BR;
587
592
  /**
588
593
  * Get the language from the localStorage.
589
594
  */
@@ -625,6 +630,21 @@ interface InputDateTimePickerSingleProps extends Omit<InputTextProps, 'onChange'
625
630
  }
626
631
  declare const InputDateTimePickerSingle: ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateTimePickerSingleProps) => react_jsx_runtime.JSX.Element;
627
632
 
633
+ interface InputDateRangePickerProps extends Omit<InputTextProps, 'onChange' | 'value'> {
634
+ value?: string;
635
+ onChange?: (value?: string, calendarDate?: [Date | undefined, Date | undefined]) => void;
636
+ numberOfMonths?: CalendarProps['numberOfMonths'];
637
+ placeholder?: string;
638
+ className?: string;
639
+ disabledDates?: CalendarProps['disabled'];
640
+ onClean?: VoidFunction;
641
+ popoverContainer?: HTMLElement | null;
642
+ }
643
+ declare const InputDateRangePicker: {
644
+ ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateRangePickerProps): react_jsx_runtime.JSX.Element;
645
+ displayName: string;
646
+ };
647
+
628
648
  type InputTimeProps = Omit<React.ComponentProps<typeof InputText>, 'onChange'> & {
629
649
  onChange?: (value: string) => void;
630
650
  };
@@ -885,4 +905,4 @@ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, o
885
905
 
886
906
  declare function useKeyPress(key: string, callback: VoidFunction): void;
887
907
 
888
- 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, Cropper, CropperCropArea, CropperDescription, CropperImage, type CropperProps, 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 FileUploadProps, 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, ProfileImage, type ProfileImageProps, RadioGroup, RadioGroupItem, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Slider, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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 };
908
+ 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, Cropper, CropperCropArea, CropperDescription, CropperImage, type CropperProps, 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 FileUploadProps, type FileUploadState, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateRangePicker, type InputDateRangePickerProps, 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, ProfileImage, type ProfileImageProps, RadioGroup, RadioGroupItem, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Slider, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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
@@ -580,10 +580,15 @@ interface Messages {
580
580
  cropper: CropperMessages;
581
581
  }
582
582
 
583
+ declare enum NebulaLanguage {
584
+ EN_US = "en-US",
585
+ ES = "es",
586
+ PT_BR = "pt-BR"
587
+ }
583
588
  /**
584
589
  * Type to store the language in the localStorage.
585
590
  */
586
- type Language = 'en-US' | 'es' | 'pt-BR';
591
+ type Language = NebulaLanguage.EN_US | NebulaLanguage.ES | NebulaLanguage.PT_BR;
587
592
  /**
588
593
  * Get the language from the localStorage.
589
594
  */
@@ -625,6 +630,21 @@ interface InputDateTimePickerSingleProps extends Omit<InputTextProps, 'onChange'
625
630
  }
626
631
  declare const InputDateTimePickerSingle: ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateTimePickerSingleProps) => react_jsx_runtime.JSX.Element;
627
632
 
633
+ interface InputDateRangePickerProps extends Omit<InputTextProps, 'onChange' | 'value'> {
634
+ value?: string;
635
+ onChange?: (value?: string, calendarDate?: [Date | undefined, Date | undefined]) => void;
636
+ numberOfMonths?: CalendarProps['numberOfMonths'];
637
+ placeholder?: string;
638
+ className?: string;
639
+ disabledDates?: CalendarProps['disabled'];
640
+ onClean?: VoidFunction;
641
+ popoverContainer?: HTMLElement | null;
642
+ }
643
+ declare const InputDateRangePicker: {
644
+ ({ placeholder, className, value, onChange, numberOfMonths, onClean, disabledDates, ...rest }: InputDateRangePickerProps): react_jsx_runtime.JSX.Element;
645
+ displayName: string;
646
+ };
647
+
628
648
  type InputTimeProps = Omit<React.ComponentProps<typeof InputText>, 'onChange'> & {
629
649
  onChange?: (value: string) => void;
630
650
  };
@@ -885,4 +905,4 @@ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, o
885
905
 
886
906
  declare function useKeyPress(key: string, callback: VoidFunction): void;
887
907
 
888
- 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, Cropper, CropperCropArea, CropperDescription, CropperImage, type CropperProps, 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 FileUploadProps, 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, ProfileImage, type ProfileImageProps, RadioGroup, RadioGroupItem, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Slider, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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 };
908
+ 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, Cropper, CropperCropArea, CropperDescription, CropperImage, type CropperProps, 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 FileUploadProps, type FileUploadState, type FileWithPreview, Heading, type HeadingProps, InputDatePickerSingle, type InputDatePickerSingleProps, InputDateRangePicker, type InputDateRangePickerProps, 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, ProfileImage, type ProfileImageProps, RadioGroup, RadioGroupItem, StyledSelect as Select, type CreateStyledSelectProps as SelectProps, Separator, type SeparatorProps, Skeleton, type SkeletonProps, Slider, Space, SpaceDirectionEnum, type SpaceProps, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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
@@ -1807,9 +1807,9 @@ var setNebulaLanguage = (language) => {
1807
1807
  var messages19 = /* @__PURE__ */ new Map([
1808
1808
  [null, enMessages],
1809
1809
  [void 0, enMessages],
1810
- ["en-US", enMessages],
1811
- ["es", esMessages],
1812
- ["pt-BR", ptBrMessages]
1810
+ ["en-US" /* EN_US */, enMessages],
1811
+ ["es" /* ES */, esMessages],
1812
+ ["pt-BR" /* PT_BR */, ptBrMessages]
1813
1813
  ]);
1814
1814
  var NebulaI18nContext = React8.createContext(
1815
1815
  null
@@ -1823,13 +1823,13 @@ var NebulaI18nProvider = ({
1823
1823
  [customI18nStorageKey]
1824
1824
  );
1825
1825
  const [messages20, setMessages] = React8.useState(
1826
- messages19.get(getNebulaLanguage()) ?? messages19.get("en-US")
1826
+ messages19.get(getNebulaLanguage()) ?? messages19.get("en-US" /* EN_US */)
1827
1827
  );
1828
1828
  const handleStorageChange = React8.useCallback(
1829
1829
  ({ detail }) => {
1830
1830
  if (detail.key === storageKey) {
1831
1831
  setMessages(
1832
- messages19.get(detail.value) ?? messages19.get("en-US")
1832
+ messages19.get(detail.value) ?? messages19.get("en-US" /* EN_US */)
1833
1833
  );
1834
1834
  }
1835
1835
  },
@@ -4010,6 +4010,24 @@ var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
4010
4010
  };
4011
4011
 
4012
4012
  // src/utils/valid-date-format.ts
4013
+ function dateParts(dateSlice, locale, time) {
4014
+ const [day, month, year] = [
4015
+ locale !== "en-US" /* EN_US */ ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4016
+ locale === "en-US" /* EN_US */ ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4017
+ dateSlice.substring(6)
4018
+ ];
4019
+ const [hour = 0, minute = 0] = time?.split(":") ?? [];
4020
+ return {
4021
+ date: new Date(
4022
+ Number(year),
4023
+ Number(month) - 1,
4024
+ Number(day),
4025
+ Number(Math.min(Math.max(Number(hour), 0), 23)),
4026
+ Number(Math.min(Math.max(Number(minute), 0), 59))
4027
+ ),
4028
+ dateParts: [Number(day), Number(month), Number(year)]
4029
+ };
4030
+ }
4013
4031
  function dateFormatIsValid(dateStr, locale) {
4014
4032
  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}))$/;
4015
4033
  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}))$/;
@@ -4090,13 +4108,8 @@ var InputDatePickerSingle = ({
4090
4108
  handleClearValue();
4091
4109
  return;
4092
4110
  }
4093
- const [day, month2, year] = [
4094
- locale !== "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4095
- locale === "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4096
- dateSlice.substring(6)
4097
- ];
4098
- const date = new Date(Number(year), Number(month2) - 1, Number(day));
4099
- if ([day, month2, year].some((value2) => !value2) || !dateFormatIsValid(dateSlice, locale) || !dateFns.isValid(new Date(date)) || !dateIsAvailable(date, disabledDates)) {
4111
+ const { date } = dateParts(dateSlice, locale);
4112
+ if (!dateFns.isValid(date) || !dateFormatIsValid(dateSlice, locale) || !dateIsAvailable(date, disabledDates)) {
4100
4113
  onChange?.(text);
4101
4114
  handleClearValue();
4102
4115
  return;
@@ -4314,13 +4327,8 @@ var InputDateTimePickerSingle = ({
4314
4327
  handleClearValue();
4315
4328
  return;
4316
4329
  }
4317
- const [day, month2, year] = [
4318
- locale !== "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4319
- locale === "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4320
- dateSlice.substring(6)
4321
- ];
4322
- const date = new Date(Number(year), Number(month2) - 1, Number(day));
4323
- if ([day, month2, year].some((value2) => !value2) || !dateFormatIsValid(dateSlice, locale) || !dateFns.isValid(new Date(date)) || !dateIsAvailable(date, disabledDates)) {
4330
+ const date = dateParts(dateSlice, locale, hourSlice).date;
4331
+ if (!dateFns.isValid(date) || !dateFormatIsValid(dateSlice, locale) || !dateIsAvailable(date, disabledDates)) {
4324
4332
  onChange?.(text);
4325
4333
  handleClearValue();
4326
4334
  return;
@@ -4491,6 +4499,143 @@ var InputDateTimePickerSingle = ({
4491
4499
  ) })
4492
4500
  ] });
4493
4501
  };
4502
+ var InputDateRangePicker = ({
4503
+ placeholder,
4504
+ className,
4505
+ value,
4506
+ onChange,
4507
+ numberOfMonths = 1,
4508
+ onClean,
4509
+ disabledDates,
4510
+ ...rest
4511
+ }) => {
4512
+ const [month, setMonth] = React8.useState(/* @__PURE__ */ new Date());
4513
+ const [innerValue, setInnerValue] = React8.useState();
4514
+ const [popoverIsOpen, setPopoverIsOpen] = React8.useState(false);
4515
+ const maskOptions = {
4516
+ mask: "__/__/____ - __/__/____",
4517
+ replacement: { _: /\d/ }
4518
+ };
4519
+ const inputRef = mask.useMask(maskOptions);
4520
+ const { locale } = useNebulaI18n();
4521
+ const conteinerRef = React8.useRef(null);
4522
+ const calendarRef = React8.useRef(null);
4523
+ useClickOutside([conteinerRef, calendarRef], () => {
4524
+ setPopoverIsOpen(false);
4525
+ });
4526
+ useKeyPress("Escape", () => {
4527
+ setPopoverIsOpen(false);
4528
+ });
4529
+ const handleInnerInputChange = (value2) => {
4530
+ const [startDate, endDate] = value2.split(" - ");
4531
+ const dateStart = startDate && dateFormatIsValid(startDate, locale) ? dateParts(startDate, locale).date : void 0;
4532
+ const dateEnd = endDate && dateFormatIsValid(endDate, locale) ? dateParts(endDate, locale).date : void 0;
4533
+ onChange?.(value2, [dateStart, dateEnd]);
4534
+ };
4535
+ const handleChangeCalendarDate = React8.useCallback(
4536
+ (date) => {
4537
+ setInnerValue(date);
4538
+ const [from, to] = date;
4539
+ const fromStr = from ? Intl.DateTimeFormat(locale ?? "en-US", {
4540
+ month: "2-digit",
4541
+ year: "numeric",
4542
+ day: "2-digit"
4543
+ }).format(from) : "";
4544
+ const toStr = to ? Intl.DateTimeFormat(locale ?? "en-US", {
4545
+ month: "2-digit",
4546
+ year: "numeric",
4547
+ day: "2-digit"
4548
+ }).format(to) : "";
4549
+ onChange?.(
4550
+ [fromStr, toStr !== fromStr ? toStr : void 0].filter(Boolean).join(" - "),
4551
+ date
4552
+ );
4553
+ setMonth(to ?? /* @__PURE__ */ new Date());
4554
+ },
4555
+ [locale, onChange]
4556
+ );
4557
+ React8.useEffect(() => {
4558
+ if (value) {
4559
+ const [startDate, endDate] = value.split(" - ");
4560
+ const dateStart = startDate && dateFormatIsValid(startDate, locale) ? dateParts(startDate, locale).date : void 0;
4561
+ const dateEnd = endDate && dateFormatIsValid(endDate, locale) ? dateParts(endDate, locale).date : void 0;
4562
+ setInnerValue(
4563
+ [dateStart, dateEnd].filter(Boolean)
4564
+ );
4565
+ if (dateEnd instanceof Date) {
4566
+ setMonth(dateEnd);
4567
+ } else {
4568
+ setMonth(/* @__PURE__ */ new Date());
4569
+ }
4570
+ } else {
4571
+ setInnerValue([void 0, void 0]);
4572
+ setMonth(/* @__PURE__ */ new Date());
4573
+ }
4574
+ }, [value, locale]);
4575
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4576
+ /* @__PURE__ */ jsxRuntime.jsx(
4577
+ InputText,
4578
+ {
4579
+ ref: inputRef,
4580
+ placeholder,
4581
+ value,
4582
+ className,
4583
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4584
+ lucideReact.CalendarIcon,
4585
+ {
4586
+ tabIndex: 0,
4587
+ role: "button",
4588
+ onClick: () => setPopoverIsOpen((s) => !s),
4589
+ onKeyUp: (e) => {
4590
+ if (e.key === "Enter") {
4591
+ setPopoverIsOpen((s) => !s);
4592
+ }
4593
+ },
4594
+ className: "nebula-ds cursor-pointer"
4595
+ }
4596
+ ),
4597
+ iconPlacement: "end",
4598
+ onKeyUp: (e) => {
4599
+ if (e.key === "ArrowDown") {
4600
+ setPopoverIsOpen(true);
4601
+ }
4602
+ },
4603
+ onClean: onClean ? () => {
4604
+ onClean();
4605
+ } : void 0,
4606
+ ...rest,
4607
+ onChange: (e) => handleInnerInputChange(e.target.value)
4608
+ }
4609
+ ),
4610
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsxRuntime.jsx(
4611
+ "div",
4612
+ {
4613
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4614
+ ref: calendarRef,
4615
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4616
+ Calendar,
4617
+ {
4618
+ required: false,
4619
+ mode: "range",
4620
+ numberOfMonths,
4621
+ disabled: disabledDates,
4622
+ month,
4623
+ onPrevClick: setMonth,
4624
+ onNextClick: setMonth,
4625
+ selected: {
4626
+ from: innerValue?.[0],
4627
+ to: innerValue?.[1]
4628
+ },
4629
+ onSelect: (date) => {
4630
+ handleChangeCalendarDate([date?.from, date?.to]);
4631
+ }
4632
+ }
4633
+ )
4634
+ }
4635
+ ) })
4636
+ ] });
4637
+ };
4638
+ InputDateRangePicker.displayName = "InputDateRangePicker";
4494
4639
  var FileUploadError = /* @__PURE__ */ ((FileUploadError4) => {
4495
4640
  FileUploadError4["MAX_FILES_EXCEEDED"] = "MAX_FILES_EXCEEDED";
4496
4641
  FileUploadError4["MAXIMUM_FILE_SIZE_EXCEEDED"] = "MAXIMUM_FILE_SIZE_EXCEEDED";
@@ -6709,6 +6854,7 @@ exports.FileUpload = FileUpload;
6709
6854
  exports.FileUploadError = FileUploadError;
6710
6855
  exports.Heading = Heading;
6711
6856
  exports.InputDatePickerSingle = InputDatePickerSingle;
6857
+ exports.InputDateRangePicker = InputDateRangePicker;
6712
6858
  exports.InputDateTimePickerSingle = InputDateTimePickerSingle;
6713
6859
  exports.InputPhone = InputPhone;
6714
6860
  exports.InputText = InputText;
package/dist/index.mjs CHANGED
@@ -1765,9 +1765,9 @@ var setNebulaLanguage = (language) => {
1765
1765
  var messages19 = /* @__PURE__ */ new Map([
1766
1766
  [null, enMessages],
1767
1767
  [void 0, enMessages],
1768
- ["en-US", enMessages],
1769
- ["es", esMessages],
1770
- ["pt-BR", ptBrMessages]
1768
+ ["en-US" /* EN_US */, enMessages],
1769
+ ["es" /* ES */, esMessages],
1770
+ ["pt-BR" /* PT_BR */, ptBrMessages]
1771
1771
  ]);
1772
1772
  var NebulaI18nContext = createContext(
1773
1773
  null
@@ -1781,13 +1781,13 @@ var NebulaI18nProvider = ({
1781
1781
  [customI18nStorageKey]
1782
1782
  );
1783
1783
  const [messages20, setMessages] = useState(
1784
- messages19.get(getNebulaLanguage()) ?? messages19.get("en-US")
1784
+ messages19.get(getNebulaLanguage()) ?? messages19.get("en-US" /* EN_US */)
1785
1785
  );
1786
1786
  const handleStorageChange = useCallback(
1787
1787
  ({ detail }) => {
1788
1788
  if (detail.key === storageKey) {
1789
1789
  setMessages(
1790
- messages19.get(detail.value) ?? messages19.get("en-US")
1790
+ messages19.get(detail.value) ?? messages19.get("en-US" /* EN_US */)
1791
1791
  );
1792
1792
  }
1793
1793
  },
@@ -3968,6 +3968,24 @@ var formatDateToSubmit = (dateStr, timeFallback = "23:59") => {
3968
3968
  };
3969
3969
 
3970
3970
  // src/utils/valid-date-format.ts
3971
+ function dateParts(dateSlice, locale, time) {
3972
+ const [day, month, year] = [
3973
+ locale !== "en-US" /* EN_US */ ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
3974
+ locale === "en-US" /* EN_US */ ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
3975
+ dateSlice.substring(6)
3976
+ ];
3977
+ const [hour = 0, minute = 0] = time?.split(":") ?? [];
3978
+ return {
3979
+ date: new Date(
3980
+ Number(year),
3981
+ Number(month) - 1,
3982
+ Number(day),
3983
+ Number(Math.min(Math.max(Number(hour), 0), 23)),
3984
+ Number(Math.min(Math.max(Number(minute), 0), 59))
3985
+ ),
3986
+ dateParts: [Number(day), Number(month), Number(year)]
3987
+ };
3988
+ }
3971
3989
  function dateFormatIsValid(dateStr, locale) {
3972
3990
  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}))$/;
3973
3991
  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}))$/;
@@ -4048,13 +4066,8 @@ var InputDatePickerSingle = ({
4048
4066
  handleClearValue();
4049
4067
  return;
4050
4068
  }
4051
- const [day, month2, year] = [
4052
- locale !== "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4053
- locale === "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4054
- dateSlice.substring(6)
4055
- ];
4056
- const date = new Date(Number(year), Number(month2) - 1, Number(day));
4057
- if ([day, month2, year].some((value2) => !value2) || !dateFormatIsValid(dateSlice, locale) || !isValid(new Date(date)) || !dateIsAvailable(date, disabledDates)) {
4069
+ const { date } = dateParts(dateSlice, locale);
4070
+ if (!isValid(date) || !dateFormatIsValid(dateSlice, locale) || !dateIsAvailable(date, disabledDates)) {
4058
4071
  onChange?.(text);
4059
4072
  handleClearValue();
4060
4073
  return;
@@ -4272,13 +4285,8 @@ var InputDateTimePickerSingle = ({
4272
4285
  handleClearValue();
4273
4286
  return;
4274
4287
  }
4275
- const [day, month2, year] = [
4276
- locale !== "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4277
- locale === "en-US" ? dateSlice.substring(0, 2) : dateSlice.substring(3, 5),
4278
- dateSlice.substring(6)
4279
- ];
4280
- const date = new Date(Number(year), Number(month2) - 1, Number(day));
4281
- if ([day, month2, year].some((value2) => !value2) || !dateFormatIsValid(dateSlice, locale) || !isValid(new Date(date)) || !dateIsAvailable(date, disabledDates)) {
4288
+ const date = dateParts(dateSlice, locale, hourSlice).date;
4289
+ if (!isValid(date) || !dateFormatIsValid(dateSlice, locale) || !dateIsAvailable(date, disabledDates)) {
4282
4290
  onChange?.(text);
4283
4291
  handleClearValue();
4284
4292
  return;
@@ -4449,6 +4457,143 @@ var InputDateTimePickerSingle = ({
4449
4457
  ) })
4450
4458
  ] });
4451
4459
  };
4460
+ var InputDateRangePicker = ({
4461
+ placeholder,
4462
+ className,
4463
+ value,
4464
+ onChange,
4465
+ numberOfMonths = 1,
4466
+ onClean,
4467
+ disabledDates,
4468
+ ...rest
4469
+ }) => {
4470
+ const [month, setMonth] = useState(/* @__PURE__ */ new Date());
4471
+ const [innerValue, setInnerValue] = useState();
4472
+ const [popoverIsOpen, setPopoverIsOpen] = useState(false);
4473
+ const maskOptions = {
4474
+ mask: "__/__/____ - __/__/____",
4475
+ replacement: { _: /\d/ }
4476
+ };
4477
+ const inputRef = useMask(maskOptions);
4478
+ const { locale } = useNebulaI18n();
4479
+ const conteinerRef = useRef(null);
4480
+ const calendarRef = useRef(null);
4481
+ useClickOutside([conteinerRef, calendarRef], () => {
4482
+ setPopoverIsOpen(false);
4483
+ });
4484
+ useKeyPress("Escape", () => {
4485
+ setPopoverIsOpen(false);
4486
+ });
4487
+ const handleInnerInputChange = (value2) => {
4488
+ const [startDate, endDate] = value2.split(" - ");
4489
+ const dateStart = startDate && dateFormatIsValid(startDate, locale) ? dateParts(startDate, locale).date : void 0;
4490
+ const dateEnd = endDate && dateFormatIsValid(endDate, locale) ? dateParts(endDate, locale).date : void 0;
4491
+ onChange?.(value2, [dateStart, dateEnd]);
4492
+ };
4493
+ const handleChangeCalendarDate = useCallback(
4494
+ (date) => {
4495
+ setInnerValue(date);
4496
+ const [from, to] = date;
4497
+ const fromStr = from ? Intl.DateTimeFormat(locale ?? "en-US", {
4498
+ month: "2-digit",
4499
+ year: "numeric",
4500
+ day: "2-digit"
4501
+ }).format(from) : "";
4502
+ const toStr = to ? Intl.DateTimeFormat(locale ?? "en-US", {
4503
+ month: "2-digit",
4504
+ year: "numeric",
4505
+ day: "2-digit"
4506
+ }).format(to) : "";
4507
+ onChange?.(
4508
+ [fromStr, toStr !== fromStr ? toStr : void 0].filter(Boolean).join(" - "),
4509
+ date
4510
+ );
4511
+ setMonth(to ?? /* @__PURE__ */ new Date());
4512
+ },
4513
+ [locale, onChange]
4514
+ );
4515
+ useEffect(() => {
4516
+ if (value) {
4517
+ const [startDate, endDate] = value.split(" - ");
4518
+ const dateStart = startDate && dateFormatIsValid(startDate, locale) ? dateParts(startDate, locale).date : void 0;
4519
+ const dateEnd = endDate && dateFormatIsValid(endDate, locale) ? dateParts(endDate, locale).date : void 0;
4520
+ setInnerValue(
4521
+ [dateStart, dateEnd].filter(Boolean)
4522
+ );
4523
+ if (dateEnd instanceof Date) {
4524
+ setMonth(dateEnd);
4525
+ } else {
4526
+ setMonth(/* @__PURE__ */ new Date());
4527
+ }
4528
+ } else {
4529
+ setInnerValue([void 0, void 0]);
4530
+ setMonth(/* @__PURE__ */ new Date());
4531
+ }
4532
+ }, [value, locale]);
4533
+ return /* @__PURE__ */ jsxs("div", { className: "nebula-ds w-full", ref: conteinerRef, children: [
4534
+ /* @__PURE__ */ jsx(
4535
+ InputText,
4536
+ {
4537
+ ref: inputRef,
4538
+ placeholder,
4539
+ value,
4540
+ className,
4541
+ icon: /* @__PURE__ */ jsx(
4542
+ CalendarIcon,
4543
+ {
4544
+ tabIndex: 0,
4545
+ role: "button",
4546
+ onClick: () => setPopoverIsOpen((s) => !s),
4547
+ onKeyUp: (e) => {
4548
+ if (e.key === "Enter") {
4549
+ setPopoverIsOpen((s) => !s);
4550
+ }
4551
+ },
4552
+ className: "nebula-ds cursor-pointer"
4553
+ }
4554
+ ),
4555
+ iconPlacement: "end",
4556
+ onKeyUp: (e) => {
4557
+ if (e.key === "ArrowDown") {
4558
+ setPopoverIsOpen(true);
4559
+ }
4560
+ },
4561
+ onClean: onClean ? () => {
4562
+ onClean();
4563
+ } : void 0,
4564
+ ...rest,
4565
+ onChange: (e) => handleInnerInputChange(e.target.value)
4566
+ }
4567
+ ),
4568
+ /* @__PURE__ */ jsx("div", { className: "nebula-ds relative", children: popoverIsOpen && /* @__PURE__ */ jsx(
4569
+ "div",
4570
+ {
4571
+ className: "nebula-ds absolute top-full left-0-0 z-40 pb-2 pt-1",
4572
+ ref: calendarRef,
4573
+ children: /* @__PURE__ */ jsx(
4574
+ Calendar,
4575
+ {
4576
+ required: false,
4577
+ mode: "range",
4578
+ numberOfMonths,
4579
+ disabled: disabledDates,
4580
+ month,
4581
+ onPrevClick: setMonth,
4582
+ onNextClick: setMonth,
4583
+ selected: {
4584
+ from: innerValue?.[0],
4585
+ to: innerValue?.[1]
4586
+ },
4587
+ onSelect: (date) => {
4588
+ handleChangeCalendarDate([date?.from, date?.to]);
4589
+ }
4590
+ }
4591
+ )
4592
+ }
4593
+ ) })
4594
+ ] });
4595
+ };
4596
+ InputDateRangePicker.displayName = "InputDateRangePicker";
4452
4597
  var FileUploadError = /* @__PURE__ */ ((FileUploadError4) => {
4453
4598
  FileUploadError4["MAX_FILES_EXCEEDED"] = "MAX_FILES_EXCEEDED";
4454
4599
  FileUploadError4["MAXIMUM_FILE_SIZE_EXCEEDED"] = "MAXIMUM_FILE_SIZE_EXCEEDED";
@@ -6583,4 +6728,4 @@ var tailwind = {
6583
6728
  // plugin: () => require("tailwindcss")("node_modules/@nebulareact/dist/tailwind.config.js"),
6584
6729
  };
6585
6730
 
6586
- 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, Cropper2 as Cropper, CropperCropArea2 as CropperCropArea, CropperDescription2 as CropperDescription, CropperImage2 as CropperImage, 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, ProfileImage, RadioGroup2 as RadioGroup, RadioGroupItem, StyledSelect as Select, Separator2 as Separator, Skeleton, Slider, Space, SpaceDirectionEnum, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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, messages19 as messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n };
6731
+ 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, Cropper2 as Cropper, CropperCropArea2 as CropperCropArea, CropperDescription2 as CropperDescription, CropperImage2 as CropperImage, 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, InputDateRangePicker, InputDateTimePickerSingle, InputPhone, InputText, InputTime, Label, Link, NebulaI18nProvider, Pagination, Paragraph, Popover, PopoverContent, PopoverTrigger, ProfileImage, RadioGroup2 as RadioGroup, RadioGroupItem, StyledSelect as Select, Separator2 as Separator, Skeleton, Slider, Space, SpaceDirectionEnum, SpaceSizeEnum, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, 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, messages19 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.3.3-beta.1",
3
+ "version": "1.4.0-beta.1",
4
4
  "description": "React components for Nebula Design System",
5
5
  "publishConfig": {
6
6
  "access": "public"