@sikka/hawa 0.19.6-next → 0.19.9-next

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,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { FC, ChangeEvent, InputHTMLAttributes, ReactNode, PropsWithChildren, RefObject, useEffect } from 'react';
2
+ import React__default, { FC, ChangeEvent, FormEvent, InputHTMLAttributes, ReactNode, PropsWithChildren, RefObject, useEffect } from 'react';
3
3
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
4
4
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
5
5
  import * as SwitchPrimitives from '@radix-ui/react-switch';
@@ -48,6 +48,7 @@ type AdCardTypes = {
48
48
  handleCantHide?: () => void;
49
49
  handleClick?: (e: React__default.MouseEvent) => void;
50
50
  canHide: boolean;
51
+ className?: string;
51
52
  };
52
53
  declare const AdCard: FC<AdCardTypes>;
53
54
 
@@ -186,6 +187,7 @@ interface ItemCardTypes {
186
187
  clickableImageActionText?: string;
187
188
  /** The icon of the action button on the image of the card */
188
189
  clickableImageActionIcon?: any;
190
+ className?: string;
189
191
  }
190
192
  declare const ItemCard: FC<ItemCardTypes>;
191
193
 
@@ -210,6 +212,7 @@ type PinInputTypes = {
210
212
  getPins?: (pins: string[]) => void;
211
213
  /** The small red text under the input field to show validation or a hint. */
212
214
  helperText?: any;
215
+ inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
213
216
  };
214
217
  declare const PinInput: FC<PinInputTypes>;
215
218
 
@@ -292,7 +295,7 @@ type ColorPickerTypes = {
292
295
  /** The hex code for the color */
293
296
  color?: any;
294
297
  /** Fires everytime the color changes */
295
- handleChange?: (e: ChangeEvent<HTMLInputElement>) => void;
298
+ handleChange?: (e: ChangeEvent<HTMLInputElement> | FormEvent<HTMLInputElement>) => void;
296
299
  colorPickerClassNames?: string;
297
300
  colorTextClassNames?: string;
298
301
  colorPickerProps?: InputHTMLAttributes<HTMLInputElement>;
@@ -437,6 +440,7 @@ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<SheetPrimiti
437
440
  } & React$1.RefAttributes<HTMLDivElement>>;
438
441
  declare const DialogCarouselContent: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
439
442
  hideCloseButton?: boolean | undefined;
443
+ hidePrevButton?: boolean | undefined;
440
444
  persist?: boolean | undefined;
441
445
  onPrev?: (() => void) | undefined;
442
446
  } & React$1.RefAttributes<HTMLDivElement>>;
