@ikatec/nebula-react 1.4.1-beta.3 → 1.5.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
@@ -784,7 +784,7 @@ interface CropperProps {
784
784
  }
785
785
  declare function Cropper({ onOpenChange, open, previewUrl, onApply, onCancelCrop, rounded, portal, }: CropperProps): react_jsx_runtime.JSX.Element;
786
786
 
787
- interface ProfileImageProps extends Pick<FileUploadOptions, 'maxFiles'> {
787
+ interface ProfileImageProps extends Omit<FileUploadOptions, 'maxSize'> {
788
788
  maxSizeMB?: number;
789
789
  onError?: (errors: {
790
790
  file?: File | FileMetadata;
@@ -800,7 +800,7 @@ interface ProfileImageProps extends Pick<FileUploadOptions, 'maxFiles'> {
800
800
  icon?: React__default.JSX.Element;
801
801
  }
802
802
  declare const ProfileImage: {
803
- ({ maxSizeMB, subtitle, onError, maxFiles, onRemove, image, cropperProps, onChange, size, icon, }: ProfileImageProps): react_jsx_runtime.JSX.Element;
803
+ ({ maxSizeMB, subtitle, onError, maxFiles, accept, onRemove, image, cropperProps, onChange, size, icon, }: ProfileImageProps): react_jsx_runtime.JSX.Element;
804
804
  displayName: string;
805
805
  };
806
806
 
@@ -962,6 +962,53 @@ interface KanbanCardProps extends HTMLAttributes<HTMLDivElement> {
962
962
  declare const KanbanCard: React$1.ForwardRefExoticComponent<KanbanCardProps & React$1.RefAttributes<HTMLDivElement>>;
963
963
  declare const KanbanColumnDragHandle: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
964
964
 
965
+ declare const TipCard: ({ children, looping, }: PropsWithChildren<{
966
+ looping?: boolean;
967
+ }>) => react_jsx_runtime.JSX.Element;
968
+
969
+ declare const TipCardItem: {
970
+ ({ ["data-tip-card-item-order" as keyof React.HTMLAttributes<HTMLDivElement>]: order, children, ...props }: PropsWithChildren<React__default.HTMLAttributes<HTMLDivElement>>): react_jsx_runtime.JSX.Element;
971
+ displayName: string;
972
+ };
973
+
974
+ interface TipCardContextType {
975
+ registeredTipsMap: Map<string, boolean>;
976
+ currentTipOrder: number;
977
+ isCarouselMode: boolean;
978
+ looping: boolean;
979
+ nextTip: () => void;
980
+ previousTip: () => void;
981
+ registerTip: (id: string) => void;
982
+ unregisterTip: (id: string) => void;
983
+ }
984
+ declare const TipCardProvider: ({ children, looping, }: PropsWithChildren<{
985
+ looping?: boolean;
986
+ }>) => react_jsx_runtime.JSX.Element;
987
+ declare const useTipCard: () => TipCardContextType;
988
+
989
+ declare const TipCardFooter: React__default.MemoExoticComponent<() => react_jsx_runtime.JSX.Element | null>;
990
+
991
+ declare const TipCardHeader: React__default.MemoExoticComponent<({ children, icon }: PropsWithChildren<{
992
+ icon?: React__default.ReactNode;
993
+ }>) => react_jsx_runtime.JSX.Element>;
994
+
995
+ declare const TipCardContent: ({ children }: PropsWithChildren) => react_jsx_runtime.JSX.Element;
996
+
997
+ declare enum TipCardMediaType {
998
+ image = "image",
999
+ video = "video"
1000
+ }
1001
+ interface TipCardMediaProps {
1002
+ type: keyof typeof TipCardMediaType;
1003
+ source?: string;
1004
+ alt?: string;
1005
+ children?: React__default.ReactNode;
1006
+ }
1007
+ declare const TipCardMedia: {
1008
+ ({ type, source, alt, children, }: TipCardMediaProps): react_jsx_runtime.JSX.Element;
1009
+ displayName: string;
1010
+ };
1011
+
965
1012
  interface Content {
966
1013
  /**
967
1014
  * Path to `node_modules` where `flowbite-react` is installed
@@ -1032,4 +1079,4 @@ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, o
1032
1079
 
1033
1080
  declare function useKeyPress(key: string, callback: VoidFunction): void;
1034
1081
 
1035
- 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, BannerAlert, type BannerAlertProps, BannerType, BannerVariant, 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, KanbanBoard, type KanbanBoardCard, type KanbanBoardColumn, type KanbanBoardProps, KanbanCard, type KanbanCardDropEvent, KanbanColumn, KanbanColumnDragHandle, type KanbanColumnDropEvent, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, type KanbanOrderingMode, type KanbanRenderCardContext, type KanbanRenderColumnContext, type KanbanVirtualizationOptions, 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 };
1082
+ 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, BannerAlert, type BannerAlertProps, BannerType, BannerVariant, 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, KanbanBoard, type KanbanBoardCard, type KanbanBoardColumn, type KanbanBoardProps, KanbanCard, type KanbanCardDropEvent, KanbanColumn, KanbanColumnDragHandle, type KanbanColumnDropEvent, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, type KanbanOrderingMode, type KanbanRenderCardContext, type KanbanRenderColumnContext, type KanbanVirtualizationOptions, 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, TipCard, TipCardContent, TipCardFooter, TipCardHeader, TipCardItem, TipCardMedia, TipCardMediaType, TipCardProvider, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n, useTipCard };
package/dist/index.d.ts CHANGED
@@ -784,7 +784,7 @@ interface CropperProps {
784
784
  }
785
785
  declare function Cropper({ onOpenChange, open, previewUrl, onApply, onCancelCrop, rounded, portal, }: CropperProps): react_jsx_runtime.JSX.Element;
786
786
 
787
- interface ProfileImageProps extends Pick<FileUploadOptions, 'maxFiles'> {
787
+ interface ProfileImageProps extends Omit<FileUploadOptions, 'maxSize'> {
788
788
  maxSizeMB?: number;
789
789
  onError?: (errors: {
790
790
  file?: File | FileMetadata;
@@ -800,7 +800,7 @@ interface ProfileImageProps extends Pick<FileUploadOptions, 'maxFiles'> {
800
800
  icon?: React__default.JSX.Element;
801
801
  }
802
802
  declare const ProfileImage: {
803
- ({ maxSizeMB, subtitle, onError, maxFiles, onRemove, image, cropperProps, onChange, size, icon, }: ProfileImageProps): react_jsx_runtime.JSX.Element;
803
+ ({ maxSizeMB, subtitle, onError, maxFiles, accept, onRemove, image, cropperProps, onChange, size, icon, }: ProfileImageProps): react_jsx_runtime.JSX.Element;
804
804
  displayName: string;
805
805
  };
806
806
 
@@ -962,6 +962,53 @@ interface KanbanCardProps extends HTMLAttributes<HTMLDivElement> {
962
962
  declare const KanbanCard: React$1.ForwardRefExoticComponent<KanbanCardProps & React$1.RefAttributes<HTMLDivElement>>;
963
963
  declare const KanbanColumnDragHandle: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
964
964
 
965
+ declare const TipCard: ({ children, looping, }: PropsWithChildren<{
966
+ looping?: boolean;
967
+ }>) => react_jsx_runtime.JSX.Element;
968
+
969
+ declare const TipCardItem: {
970
+ ({ ["data-tip-card-item-order" as keyof React.HTMLAttributes<HTMLDivElement>]: order, children, ...props }: PropsWithChildren<React__default.HTMLAttributes<HTMLDivElement>>): react_jsx_runtime.JSX.Element;
971
+ displayName: string;
972
+ };
973
+
974
+ interface TipCardContextType {
975
+ registeredTipsMap: Map<string, boolean>;
976
+ currentTipOrder: number;
977
+ isCarouselMode: boolean;
978
+ looping: boolean;
979
+ nextTip: () => void;
980
+ previousTip: () => void;
981
+ registerTip: (id: string) => void;
982
+ unregisterTip: (id: string) => void;
983
+ }
984
+ declare const TipCardProvider: ({ children, looping, }: PropsWithChildren<{
985
+ looping?: boolean;
986
+ }>) => react_jsx_runtime.JSX.Element;
987
+ declare const useTipCard: () => TipCardContextType;
988
+
989
+ declare const TipCardFooter: React__default.MemoExoticComponent<() => react_jsx_runtime.JSX.Element | null>;
990
+
991
+ declare const TipCardHeader: React__default.MemoExoticComponent<({ children, icon }: PropsWithChildren<{
992
+ icon?: React__default.ReactNode;
993
+ }>) => react_jsx_runtime.JSX.Element>;
994
+
995
+ declare const TipCardContent: ({ children }: PropsWithChildren) => react_jsx_runtime.JSX.Element;
996
+
997
+ declare enum TipCardMediaType {
998
+ image = "image",
999
+ video = "video"
1000
+ }
1001
+ interface TipCardMediaProps {
1002
+ type: keyof typeof TipCardMediaType;
1003
+ source?: string;
1004
+ alt?: string;
1005
+ children?: React__default.ReactNode;
1006
+ }
1007
+ declare const TipCardMedia: {
1008
+ ({ type, source, alt, children, }: TipCardMediaProps): react_jsx_runtime.JSX.Element;
1009
+ displayName: string;
1010
+ };
1011
+
965
1012
  interface Content {
966
1013
  /**
967
1014
  * Path to `node_modules` where `flowbite-react` is installed
@@ -1032,4 +1079,4 @@ declare function useClickOutside<T extends HTMLElement>(refs: PossibleRefs<T>, o
1032
1079
 
1033
1080
  declare function useKeyPress(key: string, callback: VoidFunction): void;
1034
1081
 
1035
- 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, BannerAlert, type BannerAlertProps, BannerType, BannerVariant, 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, KanbanBoard, type KanbanBoardCard, type KanbanBoardColumn, type KanbanBoardProps, KanbanCard, type KanbanCardDropEvent, KanbanColumn, KanbanColumnDragHandle, type KanbanColumnDropEvent, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, type KanbanOrderingMode, type KanbanRenderCardContext, type KanbanRenderColumnContext, type KanbanVirtualizationOptions, 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 };
1082
+ 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, BannerAlert, type BannerAlertProps, BannerType, BannerVariant, 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, KanbanBoard, type KanbanBoardCard, type KanbanBoardColumn, type KanbanBoardProps, KanbanCard, type KanbanCardDropEvent, KanbanColumn, KanbanColumnDragHandle, type KanbanColumnDropEvent, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, type KanbanOrderingMode, type KanbanRenderCardContext, type KanbanRenderColumnContext, type KanbanVirtualizationOptions, 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, TipCard, TipCardContent, TipCardFooter, TipCardHeader, TipCardItem, TipCardMedia, TipCardMediaType, TipCardProvider, Toaster, Tooltip, type TooltipProps, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n, useTipCard };
package/dist/index.js CHANGED
@@ -6215,6 +6215,7 @@ var ProfileImage = ({
6215
6215
  subtitle,
6216
6216
  onError,
6217
6217
  maxFiles = Infinity,
6218
+ accept = "image/*",
6218
6219
  onRemove,
6219
6220
  image,
6220
6221
  cropperProps,
@@ -6251,6 +6252,7 @@ var ProfileImage = ({
6251
6252
  }
6252
6253
  ] = useFileUpload({
6253
6254
  maxFiles,
6255
+ accept,
6254
6256
  initialFiles: image ? [
6255
6257
  {
6256
6258
  id,
@@ -6262,7 +6264,6 @@ var ProfileImage = ({
6262
6264
  ] : [],
6263
6265
  multiple: false,
6264
6266
  maxSize: maxSize > 0 ? maxSize : void 0,
6265
- accept: "image/*",
6266
6267
  onFilesChange([file2]) {
6267
6268
  handleFileChange(file2?.file);
6268
6269
  }
@@ -8097,6 +8098,232 @@ function KanbanBoard({
8097
8098
  }
8098
8099
  );
8099
8100
  }
8101
+ var TipCardContext = React31.createContext({
8102
+ registeredTipsMap: /* @__PURE__ */ new Map(),
8103
+ currentTipOrder: 0,
8104
+ isCarouselMode: false,
8105
+ looping: false,
8106
+ nextTip: () => void 0,
8107
+ previousTip: () => void 0,
8108
+ registerTip: () => void 0,
8109
+ unregisterTip: () => void 0
8110
+ });
8111
+ var TipCardProvider = ({
8112
+ children,
8113
+ looping = false
8114
+ }) => {
8115
+ const [currentTipOrder, setCurrentTipOrder] = React31.useState(0);
8116
+ const [registeredTipsMap, setRegisteredTipsMap] = React31.useState(/* @__PURE__ */ new Map());
8117
+ const isCarouselMode = React31.useMemo(() => {
8118
+ return registeredTipsMap.size > 1;
8119
+ }, [registeredTipsMap]);
8120
+ const registerTip = React31.useCallback((id) => {
8121
+ setRegisteredTipsMap((prev) => {
8122
+ const newMap = new Map(prev);
8123
+ newMap.set(id, true);
8124
+ return newMap;
8125
+ });
8126
+ }, []);
8127
+ const unregisterTip = React31.useCallback((id) => {
8128
+ setRegisteredTipsMap((prev) => {
8129
+ const newMap = new Map(prev);
8130
+ newMap.delete(id);
8131
+ return newMap;
8132
+ });
8133
+ }, []);
8134
+ const nextTip = React31.useCallback(() => {
8135
+ setCurrentTipOrder((prev) => {
8136
+ if (looping) {
8137
+ return (prev + 1) % registeredTipsMap.size;
8138
+ }
8139
+ return Math.min(prev + 1, registeredTipsMap.size - 1);
8140
+ });
8141
+ }, [registeredTipsMap.size, looping]);
8142
+ const previousTip = React31.useCallback(() => {
8143
+ setCurrentTipOrder((prev) => {
8144
+ if (looping) {
8145
+ return (prev - 1 + registeredTipsMap.size) % registeredTipsMap.size;
8146
+ }
8147
+ return Math.max(prev - 1, 0);
8148
+ });
8149
+ }, [registeredTipsMap.size, looping]);
8150
+ const contextValue = React31.useMemo(
8151
+ () => ({
8152
+ registerTip,
8153
+ unregisterTip,
8154
+ registeredTipsMap,
8155
+ currentTipOrder,
8156
+ nextTip,
8157
+ previousTip,
8158
+ isCarouselMode,
8159
+ looping
8160
+ }),
8161
+ [
8162
+ registerTip,
8163
+ unregisterTip,
8164
+ registeredTipsMap,
8165
+ currentTipOrder,
8166
+ nextTip,
8167
+ previousTip,
8168
+ isCarouselMode,
8169
+ looping
8170
+ ]
8171
+ );
8172
+ return /* @__PURE__ */ jsxRuntime.jsx(TipCardContext.Provider, { value: contextValue, children });
8173
+ };
8174
+ var useTipCard = () => {
8175
+ const context = React31.useContext(TipCardContext);
8176
+ if (!context) {
8177
+ throw new Error("useTipCard must be used within a TipCardProvider");
8178
+ }
8179
+ return context;
8180
+ };
8181
+ var TipCardFooter = React31.memo(() => {
8182
+ const {
8183
+ isCarouselMode,
8184
+ previousTip,
8185
+ nextTip,
8186
+ currentTipOrder,
8187
+ registeredTipsMap,
8188
+ looping
8189
+ } = useTipCard();
8190
+ if (isCarouselMode) {
8191
+ return /* @__PURE__ */ jsxRuntime.jsxs(Space, { size: "xs", direction: "row", children: [
8192
+ /* @__PURE__ */ jsxRuntime.jsx(
8193
+ Button,
8194
+ {
8195
+ variant: "ghost",
8196
+ onClick: previousTip,
8197
+ icon: true,
8198
+ "aria-label": "Previous tip",
8199
+ size: "sm",
8200
+ disabled: currentTipOrder === 0 && !looping,
8201
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, {})
8202
+ }
8203
+ ),
8204
+ /* @__PURE__ */ jsxRuntime.jsx(
8205
+ Button,
8206
+ {
8207
+ variant: "ghost",
8208
+ onClick: nextTip,
8209
+ icon: true,
8210
+ "aria-label": "Next tip",
8211
+ size: "sm",
8212
+ disabled: currentTipOrder === registeredTipsMap.size - 1 && !looping,
8213
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, {})
8214
+ }
8215
+ )
8216
+ ] });
8217
+ }
8218
+ return null;
8219
+ });
8220
+ TipCardFooter.displayName = "TipCardFooter";
8221
+ var TipCardItem = ({
8222
+ ["data-tip-card-item-order"]: order,
8223
+ children,
8224
+ ...props
8225
+ }) => {
8226
+ const id = React31.useId();
8227
+ const { registerTip, currentTipOrder } = useTipCard();
8228
+ React31.useEffect(() => {
8229
+ registerTip(id);
8230
+ }, [registerTip, id]);
8231
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: "nebula-ds w-full inline-flex h-full flex-col gap-6", children: currentTipOrder === Number(order) && children });
8232
+ };
8233
+ TipCardItem.displayName = "TipCardItem";
8234
+ var TipCardContent = ({ children }) => {
8235
+ const { currentTipOrder } = useTipCard();
8236
+ const calculateTransform = React31.useCallback(() => {
8237
+ return `translateX(-${currentTipOrder * 100}%)`;
8238
+ }, [currentTipOrder]);
8239
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
8240
+ "div",
8241
+ {
8242
+ className: "nebula-ds w-full whitespace-nowrap transition-transform duration-300",
8243
+ style: { transform: calculateTransform() },
8244
+ children: React31__namespace.default.Children.map(children, (child, i) => {
8245
+ if (React31__namespace.default.isValidElement(child) && child.type === TipCardItem) {
8246
+ return React31__namespace.default.cloneElement(child, {
8247
+ key: child.key,
8248
+ ["data-tip-card-item"]: true,
8249
+ ["data-tip-card-item-order"]: i.toString()
8250
+ });
8251
+ }
8252
+ return child;
8253
+ })
8254
+ }
8255
+ ) });
8256
+ };
8257
+ var TipCard = ({
8258
+ children,
8259
+ looping = false
8260
+ }) => {
8261
+ return /* @__PURE__ */ jsxRuntime.jsx(TipCardProvider, { looping, children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { paddingSize: "md", border: true, className: "nebula-ds flex flex-col gap-6", children: [
8262
+ /* @__PURE__ */ jsxRuntime.jsx(TipCardContent, { children }),
8263
+ /* @__PURE__ */ jsxRuntime.jsx(TipCardFooter, {})
8264
+ ] }) });
8265
+ };
8266
+ var TipCardHeader = React31.memo(
8267
+ ({ children, icon }) => {
8268
+ const { currentTipOrder, isCarouselMode, registeredTipsMap } = useTipCard();
8269
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds flex flex-col gap-3 items-start", children: [
8270
+ icon && /* @__PURE__ */ jsxRuntime.jsx(
8271
+ "div",
8272
+ {
8273
+ className: "size-10 rounded-full bg-tipCard-header-icon-background [&_svg]:size-5 [&_svg]:text-tipCard-header-icon-color flex items-center justify-center",
8274
+ children: icon
8275
+ }
8276
+ ),
8277
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds flex items-center justify-between relative w-full", children: [
8278
+ children,
8279
+ isCarouselMode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds absolute right-0", children: /* @__PURE__ */ jsxRuntime.jsxs(Paragraph, { size: "sm", children: [
8280
+ currentTipOrder + 1,
8281
+ "-",
8282
+ registeredTipsMap.size
8283
+ ] }) })
8284
+ ] })
8285
+ ] });
8286
+ }
8287
+ );
8288
+ TipCardHeader.displayName = "TipCardHeader";
8289
+ var TipCardContent2 = ({ children }) => {
8290
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds flex flex-col gap-4 whitespace-normal [&_:is(h1,h2,h3,h4,h5,h6)]:mb-2", children });
8291
+ };
8292
+ var TipCardMediaType = /* @__PURE__ */ ((TipCardMediaType2) => {
8293
+ TipCardMediaType2["image"] = "image";
8294
+ TipCardMediaType2["video"] = "video";
8295
+ return TipCardMediaType2;
8296
+ })(TipCardMediaType || {});
8297
+ var TipCardMedia = ({
8298
+ type,
8299
+ source,
8300
+ alt,
8301
+ children
8302
+ }) => {
8303
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds w-full min-h-36 rounded-2xl overflow-hidden", children: [
8304
+ source && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: type === "image" /* image */ ? /* @__PURE__ */ jsxRuntime.jsx(
8305
+ "img",
8306
+ {
8307
+ src: source,
8308
+ alt,
8309
+ className: "nebula-ds w-full h-full object-contain"
8310
+ }
8311
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(
8312
+ "video",
8313
+ {
8314
+ className: "nebula-ds w-full h-full object-contain",
8315
+ controls: true,
8316
+ src: source,
8317
+ children: [
8318
+ /* @__PURE__ */ jsxRuntime.jsx("source", { src: source, type: "video/mp4" }),
8319
+ "Your browser does not support the video tag."
8320
+ ]
8321
+ }
8322
+ ) }),
8323
+ children
8324
+ ] });
8325
+ };
8326
+ TipCardMedia.displayName = "TipCardMedia";
8100
8327
 
