@sikka/hawa 0.19.6-next → 0.19.8-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>>;
@@ -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>>;
@@ -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 ",
@@ -11136,6 +11159,7 @@ var import_react73 = require("react");
11136
11159
  var import_react74 = require("react");
11137
11160
 
11138
11161
  // components/hooks/useDialogCarousel.ts
11162
+ var import_react75 = require("react");
11139
11163
  var import_embla_carousel_react2 = __toESM(require("embla-carousel-react"));
11140
11164
  var import_embla_carousel_auto_height = __toESM(require("embla-carousel-auto-height"));
11141
11165
  var useDialogCarousel = (options) => {
@@ -11143,6 +11167,12 @@ var useDialogCarousel = (options) => {
11143
11167
  { loop: false, watchDrag: false, startIndex: 0, ...options },
11144
11168
  [(0, import_embla_carousel_auto_height.default)({ destroyHeight: "fit", active: true })]
11145
11169
  );
11170
+ const [canScrollPrev, setCanScrollPrev] = (0, import_react75.useState)(false);
11171
+ const checkCanScrollPrev = () => {
11172
+ if (emblaApi) {
11173
+ setCanScrollPrev(emblaApi.canScrollPrev());
11174
+ }
11175
+ };
11146
11176
  const nextStep = () => {
11147
11177
  if (emblaApi) {
11148
11178
  console.log("going to NEXT \u{1F449}");
@@ -11155,22 +11185,29 @@ var useDialogCarousel = (options) => {
11155
11185
  emblaApi.scrollPrev();
11156
11186
  }
11157
11187
  };
11188
+ (0, import_react75.useEffect)(() => {
11189
+ checkCanScrollPrev();
11190
+ emblaApi && emblaApi.on("select", checkCanScrollPrev);
11191
+ return () => {
11192
+ emblaApi && emblaApi.off("select", checkCanScrollPrev);
11193
+ };
11194
+ }, [emblaApi]);
11158
11195
  return {
11159
11196
  emblaRef,
11160
11197
  emblaApi,
11161
- // currentStep,
11162
11198
  nextStep,
11163
- prevStep
11199
+ prevStep,
11200
+ canScrollPrev
11164
11201
  };
11165
11202
  };
11166
11203
 
11167
11204
  // components/hooks/useDialogSteps.ts
11168
- var import_react75 = require("react");
11205
+ var import_react76 = require("react");
11169
11206
  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)(() => {
11207
+ const [currentStep, setCurrentStep] = (0, import_react76.useState)(initialStep);
11208
+ const [dialogHeight, setDialogHeight] = (0, import_react76.useState)(null);
11209
+ const visibleStepRef = (0, import_react76.useRef)(null);
11210
+ (0, import_react76.useEffect)(() => {
11174
11211
  if (visibleStepRef.current) {
11175
11212
  setDialogHeight(visibleStepRef.current.offsetHeight);
11176
11213
  }
@@ -11201,13 +11238,13 @@ var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
11201
11238
  };
11202
11239
 
11203
11240
  // components/hooks/useWindowSize.ts
11204
- var import_react76 = require("react");
11241
+ var import_react77 = require("react");
11205
11242
  var useWindowSize = () => {
11206
- const [windowSize, setWindowSize] = (0, import_react76.useState)({
11243
+ const [windowSize, setWindowSize] = (0, import_react77.useState)({
11207
11244
  width: void 0,
11208
11245
  height: void 0
11209
11246
  });
11210
- (0, import_react76.useEffect)(() => {
11247
+ (0, import_react77.useEffect)(() => {
11211
11248
  function handleResize() {
11212
11249
  setWindowSize({
11213
11250
  width: window.innerWidth,
@@ -11222,7 +11259,7 @@ var useWindowSize = () => {
11222
11259
  };
11223
11260
 
11224
11261
  // components/hooks/useFocusWithin.ts
11225
- var import_react77 = require("react");
11262
+ var import_react78 = require("react");
11226
11263
  function containsRelatedTarget(event) {
11227
11264
  if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
11228
11265
  return event.currentTarget.contains(event.relatedTarget);
@@ -11233,9 +11270,9 @@ function useFocusWithin({
11233
11270
  onBlur,
11234
11271
  onFocus
11235
11272
  } = {}) {
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);
11273
+ const ref = (0, import_react78.useRef)(null);
11274
+ const [focused, _setFocused] = (0, import_react78.useState)(false);
11275
+ const focusedRef = (0, import_react78.useRef)(false);
11239
11276
  const setFocused = (value) => {
11240
11277
  _setFocused(value);
11241
11278
  focusedRef.current = value;
@@ -11252,7 +11289,7 @@ function useFocusWithin({
11252
11289
  onBlur == null ? void 0 : onBlur(event);
11253
11290
  }
11254
11291
  };
11255
- (0, import_react77.useEffect)(() => {
11292
+ (0, import_react78.useEffect)(() => {
11256
11293
  if (ref.current) {
11257
11294
  ref.current.addEventListener("focusin", handleFocusIn);
11258
11295
  ref.current.addEventListener("focusout", handleFocusOut);
@@ -11268,7 +11305,7 @@ function useFocusWithin({
11268
11305
  }
11269
11306
 
11270
11307
  // components/hooks/useMediaQuery.ts
11271
- var import_react78 = require("react");
11308
+ var import_react79 = require("react");
11272
11309
  function attachMediaListener(query, callback) {
11273
11310
  try {
11274
11311
  query.addEventListener("change", callback);
@@ -11290,11 +11327,11 @@ function getInitialValue(query, initialValue) {
11290
11327
  function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11291
11328
  getInitialValueInEffect: true
11292
11329
  }) {
11293
- const [matches, setMatches] = (0, import_react78.useState)(
11330
+ const [matches, setMatches] = (0, import_react79.useState)(
11294
11331
  getInitialValueInEffect ? initialValue : getInitialValue(query, initialValue)
11295
11332
  );
11296
- const queryRef = (0, import_react78.useRef)();
11297
- (0, import_react78.useEffect)(() => {
11333
+ const queryRef = (0, import_react79.useRef)();
11334
+ (0, import_react79.useEffect)(() => {
11298
11335
  if ("matchMedia" in window) {
11299
11336
  queryRef.current = window.matchMedia(query);
11300
11337
  setMatches(queryRef.current.matches);
@@ -11309,16 +11346,16 @@ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11309
11346
  }
11310
11347
 
11311
11348
  // components/hooks/useScrollPosition.ts
11312
- var import_react79 = require("react");
11349
+ var import_react80 = require("react");
11313
11350
 
11314
11351
  // components/hooks/useTable.ts
11315
- var import_react80 = require("react");
11352
+ var import_react81 = require("react");
11316
11353
 
11317
11354
  // components/hooks/useTabs.ts
11318
- var import_react81 = require("react");
11355
+ var import_react82 = require("react");
11319
11356
  function useTabs(initialTab = "") {
11320
- const [activeTab, setActiveTab] = (0, import_react81.useState)(initialTab);
11321
- (0, import_react81.useEffect)(() => {
11357
+ const [activeTab, setActiveTab] = (0, import_react82.useState)(initialTab);
11358
+ (0, import_react82.useEffect)(() => {
11322
11359
  const handleHashChange = () => {
11323
11360
  const hash = window.location.hash.substring(1);
11324
11361
  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 ",
@@ -10920,6 +10943,7 @@ import { useEffect as useEffect25, useRef as useRef14, useState as useState39 }
10920
10943
  import { useState as useState40, useRef as useRef15 } from "react";
10921
10944
 
10922
10945
  // components/hooks/useDialogCarousel.ts
10946
+ import { useEffect as useEffect26, useState as useState41 } from "react";
10923
10947
  import useEmblaCarousel2 from "embla-carousel-react";
10924
10948
  import AutoHeight from "embla-carousel-auto-height";
10925
10949
  var useDialogCarousel = (options) => {
@@ -10927,6 +10951,12 @@ var useDialogCarousel = (options) => {
10927
10951
  { loop: false, watchDrag: false, startIndex: 0, ...options },
10928
10952
  [AutoHeight({ destroyHeight: "fit", active: true })]
10929
10953
  );
10954
+ const [canScrollPrev, setCanScrollPrev] = useState41(false);
10955
+ const checkCanScrollPrev = () => {
10956
+ if (emblaApi) {
10957
+ setCanScrollPrev(emblaApi.canScrollPrev());
10958
+ }
10959
+ };
10930
10960
  const nextStep = () => {
10931
10961
  if (emblaApi) {
10932
10962
  console.log("going to NEXT \u{1F449}");
@@ -10939,22 +10969,29 @@ var useDialogCarousel = (options) => {
10939
10969
  emblaApi.scrollPrev();
10940
10970
  }
10941
10971
  };
10972
+ useEffect26(() => {
10973
+ checkCanScrollPrev();
10974
+ emblaApi && emblaApi.on("select", checkCanScrollPrev);
10975
+ return () => {
10976
+ emblaApi && emblaApi.off("select", checkCanScrollPrev);
10977
+ };
10978
+ }, [emblaApi]);
10942
10979
  return {
10943
10980
  emblaRef,
10944
10981
  emblaApi,
10945
- // currentStep,
10946
10982
  nextStep,
10947
- prevStep
10983
+ prevStep,
10984
+ canScrollPrev
10948
10985
  };
10949
10986
  };
10950
10987
 
10951
10988
  // components/hooks/useDialogSteps.ts
10952
- import { useState as useState41, useEffect as useEffect26, useRef as useRef16 } from "react";
10989
+ import { useState as useState42, useEffect as useEffect27, useRef as useRef16 } from "react";
10953
10990
  var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
10954
- const [currentStep, setCurrentStep] = useState41(initialStep);
10955
- const [dialogHeight, setDialogHeight] = useState41(null);
10991
+ const [currentStep, setCurrentStep] = useState42(initialStep);
10992
+ const [dialogHeight, setDialogHeight] = useState42(null);
10956
10993
  const visibleStepRef = useRef16(null);
10957
- useEffect26(() => {
10994
+ useEffect27(() => {
10958
10995
  if (visibleStepRef.current) {
10959
10996
  setDialogHeight(visibleStepRef.current.offsetHeight);
10960
10997
  }
@@ -10985,13 +11022,13 @@ var useMultiStepDialog = (initialStep, stepIds, setOpenDialog) => {
10985
11022
  };
10986
11023
 
10987
11024
  // components/hooks/useWindowSize.ts
10988
- import { useEffect as useEffect27, useState as useState42 } from "react";
11025
+ import { useEffect as useEffect28, useState as useState43 } from "react";
10989
11026
  var useWindowSize = () => {
10990
- const [windowSize, setWindowSize] = useState42({
11027
+ const [windowSize, setWindowSize] = useState43({
10991
11028
  width: void 0,
10992
11029
  height: void 0
10993
11030
  });
10994
- useEffect27(() => {
11031
+ useEffect28(() => {
10995
11032
  function handleResize() {
10996
11033
  setWindowSize({
10997
11034
  width: window.innerWidth,
@@ -11006,7 +11043,7 @@ var useWindowSize = () => {
11006
11043
  };
11007
11044
 
11008
11045
  // components/hooks/useFocusWithin.ts
11009
- import { useRef as useRef17, useState as useState43, useEffect as useEffect28 } from "react";
11046
+ import { useRef as useRef17, useState as useState44, useEffect as useEffect29 } from "react";
11010
11047
  function containsRelatedTarget(event) {
11011
11048
  if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
11012
11049
  return event.currentTarget.contains(event.relatedTarget);
@@ -11018,7 +11055,7 @@ function useFocusWithin({
11018
11055
  onFocus
11019
11056
  } = {}) {
11020
11057
  const ref = useRef17(null);
11021
- const [focused, _setFocused] = useState43(false);
11058
+ const [focused, _setFocused] = useState44(false);
11022
11059
  const focusedRef = useRef17(false);
11023
11060
  const setFocused = (value) => {
11024
11061
  _setFocused(value);
@@ -11036,7 +11073,7 @@ function useFocusWithin({
11036
11073
  onBlur == null ? void 0 : onBlur(event);
11037
11074
  }
11038
11075
  };
11039
- useEffect28(() => {
11076
+ useEffect29(() => {
11040
11077
  if (ref.current) {
11041
11078
  ref.current.addEventListener("focusin", handleFocusIn);
11042
11079
  ref.current.addEventListener("focusout", handleFocusOut);
@@ -11052,7 +11089,7 @@ function useFocusWithin({
11052
11089
  }
11053
11090
 
11054
11091
  // components/hooks/useMediaQuery.ts
11055
- import { useState as useState44, useEffect as useEffect29, useRef as useRef18 } from "react";
11092
+ import { useState as useState45, useEffect as useEffect30, useRef as useRef18 } from "react";
11056
11093
  function attachMediaListener(query, callback) {
11057
11094
  try {
11058
11095
  query.addEventListener("change", callback);
@@ -11074,11 +11111,11 @@ function getInitialValue(query, initialValue) {
11074
11111
  function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11075
11112
  getInitialValueInEffect: true
11076
11113
  }) {
11077
- const [matches, setMatches] = useState44(
11114
+ const [matches, setMatches] = useState45(
11078
11115
  getInitialValueInEffect ? initialValue : getInitialValue(query, initialValue)
11079
11116
  );
11080
11117
  const queryRef = useRef18();
11081
- useEffect29(() => {
11118
+ useEffect30(() => {
11082
11119
  if ("matchMedia" in window) {
11083
11120
  queryRef.current = window.matchMedia(query);
11084
11121
  setMatches(queryRef.current.matches);
@@ -11093,16 +11130,16 @@ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11093
11130
  }
11094
11131
 
11095
11132
  // components/hooks/useScrollPosition.ts
11096
- import { useState as useState45, useEffect as useEffect30 } from "react";
11133
+ import { useState as useState46, useEffect as useEffect31 } from "react";
11097
11134
 
11098
11135
  // components/hooks/useTable.ts
11099
- import { useState as useState46, useEffect as useEffect31 } from "react";
11136
+ import { useState as useState47, useEffect as useEffect32 } from "react";
11100
11137
 
11101
11138
  // components/hooks/useTabs.ts
11102
- import { useEffect as useEffect32, useState as useState47 } from "react";
11139
+ import { useEffect as useEffect33, useState as useState48 } from "react";
11103
11140
  function useTabs(initialTab = "") {
11104
- const [activeTab, setActiveTab] = useState47(initialTab);
11105
- useEffect32(() => {
11141
+ const [activeTab, setActiveTab] = useState48(initialTab);
11142
+ useEffect33(() => {
11106
11143
  const handleHashChange = () => {
11107
11144
  const hash = window.location.hash.substring(1);
11108
11145
  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.8-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
  }