@@ -1669,10 +1673,10 @@ type PricingPlansTypes = {
1669
1673
  plans: {
1670
1674
  id: any;
1671
1675
  direction: DirectionType;
1672
- features: [{
1676
+ features: {
1673
1677
  included: boolean;
1674
1678
  text: string;
1675
- }];
1679
+ }[];
1676
1680
  price: number;
1677
1681
  size: "small" | "medium" | "large";
1678
1682
  texts: {
@@ -1691,7 +1695,6 @@ type PricingPlansTypes = {
1691
1695
  label: string;
1692
1696
  value: string;
1693
1697
  }[];
1694
- onPlanClicked?: (e: any) => void;
1695
1698
  currentCycle: {
1696
1699
  label: string;
1697
1700
  value: string;
@@ -1700,6 +1703,7 @@ type PricingPlansTypes = {
1700
1703
  label: string;
1701
1704
  value: string;
1702
1705
  };
1706
+ onPlanClicked?: (e: any) => void;
1703
1707
  onCycleChange?: (e: any) => void;
1704
1708
  onCurrencyChange?: (e: any) => void;
1705
1709
  direction?: DirectionType;
@@ -1840,6 +1844,7 @@ declare const useDialogCarousel: (options?: any) => {
1840
1844
  emblaApi: embla_carousel_react.EmblaCarouselType | undefined;
1841
1845
  nextStep: () => void;
1842
1846
  prevStep: () => void;
1847
+ canScrollPrev: boolean;
1843
1848
  };
1844
1849
 
1845
1850
  declare const useMultiStepDialog: (initialStep: any, stepIds: any[], setOpenDialog: any) => {
@@ -1886,4 +1891,4 @@ declare function useTabs(initialTab?: string): {
1886
1891
  handleTabChange: (index: any) => void;
1887
1892
  };
1888
1893
 
1889
- export { Accordion, AccordionContent, AccordionItem, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, AppSidebarItemProps, AppStores, AppTabs, AppTopbar, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, ChipColors, ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavMenuItem, Navbar, NavigationMenu, NavigationMenuLink, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, SplitButton, Stats, StopPropagationWrapper, SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, Textarea, TextareaProps, Toast$1 as Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, Usage, UseFocusWithinOptions, UseMediaQueryOptions, UserReferralSource, buttonVariants, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };
1894
+ export { Accordion, AccordionContent, AccordionItem, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, type AppSidebarItemProps, AppStores, AppTabs, AppTopbar, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, type ChipColors, type ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, type LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, type MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavMenuItem, Navbar, NavigationMenu, NavigationMenuLink, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, type RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, type SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, SplitButton, Stats, StopPropagationWrapper, type SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, Textarea, type TextareaProps, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, Usage, type UseFocusWithinOptions, type UseMediaQueryOptions, UserReferralSource, buttonVariants, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { FC, ChangeEvent, InputHTMLAttributes, ReactNode, PropsWithChildren, RefObject, useEffect } from 'react';
2
+ import React__default, { FC, ChangeEvent, FormEvent, InputHTMLAttributes, ReactNode, PropsWithChildren, RefObject, useEffect } from 'react';
3
3
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
4
4
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
5
5
  import * as SwitchPrimitives from '@radix-ui/react-switch';
@@ -48,6 +48,7 @@ type AdCardTypes = {
48
48
  handleCantHide?: () => void;
49
49
  handleClick?: (e: React__default.MouseEvent) => void;
50
50
  canHide: boolean;
51
+ className?: string;
51
52
  };
52
53
  declare const AdCard: FC<AdCardTypes>;
53
54
 
@@ -186,6 +187,7 @@ interface ItemCardTypes {
186
187
  clickableImageActionText?: string;
187
188
  /** The icon of the action button on the image of the card */
188
189
  clickableImageActionIcon?: any;
190
+ className?: string;
189
191
  }
190
192
  declare const ItemCard: FC<ItemCardTypes>;
191
193
 
@@ -210,6 +212,7 @@ type PinInputTypes = {
210
212
  getPins?: (pins: string[]) => void;
211
213
  /** The small red text under the input field to show validation or a hint. */
212
214
  helperText?: any;
215
+ inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
213
216
  };
214
217
  declare const PinInput: FC<PinInputTypes>;
215
218
 
@@ -292,7 +295,7 @@ type ColorPickerTypes = {
292
295
  /** The hex code for the color */
293
296
  color?: any;
294
297
  /** Fires everytime the color changes */
295
- handleChange?: (e: ChangeEvent<HTMLInputElement>) => void;
298
+ handleChange?: (e: ChangeEvent<HTMLInputElement> | FormEvent<HTMLInputElement>) => void;
296
299
  colorPickerClassNames?: string;
297
300
  colorTextClassNames?: string;
298
301
  colorPickerProps?: InputHTMLAttributes<HTMLInputElement>;
@@ -437,6 +440,7 @@ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<SheetPrimiti
437
440
  } & React$1.RefAttributes<HTMLDivElement>>;
438
441
  declare const DialogCarouselContent: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
439
442
  hideCloseButton?: boolean | undefined;
443
+ hidePrevButton?: boolean | undefined;
440
444
  persist?: boolean | undefined;
441
445
  onPrev?: (() => void) | undefined;
442
446
  } & React$1.RefAttributes<HTMLDivElement>>;
@@ -1669,10 +1673,10 @@ type PricingPlansTypes = {
1669
1673
  plans: {
1670
1674
  id: any;
1671
1675
  direction: DirectionType;
1672
- features: [{
1676
+ features: {
1673
1677
  included: boolean;
1674
1678
  text: string;
1675
- }];
1679
+ }[];
1676
1680
  price: number;
1677
1681
  size: "small" | "medium" | "large";
1678
1682
  texts: {
@@ -1691,7 +1695,6 @@ type PricingPlansTypes = {
1691
1695
  label: string;
1692
1696
  value: string;
1693
1697
  }[];
1694
- onPlanClicked?: (e: any) => void;
1695
1698
  currentCycle: {
1696
1699
  label: string;
1697
1700
  value: string;
@@ -1700,6 +1703,7 @@ type PricingPlansTypes = {
1700
1703
  label: string;
1701
1704
  value: string;
1702
1705
  };
1706
+ onPlanClicked?: (e: any) => void;
1703
1707
  onCycleChange?: (e: any) => void;
1704
1708
  onCurrencyChange?: (e: any) => void;
1705
1709
  direction?: DirectionType;
@@ -1840,6 +1844,7 @@ declare const useDialogCarousel: (options?: any) => {
1840
1844
  emblaApi: embla_carousel_react.EmblaCarouselType | undefined;
1841
1845
  nextStep: () => void;
1842
1846
  prevStep: () => void;
1847
+ canScrollPrev: boolean;
1843
1848
  };
1844
1849
 
1845
1850
  declare const useMultiStepDialog: (initialStep: any, stepIds: any[], setOpenDialog: any) => {
@@ -1886,4 +1891,4 @@ declare function useTabs(initialTab?: string): {
1886
1891
  handleTabChange: (index: any) => void;
1887
1892
  };
1888
1893
 
1889
- export { Accordion, AccordionContent, AccordionItem, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, AppSidebarItemProps, AppStores, AppTabs, AppTopbar, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, ChipColors, ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavMenuItem, Navbar, NavigationMenu, NavigationMenuLink, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, SplitButton, Stats, StopPropagationWrapper, SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, Textarea, TextareaProps, Toast$1 as Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, Usage, UseFocusWithinOptions, UseMediaQueryOptions, UserReferralSource, buttonVariants, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };
1894
+ export { Accordion, AccordionContent, AccordionItem, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, type AppSidebarItemProps, AppStores, AppTabs, AppTopbar, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, type ChipColors, type ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, type LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, type MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavMenuItem, Navbar, NavigationMenu, NavigationMenuLink, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, type RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, type SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, SplitButton, Stats, StopPropagationWrapper, type SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, Textarea, type TextareaProps, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, Usage, type UseFocusWithinOptions, type UseMediaQueryOptions, UserReferralSource, buttonVariants, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };
package/dist/index.js CHANGED
@@ -279,7 +279,10 @@ function cn(...inputs) {
279
279
 
280
280
  // components/elements/cards/AdCard.tsx
281
281
  var import_react2 = __toESM(require("react"));
282
- var AdCard = ({ orientation, ...props }) => {
282
+ var AdCard = ({
283
+ orientation = "vertical",
284
+ ...props
285
+ }) => {
283
286
  const adRef = (0, import_react2.useRef)(null);
284
287
  const [closed, setClosed] = (0, import_react2.useState)(false);
285
288
  let duration = 0;
@@ -311,8 +314,7 @@ var AdCard = ({ orientation, ...props }) => {
311
314
  return /* @__PURE__ */ import_react2.default.createElement("div", { ref: adRef }, /* @__PURE__ */ import_react2.default.createElement(
312
315
  "div",
313
316
  {
314
- className: cn(cardStyles[orientation], ""),
315
- ...props,
317
+ className: cn(cardStyles[orientation], props.className),
316
318
  onClick: props.handleClick
317
319
  },
318
320
  /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-flex hawa-aspect-square hawa-w-full hawa-max-w-fit hawa-items-start " }, /* @__PURE__ */ import_react2.default.createElement(
@@ -935,7 +937,7 @@ var DropdownMenuContent = React10.forwardRef(({ className, sideOffset = 4, ...pr
935
937
  }
936
938
  )));
937
939
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
938
- var DropdownMenuItem = React10.forwardRef(({ className, inset, slug, ...props }, ref) => {
940
+ var DropdownMenuItem = React10.forwardRef(({ className, inset, badged, slug, ...props }, ref) => {
939
941
  return /* @__PURE__ */ React10.createElement("a", { href: slug }, /* @__PURE__ */ React10.createElement(
940
942
  DropdownMenuPrimitive.Item,
941
943
  {
@@ -952,7 +954,7 @@ var DropdownMenuItem = React10.forwardRef(({ className, inset, slug, ...props },
952
954
  /* @__PURE__ */ React10.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 " }, props.children),
953
955
  props.end && props.end,
954
956
  !props.end && props.shortcut && /* @__PURE__ */ React10.createElement(DropdownMenuShortcut, null, props.shortcut),
955
- !props.end && props.badged && /* @__PURE__ */ React10.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-bg-red-500 hawa-rounded-full" })
957
+ !props.end && badged && /* @__PURE__ */ React10.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-bg-red-500 hawa-rounded-full" })
956
958
  ));
957
959
  });
958
960
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
@@ -1202,7 +1204,7 @@ var DropdownMenuRadio = (props) => {
1202
1204
  value: props.value,
1203
1205
  onValueChange: props.onValueChange
1204
1206
  },
1205
- props.options.map((opt) => /* @__PURE__ */ React10.createElement(DropdownMenuRadioItem, { value: opt.value }, opt.label))
1207
+ props.options.map((opt, i) => /* @__PURE__ */ React10.createElement(DropdownMenuRadioItem, { key: i, value: opt.value }, opt.label))
1206
1208
  )));
1207
1209
  };
1208
1210
 
@@ -1263,15 +1265,15 @@ var ItemCard = ({
1263
1265
  className: cn(
1264
1266
  defaultStyle,
1265
1267
  props.onCardClick && " hover:hawa-shadow-lg hawa-cursor-pointer",
1266
- orientationStyles[orientation]
1268
+ orientationStyles[orientation],
1269
+ props.className
1267
1270
  ),
1268
1271
  onClick: (e) => {
1269
1272
  e.stopPropagation();
1270
1273
  if (props.onCardClick) {
1271
1274
  props.onCardClick(e);
1272
1275
  }
1273
- },
1274
- ...props
1276
+ }
1275
1277
  },
1276
1278
  cardImage && /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-group hawa-relative hawa-overflow-clip" }, /* @__PURE__ */ import_react8.default.createElement(
1277
1279
  "img",
@@ -1344,6 +1346,7 @@ var PinInput = ({
1344
1346
  digits,
1345
1347
  width = "normal",
1346
1348
  getPins,
1349
+ inputProps,
1347
1350
  ...props
1348
1351
  }) => {
1349
1352
  const [pin, setPin] = (0, import_react10.useState)(Array.from(Array(digits)));
@@ -1402,7 +1405,7 @@ var PinInput = ({
1402
1405
  onChange: (e) => handleChange(e, index),
1403
1406
  onKeyDown: (e) => handleKeyDown(e, index),
1404
1407
  onFocus: (e) => e.target.select(),
1405
- ...props
1408
+ ...inputProps
1406
1409
  }
1407
1410
  ))
1408
1411
  ), /* @__PURE__ */ import_react10.default.createElement(
@@ -3846,16 +3849,11 @@ var ColorPicker = ({
3846
3849
  let inputColor = inputElement.value;
3847
3850
  if (inputColor[0] !== "#") {
3848
3851
  inputColor = `#${inputColor}`;
3849
- inputElement.value = inputColor;
3850
3852
  }
3851
3853
  const sanitizedInput = inputColor.replace(/[^a-fA-F0-9#]/g, "");
3852
- if (sanitizedInput !== inputColor) {
3853
- inputElement.value = sanitizedInput;
3854
- }
3855
3854
  setSelectedColor(sanitizedInput);
3856
3855
  if (props.handleChange) {
3857
- const event = new Event("input", { bubbles: true });
3858
- inputElement.dispatchEvent(event);
3856
+ props.handleChange(e);
3859
3857
  }
3860
3858
  };
3861
3859
  return /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-w-full hawa-gap-2" }, props.label && /* @__PURE__ */ import_react15.default.createElement(Label2, { ...labelProps }, props.label), /* @__PURE__ */ import_react15.default.createElement("div", { dir: "ltr", className: "hawa-flex hawa-flex-row hawa-w-full" }, /* @__PURE__ */ import_react15.default.createElement(
@@ -3887,7 +3885,6 @@ var ColorPicker = ({
3887
3885
  {
3888
3886
  maxLength: 7,
3889
3887
  type: "text",
3890
- defaultValue: selectedColor || "#",
3891
3888
  onInput: handleTextInputChange,
3892
3889
  value: selectedColor,
3893
3890
  className: cn(
@@ -4100,7 +4097,15 @@ var DialogContent = React26.forwardRef(({ className, children, persist, hideClos
4100
4097
  )
4101
4098
  )));
4102
4099
  var DialogCarouselContent = React26.forwardRef(
4103
- ({ className, children, onPrev, persist, hideCloseButton, ...props }, ref) => /* @__PURE__ */ React26.createElement(DialogPortal, null, /* @__PURE__ */ React26.createElement(DialogOverlay, null), /* @__PURE__ */ React26.createElement(
4100
+ ({
4101
+ className,
4102
+ children,
4103
+ onPrev,
4104
+ persist,
4105
+ hideCloseButton,
4106
+ hidePrevButton,
4107
+ ...props
4108
+ }, ref) => /* @__PURE__ */ React26.createElement(DialogPortal, null, /* @__PURE__ */ React26.createElement(DialogOverlay, null), /* @__PURE__ */ React26.createElement(
4104
4109
  DialogPrimitive.Content,
4105
4110
  {
4106
4111
  onPointerDownOutside: (e) => {
@@ -4124,7 +4129,7 @@ var DialogCarouselContent = React26.forwardRef(
4124
4129
  onPrev ? "hawa-justify-between" : "hawa-justify-end"
4125
4130
  )
4126
4131
  },
4127
- onPrev && /* @__PURE__ */ React26.createElement(
4132
+ hidePrevButton ? /* @__PURE__ */ React26.createElement("div", null) : /* @__PURE__ */ React26.createElement(
4128
4133
  "div",
4129
4134
  {
4130
4135
  onClick: onPrev,
@@ -4656,7 +4661,7 @@ var FileUploader = ({ handleFile, className }) => {
4656
4661
  const fileUploaded = event.target.files[0];
4657
4662
  handleFile(fileUploaded);
4658
4663
  };
4659
- return /* @__PURE__ */ import_react17.default.createElement("div", { className }, /* @__PURE__ */ import_react17.default.createElement("button", { className: "hawa-h-full hawa-w-full", onClick: handleClick }), /* @__PURE__ */ import_react17.default.createElement(
4664
+ return /* @__PURE__ */ import_react17.default.createElement("div", { className }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "hawa-h-full hawa-w-full", onClick: handleClick }), /* @__PURE__ */ import_react17.default.createElement(
4660
4665
  "input",
4661
4666
  {
4662
4667
  type: "file",
@@ -4971,7 +4976,10 @@ var CodeBlock = ({
4971
4976
  {
4972
4977
  open: clipboard.copied,
4973
4978
  side: "left",
4974
- content: /* @__PURE__ */ import_react21.default.createElement("div", null, "Copied!")
4979
+ content: /* @__PURE__ */ import_react21.default.createElement("div", null, "Copied!"),
4980
+ triggerProps: {
4981
+ asChild: true
4982
+ }
4975
4983
  },
4976
4984
  /* @__PURE__ */ import_react21.default.createElement(
4977
4985
  Button,
@@ -5736,7 +5744,14 @@ var Carousel = (props) => {
5736
5744
  const length = import_react26.default.Children.count(items);
5737
5745
  const canScrollNext = !!(emblaApi == null ? void 0 : emblaApi.canScrollNext());
5738
5746
  const canScrollPrev = !!(emblaApi == null ? void 0 : emblaApi.canScrollPrev());
5739
- return /* @__PURE__ */ import_react26.default.createElement("div", { className: " hawa-relative hawa-h-full" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full hawa-overflow-hidden" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full", ref: emblaRef }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full hawa-flex" }, items == null ? void 0 : items.map((item) => /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full hawa-justify-center hawa-flex hawa-items-center hawa-min-w-0 hawa-flex-[0_0_100%]" }, item))))), /* @__PURE__ */ import_react26.default.createElement(
5747
+ return /* @__PURE__ */ import_react26.default.createElement("div", { className: " hawa-relative hawa-h-full" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full hawa-overflow-hidden" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full", ref: emblaRef }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "hawa-h-full hawa-flex" }, items == null ? void 0 : items.map((item, i) => /* @__PURE__ */ import_react26.default.createElement(
5748
+ "div",
5749
+ {
5750
+ key: i,
5751
+ className: "hawa-h-full hawa-justify-center hawa-flex hawa-items-center hawa-min-w-0 hawa-flex-[0_0_100%]"
5752
+ },
5753
+ item
5754
+ ))))), /* @__PURE__ */ import_react26.default.createElement(
5740
5755
  Dots,
5741
5756
  {
5742
5757
  itemsLength: length,
@@ -7366,7 +7381,7 @@ ProgressCircle.displayName = "ProgressCircle";
7366
7381
  var React60 = __toESM(require("react"));
7367
7382
  var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"));
7368
7383
  var import_class_variance_authority4 = require("class-variance-authority");
7369
- var NavigationMenuRoot = React60.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React60.createElement(
7384
+ var NavigationMenuRoot = React60.forwardRef(({ className, children, viewportClassNames, ...props }, ref) => /* @__PURE__ */ React60.createElement(
7370
7385
  NavigationMenuPrimitive.Root,
7371
7386
  {
7372
7387
  ref,
@@ -7378,7 +7393,7 @@ var NavigationMenuRoot = React60.forwardRef(({ className, children, ...props },
7378
7393
  ...props
7379
7394
  },
7380
7395
  children,
7381
- /* @__PURE__ */ React60.createElement(NavigationMenuViewport, { className: props.viewportClassNames })
7396
+ /* @__PURE__ */ React60.createElement(NavigationMenuViewport, { className: viewportClassNames })
7382
7397
  ));
7383
7398
  NavigationMenuRoot.displayName = NavigationMenuPrimitive.Root.displayName;
7384
7399
  var NavigationMenuList = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React60.createElement(
@@ -7477,14 +7492,17 @@ var NavigationMenuIndicator = React60.forwardRef(({ className, ...props }, ref)
7477
7492
  /* @__PURE__ */ React60.createElement("div", { className: "hawa-relative hawa-top-[60%] hawa-h-2 hawa-w-2 hawa-rotate-45 hawa-rounded-tl-sm hawa-bg-border hawa-shadow-md" })
7478
7493
  ));
7479
7494
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
7480
- var NavigationMenu = (props) => {
7495
+ var NavigationMenu = ({
7496
+ viewportClassNames,
7497
+ ...props
7498
+ }) => {
7481
7499
  return /* @__PURE__ */ React60.createElement(
7482
7500
  NavigationMenuRoot,
7483
7501
  {
7484
7502
  dir: props.direction,
7485
7503
  delayDuration: 0,
7486
7504
  className: props.rootClassNames,
7487
- viewportClassNames: props.viewportClassNames
7505
+ viewportClassNames
7488
7506
  },
7489
7507
  /* @__PURE__ */ React60.createElement(NavigationMenuList, null, props.items.map((item, i) => /* @__PURE__ */ React60.createElement(NavigationMenuItem, { key: i }, item.content ? /* @__PURE__ */ React60.createElement(React60.Fragment, null, /* @__PURE__ */ React60.createElement(NavigationMenuTrigger, null, item.trigger), /* @__PURE__ */ React60.createElement(NavigationMenuContent, null, item.content)) : /* @__PURE__ */ React60.createElement(
7490
7508
  NavigationMenuLink,
@@ -7945,7 +7963,7 @@ var Stats = ({
7945
7963
  muted: "hawa-text-muted-foreground"
7946
7964
  };
7947
7965
  return /* @__PURE__ */ import_react39.default.createElement(Card, { ...props, clickable: Boolean(props.onClick) }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between hawa-p-4 hawa-items-center" }, /* @__PURE__ */ import_react39.default.createElement(CardTitle, { className: "hawa-text-sm hawa-font-medium" }, label), icon && /* @__PURE__ */ import_react39.default.createElement("span", null, icon)), /* @__PURE__ */ import_react39.default.createElement(CardContent, { className: "hawa-transition-all" }, isLoading ? /* @__PURE__ */ import_react39.default.createElement(Skeleton, { className: "hawa-h-8 hawa-w-3/4" }) : /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-text-2xl hawa-font-bold" }, number), helperText && /* @__PURE__ */ import_react39.default.createElement(
7948
- "p",
7966
+ "div",
7949
7967
  {
7950
7968
  className: cn(
7951
7969
  "hawa-my-0 hawa-text-xs hawa-transition-all hawa-text-start",
@@ -8206,9 +8224,10 @@ var Navbar = ({
8206
8224
  }
8207
8225
  },
8208
8226
  logo
8209
- )), /* @__PURE__ */ import_react41.default.createElement("div", { className: "hawa-hidden md:hawa-flex " }, (_a = props.menuItems) == null ? void 0 : _a.map((item) => /* @__PURE__ */ import_react41.default.createElement(
8227
+ )), /* @__PURE__ */ import_react41.default.createElement("div", { className: "hawa-hidden md:hawa-flex " }, (_a = props.menuItems) == null ? void 0 : _a.map((item, i) => /* @__PURE__ */ import_react41.default.createElement(
8210
8228
  "div",
8211
8229
  {
8230
+ key: i,
8212
8231
  onClick: item.action,
8213
8232
  className: "hawa-p-1.5 hawa-px-2 hawa-text-sm hawa-text-center hawa-rounded hawa-text-white hover:hawa-text-black hover:hawa-bg-gray-300 hawa-transition-all hawa-cursor-pointer"
8214
8233
  },
@@ -8277,9 +8296,10 @@ var Navbar = ({
8277
8296
  zIndex: -100
8278
8297
  }
8279
8298
  },
8280
- (_b = props.menuItems) == null ? void 0 : _b.map((item) => /* @__PURE__ */ import_react41.default.createElement(
8299
+ (_b = props.menuItems) == null ? void 0 : _b.map((item, i) => /* @__PURE__ */ import_react41.default.createElement(
8281
8300
  "div",
8282
8301
  {
8302
+ key: i,
8283
8303
  onClick: item.action,
8284
8304
  className: "hawa-text-black hawa-p-2 hawa-px-10 hawa-text-center hawa-rounded hover:hawa-bg-gray-300 hawa-transition-all hawa-cursor-pointer"
8285
8305
  },
@@ -8565,7 +8585,8 @@ var AppLayout = ({
8565
8585
  {
8566
8586
  side: "left",
8567
8587
  delayDuration: 500,
8568
- content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar"
8588
+ content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar",
8589
+ triggerProps: { asChild: true }
8569
8590
  },
8570
8591
  /* @__PURE__ */ import_react42.default.createElement(
8571
8592
  Button,
@@ -8960,6 +8981,7 @@ var AppTabs = ({ tabs, ...props }) => {
8960
8981
  return /* @__PURE__ */ import_react44.default.createElement(
8961
8982
  AppSingleTab,
8962
8983
  {
8984
+ key: index,
8963
8985
  tab,
8964
8986
  onClick: () => setSelectedIndex(index),
8965
8987
  isSelected: selected
@@ -8971,6 +8993,7 @@ var AppSingleTab = ({ tab, ...props }) => {
8971
8993
  return /* @__PURE__ */ import_react44.default.createElement(
8972
8994
  "div",
8973
8995
  {
8996
+ key: props.key,
8974
8997
  onClick: props.onClick,
8975
8998
  className: cn(
8976
8999
  "hawa-p-4 hawa-py-2 hawa-flex hawa-flex-row hawa-gap-2 hawa-translate-y-[1.1px] hawa-text-sm hawa-rounded-t hawa-transition-all hawa-select-none hawa-z-10 ",
@@ -10928,9 +10951,10 @@ var PricingPlans = (props) => {
10928
10951
  onPlanClicked: () => {
10929
10952
  if (props.onPlanClicked) {
10930
10953
  let clickedData = {
10931
- plan: plan.id,
10954
+ // plan: plan.id,
10932
10955
  currency: props.currentCurrency,
10933
- cycle: props.currentCycle
10956
+ cycle: props.currentCycle,
10957
+ ...plan
10934
10958
  };
10935
10959
  props.onPlanClicked(clickedData);
10936
10960
  }
@@ -11136,6 +11160,7 @@ var import_react73 = require("react");
11136
11160
  var import_react74 = require("react");
11137
11161
 
11138
11162
  // components/hooks/useDialogCarousel.ts
11163
+ var import_react75 = require("react");
11139
11164
  var import_embla_carousel_react2 = __toESM(require("embla-carousel-react"));
11140
11165
  var import_embla_carousel_auto_height = __toESM(require("embla-carousel-auto-height"));
11141
11166
  var useDialogCarousel = (options) => {
@@ -11143,6 +11168,12 @@ var useDialogCarousel = (options) => {
11143
11168
  { loop: false, watchDrag: false, startIndex: 0, ...options },
11144
11169
  [(0, import_embla_carousel_auto_height.default)({ destroyHeight: "fit", active: true })]
11145
11170
  );
11171
+ const [canScrollPrev, setCanScrollPrev] = (0, import_react75.useState)(false);
11172
+ const checkCanScrollPrev = () => {
11173
+ if (emblaApi) {
11174
+ setCanScrollPrev(emblaApi.canScrollPrev());
11175
+ }
11176
+ };
11146
11177
  const nextStep = () => {
11147
11178
  if (emblaApi) {
11148
11179
  console.log("going to NEXT \u{1F449}");
@@ -11155,22 +11186,29 @@ var useDialogCarousel = (options) => {
11155
11186
  emblaApi.scrollPrev();
11156
11187
  }
11157
11188
  };
11189
+ (0, import_react75.useEffect)(() => {
11190
+ checkCanScrollPrev();
11191
+ emblaApi && emblaApi.on("select", checkCanScrollPrev);
11192
+ return () => {
11193
+ emblaApi && emblaApi.off("select", checkCanScrollPrev);
11194
+ };
11195
+ }, [emblaApi]);
11158
11196
  return {
11159
11197
  emblaRef,
11160
11198
  emblaApi,
11161
- // currentStep,
11162
11199
  nextStep,
11163
- prevStep
11200
+ prevStep,
11201
+ canScrollPrev
11164
11202
  };
11165
11203
  };
11166
11204
 
11167
11205
  // components/hooks/useDialogSteps.ts
11168
- var import_react75 = require("react");
11206
+ var import_react76 = require("react");
11169
11207
  var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
11170
- const [currentStep, setCurrentStep] = (0, import_react75.useState)(initialStep);
11171
- const [dialogHeight, setDialogHeight] = (0, import_react75.useState)(null);
11172
- const visibleStepRef = (0, import_react75.useRef)(null);
11173
- (0, import_react75.useEffect)(() => {
11208
+ const [currentStep, setCurrentStep] = (0, import_react76.useState)(initialStep);
11209
+ const [dialogHeight, setDialogHeight] = (0, import_react76.useState)(null);
11210
+ const visibleStepRef = (0, import_react76.useRef)(null);
11211
+ (0, import_react76.useEffect)(() => {
11174
11212
  if (visibleStepRef.current) {
11175
11213
  setDialogHeight(visibleStepRef.current.offsetHeight);
11176
11214
  }
@@ -11201,13 +11239,13 @@ var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
11201
11239
  };
11202
11240
 
11203
11241
  // components/hooks/useWindowSize.ts
11204
- var import_react76 = require("react");
11242
+ var import_react77 = require("react");
11205
11243
  var useWindowSize = () => {
11206
- const [windowSize, setWindowSize] = (0, import_react76.useState)({
11244
+ const [windowSize, setWindowSize] = (0, import_react77.useState)({
11207
11245
  width: void 0,
11208
11246
  height: void 0
11209
11247
  });
11210
- (0, import_react76.useEffect)(() => {
11248
+ (0, import_react77.useEffect)(() => {
11211
11249
  function handleResize() {
11212
11250
  setWindowSize({
11213
11251
  width: window.innerWidth,
@@ -11222,7 +11260,7 @@ var useWindowSize = () => {
11222
11260
  };
11223
11261
 
11224
11262
  // components/hooks/useFocusWithin.ts
11225
- var import_react77 = require("react");
11263
+ var import_react78 = require("react");
11226
11264
  function containsRelatedTarget(event) {
11227
11265
  if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
11228
11266
  return event.currentTarget.contains(event.relatedTarget);
@@ -11233,9 +11271,9 @@ function useFocusWithin({
11233
11271
  onBlur,
11234
11272
  onFocus
11235
11273
  } = {}) {
11236
- const ref = (0, import_react77.useRef)(null);
11237
- const [focused, _setFocused] = (0, import_react77.useState)(false);
11238
- const focusedRef = (0, import_react77.useRef)(false);
11274
+ const ref = (0, import_react78.useRef)(null);
11275
+ const [focused, _setFocused] = (0, import_react78.useState)(false);
11276
+ const focusedRef = (0, import_react78.useRef)(false);
11239
11277
  const setFocused = (value) => {
11240
11278
  _setFocused(value);
11241
11279
  focusedRef.current = value;
@@ -11252,7 +11290,7 @@ function useFocusWithin({
11252
11290
  onBlur == null ? void 0 : onBlur(event);
11253
11291
  }
11254
11292
  };
11255
- (0, import_react77.useEffect)(() => {
11293
+ (0, import_react78.useEffect)(() => {
11256
11294
  if (ref.current) {
11257
11295
  ref.current.addEventListener("focusin", handleFocusIn);
11258
11296
  ref.current.addEventListener("focusout", handleFocusOut);
@@ -11268,7 +11306,7 @@ function useFocusWithin({
11268
11306
  }
11269
11307
 
11270
11308
  // components/hooks/useMediaQuery.ts
11271
- var import_react78 = require("react");
11309
+ var import_react79 = require("react");
11272
11310
  function attachMediaListener(query, callback) {
11273
11311
  try {
11274
11312
  query.addEventListener("change", callback);
@@ -11290,11 +11328,11 @@ function getInitialValue(query, initialValue) {
11290
11328
  function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11291
11329
  getInitialValueInEffect: true
11292
11330
  }) {
11293
- const [matches, setMatches] = (0, import_react78.useState)(
11331
+ const [matches, setMatches] = (0, import_react79.useState)(
11294
11332
  getInitialValueInEffect ? initialValue : getInitialValue(query, initialValue)
11295
11333
  );
11296
- const queryRef = (0, import_react78.useRef)();
11297
- (0, import_react78.useEffect)(() => {
11334
+ const queryRef = (0, import_react79.useRef)();
11335
+ (0, import_react79.useEffect)(() => {
11298
11336
  if ("matchMedia" in window) {
11299
11337
  queryRef.current = window.matchMedia(query);
11300
11338
  setMatches(queryRef.current.matches);
@@ -11309,16 +11347,16 @@ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11309
11347
  }
11310
11348
 
11311
11349
  // components/hooks/useScrollPosition.ts
11312
- var import_react79 = require("react");
11350
+ var import_react80 = require("react");
11313
11351
 
11314
11352
  // components/hooks/useTable.ts
11315
- var import_react80 = require("react");
11353
+ var import_react81 = require("react");
11316
11354
 
11317
11355
  // components/hooks/useTabs.ts
11318
- var import_react81 = require("react");
11356
+ var import_react82 = require("react");
11319
11357
  function useTabs(initialTab = "") {
11320
- const [activeTab, setActiveTab] = (0, import_react81.useState)(initialTab);
11321
- (0, import_react81.useEffect)(() => {
11358
+ const [activeTab, setActiveTab] = (0, import_react82.useState)(initialTab);
11359
+ (0, import_react82.useEffect)(() => {
11322
11360
  const handleHashChange = () => {
11323
11361
  const hash = window.location.hash.substring(1);
11324
11362
  setActiveTab(hash || initialTab);
package/dist/index.mjs CHANGED
@@ -46,7 +46,10 @@ function cn(...inputs) {
46
46
 
47
47
  // components/elements/cards/AdCard.tsx
48
48
  import React3, { useState as useState2, useEffect, useRef } from "react";
49
- var AdCard = ({ orientation, ...props }) => {
49
+ var AdCard = ({
50
+ orientation = "vertical",
51
+ ...props
52
+ }) => {
50
53
  const adRef = useRef(null);
51
54
  const [closed, setClosed] = useState2(false);
52
55
  let duration = 0;
@@ -78,8 +81,7 @@ var AdCard = ({ orientation, ...props }) => {
78
81
  return /* @__PURE__ */ React3.createElement("div", { ref: adRef }, /* @__PURE__ */ React3.createElement(
79
82
  "div",
80
83
  {
81
- className: cn(cardStyles[orientation], ""),
82
- ...props,
84
+ className: cn(cardStyles[orientation], props.className),
83
85
  onClick: props.handleClick
84
86
  },
85
87
  /* @__PURE__ */ React3.createElement("div", { className: "hawa-flex hawa-aspect-square hawa-w-full hawa-max-w-fit hawa-items-start " }, /* @__PURE__ */ React3.createElement(
@@ -702,7 +704,7 @@ var DropdownMenuContent = React10.forwardRef(({ className, sideOffset = 4, ...pr
702
704
  }
703
705
  )));
704
706
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
705
- var DropdownMenuItem = React10.forwardRef(({ className, inset, slug, ...props }, ref) => {
707
+ var DropdownMenuItem = React10.forwardRef(({ className, inset, badged, slug, ...props }, ref) => {
706
708
  return /* @__PURE__ */ React10.createElement("a", { href: slug }, /* @__PURE__ */ React10.createElement(
707
709
  DropdownMenuPrimitive.Item,
708
710
  {
@@ -719,7 +721,7 @@ var DropdownMenuItem = React10.forwardRef(({ className, inset, slug, ...props },
719
721
  /* @__PURE__ */ React10.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 " }, props.children),
720
722
  props.end && props.end,
721
723
  !props.end && props.shortcut && /* @__PURE__ */ React10.createElement(DropdownMenuShortcut, null, props.shortcut),
722
- !props.end && props.badged && /* @__PURE__ */ React10.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-bg-red-500 hawa-rounded-full" })
724
+ !props.end && badged && /* @__PURE__ */ React10.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-bg-red-500 hawa-rounded-full" })
723
725
  ));
724
726
  });
725
727
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
@@ -969,7 +971,7 @@ var DropdownMenuRadio = (props) => {
969
971
  value: props.value,
970
972
  onValueChange: props.onValueChange
971
973
  },
972
- props.options.map((opt) => /* @__PURE__ */ React10.createElement(DropdownMenuRadioItem, { value: opt.value }, opt.label))
974
+ props.options.map((opt, i) => /* @__PURE__ */ React10.createElement(DropdownMenuRadioItem, { key: i, value: opt.value }, opt.label))
973
975
  )));
974
976
  };
975
977
 
@@ -1030,15 +1032,15 @@ var ItemCard = ({
1030
1032
  className: cn(
1031
1033
  defaultStyle,
1032
1034
  props.onCardClick && " hover:hawa-shadow-lg hawa-cursor-pointer",
1033
- orientationStyles[orientation]
1035
+ orientationStyles[orientation],
1036
+ props.className
1034
1037
  ),
1035
1038
  onClick: (e) => {
1036
1039
  e.stopPropagation();
1037
1040
  if (props.onCardClick) {
1038
1041
  props.onCardClick(e);
1039
1042
  }
1040
- },
1041
- ...props
1043
+ }
1042
1044
  },
1043
1045
  cardImage && /* @__PURE__ */ React12.createElement("div", { className: "hawa-group hawa-relative hawa-overflow-clip" }, /* @__PURE__ */ React12.createElement(
1044
1046
  "img",
@@ -1111,6 +1113,7 @@ var PinInput = ({
1111
1113
  digits,
1112
1114
  width = "normal",
1113
1115
  getPins,
1116
+ inputProps,
1114
1117
  ...props
1115
1118
  }) => {
1116
1119
  const [pin, setPin] = useState4(Array.from(Array(digits)));
@@ -1169,7 +1172,7 @@ var PinInput = ({
1169
1172
  onChange: (e) => handleChange(e, index),
1170
1173
  onKeyDown: (e) => handleKeyDown(e, index),
1171
1174
  onFocus: (e) => e.target.select(),
1172
- ...props
1175
+ ...inputProps
1173
1176
  }
1174
1177
  ))
1175
1178
  ), /* @__PURE__ */ React14.createElement(
@@ -3616,16 +3619,11 @@ var ColorPicker = ({
3616
3619
  let inputColor = inputElement.value;
3617
3620
  if (inputColor[0] !== "#") {
3618
3621
  inputColor = `#${inputColor}`;
3619
- inputElement.value = inputColor;
3620
3622
  }
3621
3623
  const sanitizedInput = inputColor.replace(/[^a-fA-F0-9#]/g, "");
3622
- if (sanitizedInput !== inputColor) {
3623
- inputElement.value = sanitizedInput;
3624
- }
3625
3624
  setSelectedColor(sanitizedInput);
3626
3625
  if (props.handleChange) {
3627
- const event = new Event("input", { bubbles: true });
3628
- inputElement.dispatchEvent(event);
3626
+ props.handleChange(e);
3629
3627
  }
3630
3628
  };
3631
3629
  return /* @__PURE__ */ React24.createElement("div", { className: "hawa-flex hawa-flex-col hawa-w-full hawa-gap-2" }, props.label && /* @__PURE__ */ React24.createElement(Label2, { ...labelProps }, props.label), /* @__PURE__ */ React24.createElement("div", { dir: "ltr", className: "hawa-flex hawa-flex-row hawa-w-full" }, /* @__PURE__ */ React24.createElement(
@@ -3657,7 +3655,6 @@ var ColorPicker = ({
3657
3655
  {
3658
3656
  maxLength: 7,
3659
3657
  type: "text",
3660
- defaultValue: selectedColor || "#",
3661
3658
  onInput: handleTextInputChange,
3662
3659
  value: selectedColor,
3663
3660
  className: cn(
@@ -3870,7 +3867,15 @@ var DialogContent = React26.forwardRef(({ className, children, persist, hideClos
3870
3867
  )
3871
3868
  )));
3872
3869
  var DialogCarouselContent = React26.forwardRef(
3873
- ({ className, children, onPrev, persist, hideCloseButton, ...props }, ref) => /* @__PURE__ */ React26.createElement(DialogPortal, null, /* @__PURE__ */ React26.createElement(DialogOverlay, null), /* @__PURE__ */ React26.createElement(
3870
+ ({
3871
+ className,
3872
+ children,
3873
+ onPrev,
3874
+ persist,
3875
+ hideCloseButton,
3876
+ hidePrevButton,
3877
+ ...props
3878
+ }, ref) => /* @__PURE__ */ React26.createElement(DialogPortal, null, /* @__PURE__ */ React26.createElement(DialogOverlay, null), /* @__PURE__ */ React26.createElement(
3874
3879
  DialogPrimitive.Content,
3875
3880
  {
3876
3881
  onPointerDownOutside: (e) => {
@@ -3894,7 +3899,7 @@ var DialogCarouselContent = React26.forwardRef(
3894
3899
  onPrev ? "hawa-justify-between" : "hawa-justify-end"
3895
3900
  )
3896
3901
  },
3897
- onPrev && /* @__PURE__ */ React26.createElement(
3902
+ hidePrevButton ? /* @__PURE__ */ React26.createElement("div", null) : /* @__PURE__ */ React26.createElement(
3898
3903
  "div",
3899
3904
  {
3900
3905
  onClick: onPrev,
@@ -4426,7 +4431,7 @@ var FileUploader = ({ handleFile, className }) => {
4426
4431
  const fileUploaded = event.target.files[0];
4427
4432
  handleFile(fileUploaded);
4428
4433
  };
4429
- return /* @__PURE__ */ React30.createElement("div", { className }, /* @__PURE__ */ React30.createElement("button", { className: "hawa-h-full hawa-w-full", onClick: handleClick }), /* @__PURE__ */ React30.createElement(
4434
+ return /* @__PURE__ */ React30.createElement("div", { className }, /* @__PURE__ */ React30.createElement("div", { className: "hawa-h-full hawa-w-full", onClick: handleClick }), /* @__PURE__ */ React30.createElement(
4430
4435
  "input",
4431
4436
  {
4432
4437
  type: "file",
@@ -4741,7 +4746,10 @@ var CodeBlock = ({
4741
4746
  {
4742
4747
  open: clipboard.copied,
4743
4748
  side: "left",
4744
- content: /* @__PURE__ */ React34.createElement("div", null, "Copied!")
4749
+ content: /* @__PURE__ */ React34.createElement("div", null, "Copied!"),
4750
+ triggerProps: {
4751
+ asChild: true
4752
+ }
4745
4753
  },
4746
4754
  /* @__PURE__ */ React34.createElement(
4747
4755
  Button,
@@ -5506,7 +5514,14 @@ var Carousel = (props) => {
5506
5514
  const length = React41.Children.count(items);
5507
5515
  const canScrollNext = !!(emblaApi == null ? void 0 : emblaApi.canScrollNext());
5508
5516
  const canScrollPrev = !!(emblaApi == null ? void 0 : emblaApi.canScrollPrev());
5509
- return /* @__PURE__ */ React41.createElement("div", { className: " hawa-relative hawa-h-full" }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full hawa-overflow-hidden" }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full", ref: emblaRef }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full hawa-flex" }, items == null ? void 0 : items.map((item) => /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full hawa-justify-center hawa-flex hawa-items-center hawa-min-w-0 hawa-flex-[0_0_100%]" }, item))))), /* @__PURE__ */ React41.createElement(
5517
+ return /* @__PURE__ */ React41.createElement("div", { className: " hawa-relative hawa-h-full" }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full hawa-overflow-hidden" }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full", ref: emblaRef }, /* @__PURE__ */ React41.createElement("div", { className: "hawa-h-full hawa-flex" }, items == null ? void 0 : items.map((item, i) => /* @__PURE__ */ React41.createElement(
5518
+ "div",
5519
+ {
5520
+ key: i,
5521
+ className: "hawa-h-full hawa-justify-center hawa-flex hawa-items-center hawa-min-w-0 hawa-flex-[0_0_100%]"
5522
+ },
5523
+ item
5524
+ ))))), /* @__PURE__ */ React41.createElement(
5510
5525
  Dots,
5511
5526
  {
5512
5527
  itemsLength: length,
@@ -7148,7 +7163,7 @@ ProgressCircle.displayName = "ProgressCircle";
7148
7163
  import * as React60 from "react";
7149
7164
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
7150
7165
  import { cva as cva4 } from "class-variance-authority";
7151
- var NavigationMenuRoot = React60.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React60.createElement(
7166
+ var NavigationMenuRoot = React60.forwardRef(({ className, children, viewportClassNames, ...props }, ref) => /* @__PURE__ */ React60.createElement(
7152
7167
  NavigationMenuPrimitive.Root,
7153
7168
  {
7154
7169
  ref,
@@ -7160,7 +7175,7 @@ var NavigationMenuRoot = React60.forwardRef(({ className, children, ...props },
7160
7175
  ...props
7161
7176
  },
7162
7177
  children,
7163
- /* @__PURE__ */ React60.createElement(NavigationMenuViewport, { className: props.viewportClassNames })
7178
+ /* @__PURE__ */ React60.createElement(NavigationMenuViewport, { className: viewportClassNames })
7164
7179
  ));
7165
7180
  NavigationMenuRoot.displayName = NavigationMenuPrimitive.Root.displayName;
7166
7181
  var NavigationMenuList = React60.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React60.createElement(
@@ -7259,14 +7274,17 @@ var NavigationMenuIndicator = React60.forwardRef(({ className, ...props }, ref)
7259
7274
  /* @__PURE__ */ React60.createElement("div", { className: "hawa-relative hawa-top-[60%] hawa-h-2 hawa-w-2 hawa-rotate-45 hawa-rounded-tl-sm hawa-bg-border hawa-shadow-md" })
7260
7275
  ));
7261
7276
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
7262
- var NavigationMenu = (props) => {
7277
+ var NavigationMenu = ({
7278
+ viewportClassNames,
7279
+ ...props
7280
+ }) => {
7263
7281
  return /* @__PURE__ */ React60.createElement(
7264
7282
  NavigationMenuRoot,
7265
7283
  {
7266
7284
  dir: props.direction,
7267
7285
  delayDuration: 0,
7268
7286
  className: props.rootClassNames,
7269
- viewportClassNames: props.viewportClassNames
7287
+ viewportClassNames
7270
7288
  },
7271
7289
  /* @__PURE__ */ React60.createElement(NavigationMenuList, null, props.items.map((item, i) => /* @__PURE__ */ React60.createElement(NavigationMenuItem, { key: i }, item.content ? /* @__PURE__ */ React60.createElement(React60.Fragment, null, /* @__PURE__ */ React60.createElement(NavigationMenuTrigger, null, item.trigger), /* @__PURE__ */ React60.createElement(NavigationMenuContent, null, item.content)) : /* @__PURE__ */ React60.createElement(
7272
7290
  NavigationMenuLink,
@@ -7729,7 +7747,7 @@ var Stats = ({
7729
7747
  muted: "hawa-text-muted-foreground"
7730
7748
  };
7731
7749
  return /* @__PURE__ */ React64.createElement(Card, { ...props, clickable: Boolean(props.onClick) }, /* @__PURE__ */ React64.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between hawa-p-4 hawa-items-center" }, /* @__PURE__ */ React64.createElement(CardTitle, { className: "hawa-text-sm hawa-font-medium" }, label), icon && /* @__PURE__ */ React64.createElement("span", null, icon)), /* @__PURE__ */ React64.createElement(CardContent, { className: "hawa-transition-all" }, isLoading ? /* @__PURE__ */ React64.createElement(Skeleton, { className: "hawa-h-8 hawa-w-3/4" }) : /* @__PURE__ */ React64.createElement("div", { className: "hawa-text-2xl hawa-font-bold" }, number), helperText && /* @__PURE__ */ React64.createElement(
7732
- "p",
7750
+ "div",
7733
7751
  {
7734
7752
  className: cn(
7735
7753
  "hawa-my-0 hawa-text-xs hawa-transition-all hawa-text-start",
@@ -7990,9 +8008,10 @@ var Navbar = ({
7990
8008
  }
7991
8009
  },
7992
8010
  logo
7993
- )), /* @__PURE__ */ React67.createElement("div", { className: "hawa-hidden md:hawa-flex " }, (_a = props.menuItems) == null ? void 0 : _a.map((item) => /* @__PURE__ */ React67.createElement(
8011
+ )), /* @__PURE__ */ React67.createElement("div", { className: "hawa-hidden md:hawa-flex " }, (_a = props.menuItems) == null ? void 0 : _a.map((item, i) => /* @__PURE__ */ React67.createElement(
7994
8012
  "div",
7995
8013
  {
8014
+ key: i,
7996
8015
  onClick: item.action,
7997
8016
  className: "hawa-p-1.5 hawa-px-2 hawa-text-sm hawa-text-center hawa-rounded hawa-text-white hover:hawa-text-black hover:hawa-bg-gray-300 hawa-transition-all hawa-cursor-pointer"
7998
8017
  },
@@ -8061,9 +8080,10 @@ var Navbar = ({
8061
8080
  zIndex: -100
8062
8081
  }
8063
8082
  },
8064
- (_b = props.menuItems) == null ? void 0 : _b.map((item) => /* @__PURE__ */ React67.createElement(
8083
+ (_b = props.menuItems) == null ? void 0 : _b.map((item, i) => /* @__PURE__ */ React67.createElement(
8065
8084
  "div",
8066
8085
  {
8086
+ key: i,
8067
8087
  onClick: item.action,
8068
8088
  className: "hawa-text-black hawa-p-2 hawa-px-10 hawa-text-center hawa-rounded hover:hawa-bg-gray-300 hawa-transition-all hawa-cursor-pointer"
8069
8089
  },
@@ -8349,7 +8369,8 @@ var AppLayout = ({
8349
8369
  {
8350
8370
  side: "left",
8351
8371
  delayDuration: 500,
8352
- content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar"
8372
+ content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar",
8373
+ triggerProps: { asChild: true }
8353
8374
  },
8354
8375
  /* @__PURE__ */ React68.createElement(
8355
8376
  Button,
@@ -8744,6 +8765,7 @@ var AppTabs = ({ tabs, ...props }) => {
8744
8765
  return /* @__PURE__ */ React71.createElement(
8745
8766
  AppSingleTab,
8746
8767
  {
8768
+ key: index,
8747
8769
  tab,
8748
8770
  onClick: () => setSelectedIndex(index),
8749
8771
  isSelected: selected
@@ -8755,6 +8777,7 @@ var AppSingleTab = ({ tab, ...props }) => {
8755
8777
  return /* @__PURE__ */ React71.createElement(
8756
8778
  "div",
8757
8779
  {
8780
+ key: props.key,
8758
8781
  onClick: props.onClick,
8759
8782
  className: cn(
8760
8783
  "hawa-p-4 hawa-py-2 hawa-flex hawa-flex-row hawa-gap-2 hawa-translate-y-[1.1px] hawa-text-sm hawa-rounded-t hawa-transition-all hawa-select-none hawa-z-10 ",
@@ -10712,9 +10735,10 @@ var PricingPlans = (props) => {
10712
10735
  onPlanClicked: () => {
10713
10736
  if (props.onPlanClicked) {
10714
10737
  let clickedData = {
10715
- plan: plan.id,
10738
+ // plan: plan.id,
10716
10739
  currency: props.currentCurrency,
10717
- cycle: props.currentCycle
10740
+ cycle: props.currentCycle,
10741
+ ...plan
10718
10742
  };
10719
10743
  props.onPlanClicked(clickedData);
10720
10744
  }
@@ -10920,6 +10944,7 @@ import { useEffect as useEffect25, useRef as useRef14, useState as useState39 }
10920
10944
  import { useState as useState40, useRef as useRef15 } from "react";
10921
10945
 
10922
10946
  // components/hooks/useDialogCarousel.ts
10947
+ import { useEffect as useEffect26, useState as useState41 } from "react";
10923
10948
  import useEmblaCarousel2 from "embla-carousel-react";
10924
10949
  import AutoHeight from "embla-carousel-auto-height";
10925
10950
  var useDialogCarousel = (options) => {
@@ -10927,6 +10952,12 @@ var useDialogCarousel = (options) => {
10927
10952
  { loop: false, watchDrag: false, startIndex: 0, ...options },
10928
10953
  [AutoHeight({ destroyHeight: "fit", active: true })]
10929
10954
  );
10955
+ const [canScrollPrev, setCanScrollPrev] = useState41(false);
10956
+ const checkCanScrollPrev = () => {
10957
+ if (emblaApi) {
10958
+ setCanScrollPrev(emblaApi.canScrollPrev());
10959
+ }
10960
+ };
10930
10961
  const nextStep = () => {
10931
10962
  if (emblaApi) {
10932
10963
  console.log("going to NEXT \u{1F449}");
@@ -10939,22 +10970,29 @@ var useDialogCarousel = (options) => {
10939
10970
  emblaApi.scrollPrev();
10940
10971
  }
10941
10972
  };
10973
+ useEffect26(() => {
10974
+ checkCanScrollPrev();
10975
+ emblaApi && emblaApi.on("select", checkCanScrollPrev);
10976
+ return () => {
10977
+ emblaApi && emblaApi.off("select", checkCanScrollPrev);
10978
+ };
10979
+ }, [emblaApi]);
10942
10980
  return {
10943
10981
  emblaRef,
10944
10982
  emblaApi,
10945
- // currentStep,
10946
10983
  nextStep,
10947
- prevStep
10984
+ prevStep,
10985
+ canScrollPrev
10948
10986
  };
10949
10987
  };
10950
10988
 
10951
10989
  // components/hooks/useDialogSteps.ts
10952
- import { useState as useState41, useEffect as useEffect26, useRef as useRef16 } from "react";
10990
+ import { useState as useState42, useEffect as useEffect27, useRef as useRef16 } from "react";
10953
10991
  var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
10954
- const [currentStep, setCurrentStep] = useState41(initialStep);
10955
- const [dialogHeight, setDialogHeight] = useState41(null);
10992
+ const [currentStep, setCurrentStep] = useState42(initialStep);
10993
+ const [dialogHeight, setDialogHeight] = useState42(null);
10956
10994
  const visibleStepRef = useRef16(null);
10957
- useEffect26(() => {
10995
+ useEffect27(() => {
10958
10996
  if (visibleStepRef.current) {
10959
10997
  setDialogHeight(visibleStepRef.current.offsetHeight);
10960
10998
  }
@@ -10985,13 +11023,13 @@ var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
10985
11023
  };
10986
11024
 
10987
11025
  // components/hooks/useWindowSize.ts
10988
- import { useEffect as useEffect27, useState as useState42 } from "react";
11026
+ import { useEffect as useEffect28, useState as useState43 } from "react";
10989
11027
  var useWindowSize = () => {
10990
- const [windowSize, setWindowSize] = useState42({
11028
+ const [windowSize, setWindowSize] = useState43({
10991
11029
  width: void 0,
10992
11030
  height: void 0
10993
11031
  });
10994
- useEffect27(() => {
11032
+ useEffect28(() => {
10995
11033
  function handleResize() {
10996
11034
  setWindowSize({
10997
11035
  width: window.innerWidth,
@@ -11006,7 +11044,7 @@ var useWindowSize = () => {
11006
11044
  };
11007
11045
 
11008
11046
  // components/hooks/useFocusWithin.ts
11009
- import { useRef as useRef17, useState as useState43, useEffect as useEffect28 } from "react";
11047
+ import { useRef as useRef17, useState as useState44, useEffect as useEffect29 } from "react";
11010
11048
  function containsRelatedTarget(event) {
11011
11049
  if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
11012
11050
  return event.currentTarget.contains(event.relatedTarget);
@@ -11018,7 +11056,7 @@ function useFocusWithin({
11018
11056
  onFocus
11019
11057
  } = {}) {
11020
11058
  const ref = useRef17(null);
11021
- const [focused, _setFocused] = useState43(false);
11059
+ const [focused, _setFocused] = useState44(false);
11022
11060
  const focusedRef = useRef17(false);
11023
11061
  const setFocused = (value) => {
11024
11062
  _setFocused(value);
@@ -11036,7 +11074,7 @@ function useFocusWithin({
11036
11074
  onBlur == null ? void 0 : onBlur(event);
11037
11075
  }
11038
11076
  };
11039
- useEffect28(() => {
11077
+ useEffect29(() => {
11040
11078
  if (ref.current) {
11041
11079
  ref.current.addEventListener("focusin", handleFocusIn);
11042
11080
  ref.current.addEventListener("focusout", handleFocusOut);
@@ -11052,7 +11090,7 @@ function useFocusWithin({
11052
11090
  }
11053
11091
 
11054
11092
  // components/hooks/useMediaQuery.ts
11055
- import { useState as useState44, useEffect as useEffect29, useRef as useRef18 } from "react";
11093
+ import { useState as useState45, useEffect as useEffect30, useRef as useRef18 } from "react";
11056
11094
  function attachMediaListener(query, callback) {
11057
11095
  try {
11058
11096
  query.addEventListener("change", callback);
@@ -11074,11 +11112,11 @@ function getInitialValue(query, initialValue) {
11074
11112
  function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11075
11113
  getInitialValueInEffect: true
11076
11114
  }) {
11077
- const [matches, setMatches] = useState44(
11115
+ const [matches, setMatches] = useState45(
11078
11116
  getInitialValueInEffect ? initialValue : getInitialValue(query, initialValue)
11079
11117
  );
11080
11118
  const queryRef = useRef18();
11081
- useEffect29(() => {
11119
+ useEffect30(() => {
11082
11120
  if ("matchMedia" in window) {
11083
11121
  queryRef.current = window.matchMedia(query);
11084
11122
  setMatches(queryRef.current.matches);
@@ -11093,16 +11131,16 @@ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11093
11131
  }
11094
11132
 
11095
11133
  // components/hooks/useScrollPosition.ts
11096
- import { useState as useState45, useEffect as useEffect30 } from "react";
11134
+ import { useState as useState46, useEffect as useEffect31 } from "react";
11097
11135
 
11098
11136
  // components/hooks/useTable.ts
11099
- import { useState as useState46, useEffect as useEffect31 } from "react";
11137
+ import { useState as useState47, useEffect as useEffect32 } from "react";
11100
11138
 
11101
11139
  // components/hooks/useTabs.ts
11102
- import { useEffect as useEffect32, useState as useState47 } from "react";
11140
+ import { useEffect as useEffect33, useState as useState48 } from "react";
11103
11141
  function useTabs(initialTab = "") {
11104
- const [activeTab, setActiveTab] = useState47(initialTab);
11105
- useEffect32(() => {
11142
+ const [activeTab, setActiveTab] = useState48(initialTab);
11143
+ useEffect33(() => {
11106
11144
  const handleHashChange = () => {
11107
11145
  const hash = window.location.hash.substring(1);
11108
11146
  setActiveTab(hash || initialTab);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sikka/hawa",
3
- "version": "0.19.6-next",
3
+ "version": "0.19.9-next",
4
4
  "description": "Modern UI Kit made with Tailwind",
5
5
  "author": {
6
6
  "name": "Sikka Software",
@@ -71,20 +71,20 @@
71
71
  "@radix-ui/react-toast": "^1.1.5",
72
72
  "@radix-ui/react-tooltip": "^1.0.7",
73
73
  "@tanstack/react-table": "^8.10.7",
74
- "@types/node": "^20.9.0",
75
- "@types/react": "^18.2.37",
76
- "@types/react-dom": "^18.2.15",
74
+ "@types/node": "^20.9.4",
75
+ "@types/react": "^18.2.38",
76
+ "@types/react-dom": "^18.2.17",
77
77
  "class-variance-authority": "^0.7.0",
78
78
  "clsx": "^2.0.0",
79
79
  "cmdk": "^0.2.0",
80
80
  "embla-carousel-auto-height": "^8.0.0-rc14",
81
81
  "embla-carousel-react": "^8.0.0-rc14",
82
- "eslint": "^8.53.0",
83
- "eslint-config-next": "^14.0.2",
84
- "libphonenumber-js": "^1.10.49",
85
- "next": "^14.0.2",
82
+ "eslint": "^8.54.0",
83
+ "eslint-config-next": "^14.0.3",
84
+ "libphonenumber-js": "^1.10.50",
85
+ "next": "^14.0.3",
86
86
  "next-themes": "^0.2.1",
87
- "prism-react-renderer": "^2.1.0",
87
+ "prism-react-renderer": "^2.3.0",
88
88
  "react": "18.2.0",
89
89
  "react-dom": "18.2.0",
90
90
  "react-dropzone": "^14.2.3",
@@ -96,7 +96,7 @@
96
96
  },
97
97
  "devDependencies": {
98
98
  "@babel/preset-react": "^7.23.3",
99
- "@sikka/alam": "^0.0.2",
99
+ "@sikka/alam": "^0.0.3",
100
100
  "@storybook/addon-essentials": "^7.5.3",
101
101
  "@storybook/addon-interactions": "^7.5.3",
102
102
  "@storybook/addon-links": "^7.5.3",
@@ -108,8 +108,8 @@
108
108
  "@storybook/testing-library": "^0.2.2",
109
109
  "@storybook/theming": "^7.5.3",
110
110
  "@testing-library/jest-dom": "^6.1.4",
111
- "@testing-library/react": "^14.1.0",
112
- "@types/jest": "^29.5.8",
111
+ "@testing-library/react": "^14.1.2",
112
+ "@types/jest": "^29.5.10",
113
113
  "autoprefixer": "^10.4.16",
114
114
  "eslint-plugin-storybook": "^0.6.15",
115
115
  "jest": "^29.7.0",
@@ -118,12 +118,12 @@
118
118
  "postcss": "^8.4.31",
119
119
  "postcss-cli": "^10.1.0",
120
120
  "postcss-import": "^15.1.0",
121
- "recharts": "^2.9.3",
121
+ "recharts": "^2.10.1",
122
122
  "storybook": "^7.5.3",
123
123
  "storybook-dark-mode": "^3.0.1",
124
124
  "tailwindcss": "^3.3.5",
125
125
  "tailwindcss-animate": "^1.0.7",
126
- "tsup": "^7.2.0",
127
- "typescript": "^5.2.2"
126
+ "tsup": "^8.0.1",
127
+ "typescript": "^5.3.2"
128
128
  }
129
129
  }