8101
8328
  // src/tailwind.ts
8102
8329
  function content({ base = "./" } = {}) {
@@ -8247,6 +8474,14 @@ exports.TabsList = TabsList;
8247
8474
  exports.TabsTrigger = TabsTrigger;
8248
8475
  exports.Tag = Tag;
8249
8476
  exports.TextArea = TextArea;
8477
+ exports.TipCard = TipCard;
8478
+ exports.TipCardContent = TipCardContent2;
8479
+ exports.TipCardFooter = TipCardFooter;
8480
+ exports.TipCardHeader = TipCardHeader;
8481
+ exports.TipCardItem = TipCardItem;
8482
+ exports.TipCardMedia = TipCardMedia;
8483
+ exports.TipCardMediaType = TipCardMediaType;
8484
+ exports.TipCardProvider = TipCardProvider;
8250
8485
  exports.Toaster = Toaster;
8251
8486
  exports.Tooltip = Tooltip;
8252
8487
  exports.alertVariants = alertVariants;
@@ -8269,3 +8504,4 @@ exports.useClickOutside = useClickOutside;
8269
8504
  exports.useFileUpload = useFileUpload;
8270
8505
  exports.useKeyPress = useKeyPress;
8271
8506
  exports.useNebulaI18n = useNebulaI18n;
8507
+ exports.useTipCard = useTipCard;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React31 from 'react';
2
- import React31__default, { createContext, forwardRef, useMemo, useState, useEffect, useCallback, useContext, useRef, useId } from 'react';
2
+ import React31__default, { createContext, forwardRef, useMemo, useState, useEffect, memo, useContext, useCallback, useRef, useId } from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import { cva } from 'class-variance-authority';
5
5
  import { extendTailwindMerge } from 'tailwind-merge';
@@ -7,7 +7,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import * as PopoverPrimitive from '@radix-ui/react-popover';
8
8
  import * as LabelPrimitive from '@radix-ui/react-label';
9
9
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
10
- import { ChevronRight, Check, Circle, CircleX, Eye, EyeOff, X, Minus, ClockIcon, ChevronsLeft, ChevronLeft, ChevronsRight, MoreHorizontal, ChevronDown, ChevronLeftIcon, ChevronDownIcon, ChevronRightIcon, CalendarIcon, ImageUpIcon, XIcon, MinusIcon, PlusIcon, UserIcon, LoaderCircleIcon, CheckIcon, PhoneIcon, FileTextIcon, FileAudioIcon, FileVideoIcon, Info, CircleCheckBig, InfoIcon, TriangleAlertIcon, CircleCheckBigIcon } from 'lucide-react';
10
+ import { ChevronRight, Check, Circle, CircleX, Eye, EyeOff, X, Minus, ClockIcon, ChevronLeftIcon, ChevronRightIcon, ChevronsLeft, ChevronLeft, ChevronsRight, MoreHorizontal, ChevronDown, ChevronDownIcon, CalendarIcon, ImageUpIcon, XIcon, MinusIcon, PlusIcon, UserIcon, LoaderCircleIcon, CheckIcon, PhoneIcon, FileTextIcon, FileAudioIcon, FileVideoIcon, Info, CircleCheckBig, InfoIcon, TriangleAlertIcon, CircleCheckBigIcon } from 'lucide-react';
11
11
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
12
12
  import Select, { components } from 'react-select';
13
13
  import Creatable from 'react-select/creatable';
@@ -6173,6 +6173,7 @@ var ProfileImage = ({
6173
6173
  subtitle,
6174
6174
  onError,
6175
6175
  maxFiles = Infinity,
6176
+ accept = "image/*",
6176
6177
  onRemove,
6177
6178
  image,
6178
6179
  cropperProps,
@@ -6209,6 +6210,7 @@ var ProfileImage = ({
6209
6210
  }
6210
6211
  ] = useFileUpload({
6211
6212
  maxFiles,
6213
+ accept,
6212
6214
  initialFiles: image ? [
6213
6215
  {
6214
6216
  id,
@@ -6220,7 +6222,6 @@ var ProfileImage = ({
6220
6222
  ] : [],
6221
6223
  multiple: false,
6222
6224
  maxSize: maxSize > 0 ? maxSize : void 0,
6223
- accept: "image/*",
6224
6225
  onFilesChange([file2]) {
6225
6226
  handleFileChange(file2?.file);
6226
6227
  }
@@ -8055,6 +8056,232 @@ function KanbanBoard({
8055
8056
  }
8056
8057
  );
8057
8058
  }
8059
+ var TipCardContext = createContext({
8060
+ registeredTipsMap: /* @__PURE__ */ new Map(),
8061
+ currentTipOrder: 0,
8062
+ isCarouselMode: false,
8063
+ looping: false,
8064
+ nextTip: () => void 0,
8065
+ previousTip: () => void 0,
8066
+ registerTip: () => void 0,
8067
+ unregisterTip: () => void 0
8068
+ });
8069
+ var TipCardProvider = ({
8070
+ children,
8071
+ looping = false
8072
+ }) => {
8073
+ const [currentTipOrder, setCurrentTipOrder] = useState(0);
8074
+ const [registeredTipsMap, setRegisteredTipsMap] = useState(/* @__PURE__ */ new Map());
8075
+ const isCarouselMode = useMemo(() => {
8076
+ return registeredTipsMap.size > 1;
8077
+ }, [registeredTipsMap]);
8078
+ const registerTip = useCallback((id) => {
8079
+ setRegisteredTipsMap((prev) => {
8080
+ const newMap = new Map(prev);
8081
+ newMap.set(id, true);
8082
+ return newMap;
8083
+ });
8084
+ }, []);
8085
+ const unregisterTip = useCallback((id) => {
8086
+ setRegisteredTipsMap((prev) => {
8087
+ const newMap = new Map(prev);
8088
+ newMap.delete(id);
8089
+ return newMap;
8090
+ });
8091
+ }, []);
8092
+ const nextTip = useCallback(() => {
8093
+ setCurrentTipOrder((prev) => {
8094
+ if (looping) {
8095
+ return (prev + 1) % registeredTipsMap.size;
8096
+ }
8097
+ return Math.min(prev + 1, registeredTipsMap.size - 1);
8098
+ });
8099
+ }, [registeredTipsMap.size, looping]);
8100
+ const previousTip = useCallback(() => {
8101
+ setCurrentTipOrder((prev) => {
8102
+ if (looping) {
8103
+ return (prev - 1 + registeredTipsMap.size) % registeredTipsMap.size;
8104
+ }
8105
+ return Math.max(prev - 1, 0);
8106
+ });
8107
+ }, [registeredTipsMap.size, looping]);
8108
+ const contextValue = useMemo(
8109
+ () => ({
8110
+ registerTip,
8111
+ unregisterTip,
8112
+ registeredTipsMap,
8113
+ currentTipOrder,
8114
+ nextTip,
8115
+ previousTip,
8116
+ isCarouselMode,
8117
+ looping
8118
+ }),
8119
+ [
8120
+ registerTip,
8121
+ unregisterTip,
8122
+ registeredTipsMap,
8123
+ currentTipOrder,
8124
+ nextTip,
8125
+ previousTip,
8126
+ isCarouselMode,
8127
+ looping
8128
+ ]
8129
+ );
8130
+ return /* @__PURE__ */ jsx(TipCardContext.Provider, { value: contextValue, children });
8131
+ };
8132
+ var useTipCard = () => {
8133
+ const context = useContext(TipCardContext);
8134
+ if (!context) {
8135
+ throw new Error("useTipCard must be used within a TipCardProvider");
8136
+ }
8137
+ return context;
8138
+ };
8139
+ var TipCardFooter = memo(() => {
8140
+ const {
8141
+ isCarouselMode,
8142
+ previousTip,
8143
+ nextTip,
8144
+ currentTipOrder,
8145
+ registeredTipsMap,
8146
+ looping
8147
+ } = useTipCard();
8148
+ if (isCarouselMode) {
8149
+ return /* @__PURE__ */ jsxs(Space, { size: "xs", direction: "row", children: [
8150
+ /* @__PURE__ */ jsx(
8151
+ Button,
8152
+ {
8153
+ variant: "ghost",
8154
+ onClick: previousTip,
8155
+ icon: true,
8156
+ "aria-label": "Previous tip",
8157
+ size: "sm",
8158
+ disabled: currentTipOrder === 0 && !looping,
8159
+ children: /* @__PURE__ */ jsx(ChevronLeftIcon, {})
8160
+ }
8161
+ ),
8162
+ /* @__PURE__ */ jsx(
8163
+ Button,
8164
+ {
8165
+ variant: "ghost",
8166
+ onClick: nextTip,
8167
+ icon: true,
8168
+ "aria-label": "Next tip",
8169
+ size: "sm",
8170
+ disabled: currentTipOrder === registeredTipsMap.size - 1 && !looping,
8171
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
8172
+ }
8173
+ )
8174
+ ] });
8175
+ }
8176
+ return null;
8177
+ });
8178
+ TipCardFooter.displayName = "TipCardFooter";
8179
+ var TipCardItem = ({
8180
+ ["data-tip-card-item-order"]: order,
8181
+ children,
8182
+ ...props
8183
+ }) => {
8184
+ const id = useId();
8185
+ const { registerTip, currentTipOrder } = useTipCard();
8186
+ useEffect(() => {
8187
+ registerTip(id);
8188
+ }, [registerTip, id]);
8189
+ return /* @__PURE__ */ jsx("div", { ...props, className: "nebula-ds w-full inline-flex h-full flex-col gap-6", children: currentTipOrder === Number(order) && children });
8190
+ };
8191
+ TipCardItem.displayName = "TipCardItem";
8192
+ var TipCardContent = ({ children }) => {
8193
+ const { currentTipOrder } = useTipCard();
8194
+ const calculateTransform = useCallback(() => {
8195
+ return `translateX(-${currentTipOrder * 100}%)`;
8196
+ }, [currentTipOrder]);
8197
+ return /* @__PURE__ */ jsx("div", { className: "nebula-ds w-full overflow-hidden", children: /* @__PURE__ */ jsx(
8198
+ "div",
8199
+ {
8200
+ className: "nebula-ds w-full whitespace-nowrap transition-transform duration-300",
8201
+ style: { transform: calculateTransform() },
8202
+ children: React31__default.Children.map(children, (child, i) => {
8203
+ if (React31__default.isValidElement(child) && child.type === TipCardItem) {
8204
+ return React31__default.cloneElement(child, {
8205
+ key: child.key,
8206
+ ["data-tip-card-item"]: true,
8207
+ ["data-tip-card-item-order"]: i.toString()
8208
+ });
8209
+ }
8210
+ return child;
8211
+ })
8212
+ }
8213
+ ) });
8214
+ };
8215
+ var TipCard = ({
8216
+ children,
8217
+ looping = false
8218
+ }) => {
8219
+ return /* @__PURE__ */ jsx(TipCardProvider, { looping, children: /* @__PURE__ */ jsxs(Box, { paddingSize: "md", border: true, className: "nebula-ds flex flex-col gap-6", children: [
8220
+ /* @__PURE__ */ jsx(TipCardContent, { children }),
8221
+ /* @__PURE__ */ jsx(TipCardFooter, {})
8222
+ ] }) });
8223
+ };
8224
+ var TipCardHeader = memo(
8225
+ ({ children, icon }) => {
8226
+ const { currentTipOrder, isCarouselMode, registeredTipsMap } = useTipCard();
8227
+ return /* @__PURE__ */ jsxs("div", { className: "nebula-ds flex flex-col gap-3 items-start", children: [
8228
+ icon && /* @__PURE__ */ jsx(
8229
+ "div",
8230
+ {
8231
+ className: "size-10 rounded-full bg-tipCard-header-icon-background [&_svg]:size-5 [&_svg]:text-tipCard-header-icon-color flex items-center justify-center",
8232
+ children: icon
8233
+ }
8234
+ ),
8235
+ /* @__PURE__ */ jsxs("div", { className: "nebula-ds flex items-center justify-between relative w-full", children: [
8236
+ children,
8237
+ isCarouselMode && /* @__PURE__ */ jsx("div", { className: "nebula-ds absolute right-0", children: /* @__PURE__ */ jsxs(Paragraph, { size: "sm", children: [
8238
+ currentTipOrder + 1,
8239
+ "-",
8240
+ registeredTipsMap.size
8241
+ ] }) })
8242
+ ] })
8243
+ ] });
8244
+ }
8245
+ );
8246
+ TipCardHeader.displayName = "TipCardHeader";
8247
+ var TipCardContent2 = ({ children }) => {
8248
+ return /* @__PURE__ */ jsx("div", { className: "nebula-ds flex flex-col gap-4 whitespace-normal [&_:is(h1,h2,h3,h4,h5,h6)]:mb-2", children });
8249
+ };
8250
+ var TipCardMediaType = /* @__PURE__ */ ((TipCardMediaType2) => {
8251
+ TipCardMediaType2["image"] = "image";
8252
+ TipCardMediaType2["video"] = "video";
8253
+ return TipCardMediaType2;
8254
+ })(TipCardMediaType || {});
8255
+ var TipCardMedia = ({
8256
+ type,
8257
+ source,
8258
+ alt,
8259
+ children
8260
+ }) => {
8261
+ return /* @__PURE__ */ jsxs("div", { className: "nebula-ds w-full min-h-36 rounded-2xl overflow-hidden", children: [
8262
+ source && /* @__PURE__ */ jsx(Fragment, { children: type === "image" /* image */ ? /* @__PURE__ */ jsx(
8263
+ "img",
8264
+ {
8265
+ src: source,
8266
+ alt,
8267
+ className: "nebula-ds w-full h-full object-contain"
8268
+ }
8269
+ ) : /* @__PURE__ */ jsxs(
8270
+ "video",
8271
+ {
8272
+ className: "nebula-ds w-full h-full object-contain",
8273
+ controls: true,
8274
+ src: source,
8275
+ children: [
8276
+ /* @__PURE__ */ jsx("source", { src: source, type: "video/mp4" }),
8277
+ "Your browser does not support the video tag."
8278
+ ]
8279
+ }
8280
+ ) }),
8281
+ children
8282
+ ] });
8283
+ };
8284
+ TipCardMedia.displayName = "TipCardMedia";
8058
8285
 
8059
8286
  // src/tailwind.ts
8060
8287
  function content({ base = "./" } = {}) {
@@ -8066,4 +8293,4 @@ var tailwind = {
8066
8293
  // plugin: () => require("tailwindcss")("node_modules/@nebulareact/dist/tailwind.config.js"),
8067
8294
  };
8068
8295
 
8069
- 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, BannerAlert, BannerType, BannerVariant, 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, KanbanBoard, KanbanCard, KanbanColumn, KanbanColumnDragHandle, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, 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 };
8296
+ 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, BannerAlert, BannerType, BannerVariant, 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, KanbanBoard, KanbanCard, KanbanColumn, KanbanColumnDragHandle, KanbanColumnFooter, KanbanColumnHeader, KanbanColumnTitle, 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, TipCard, TipCardContent2 as TipCardContent, TipCardFooter, TipCardHeader, TipCardItem, TipCardMedia, TipCardMediaType, TipCardProvider, Toaster, Tooltip, alertVariants, badgeSizeEnum, badgeVariantEnum, buttonSizeEnum, buttonVariantEnum, buttonVariantsConfig, dateIsAvailable, formatBytes, getNebulaLanguage, localeByi18nKey, messages19 as messages, separatorVariants, setNebulaLanguage, tagVariantsEnum, tailwind, toast, useClickOutside, useFileUpload, useKeyPress, useNebulaI18n, useTipCard };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikatec/nebula-react",
3
- "version": "1.4.1-beta.3",
3
+ "version": "1.5.0-beta.1",
4
4
  "description": "React components for Nebula Design System",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -30,7 +30,7 @@
30
30
  "@babel/preset-react": "^7.26.3",
31
31
  "@babel/preset-typescript": "^7.27.0",
32
32
  "@ikatec/eslint-config": "*",
33
- "@ikatec/nebula-tokens": "1.3.0",
33
+ "@ikatec/nebula-tokens": "1.4.0-beta.1",
34
34
  "@ikatec/typescript-config": "*",
35
35
  "ts-node": "^10.9.2",
36
36
  "tsup": "^8.3.5",