@sikka/hawa 0.43.6-next → 0.45.0-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.
Files changed (51) hide show
  1. package/dist/blocks/auth/index.d.mts +3 -2
  2. package/dist/blocks/auth/index.d.ts +3 -2
  3. package/dist/blocks/auth/index.js +62 -34
  4. package/dist/blocks/auth/index.mjs +44 -23
  5. package/dist/blocks/feedback/index.js +35 -20
  6. package/dist/blocks/feedback/index.mjs +2 -2
  7. package/dist/blocks/index.d.mts +5 -2
  8. package/dist/blocks/index.d.ts +5 -2
  9. package/dist/blocks/index.js +164 -56
  10. package/dist/blocks/index.mjs +45 -15
  11. package/dist/blocks/misc/index.d.mts +2 -0
  12. package/dist/blocks/misc/index.d.ts +2 -0
  13. package/dist/blocks/misc/index.js +97 -18
  14. package/dist/blocks/misc/index.mjs +79 -7
  15. package/dist/blocks/pricing/index.js +16 -8
  16. package/dist/blocks/pricing/index.mjs +1 -1
  17. package/dist/{chunk-DYYINLRJ.mjs → chunk-LMYT23CT.mjs} +19 -12
  18. package/dist/{chunk-A6PONMZ6.mjs → chunk-OE6XZ6LW.mjs} +16 -8
  19. package/dist/{chunk-VVUNGE7V.mjs → chunk-QMNXTGM4.mjs} +66 -44
  20. package/dist/datePicker/index.js +10 -1
  21. package/dist/datePicker/index.js.map +1 -1
  22. package/dist/datePicker/index.mjs +10 -1
  23. package/dist/datePicker/index.mjs.map +1 -1
  24. package/dist/elements/index.js +66 -44
  25. package/dist/elements/index.mjs +1 -1
  26. package/dist/index.css +3 -0
  27. package/dist/index.d.mts +5 -2
  28. package/dist/index.d.ts +5 -2
  29. package/dist/index.js +109 -59
  30. package/dist/index.mjs +109 -59
  31. package/dist/interfaceSettings/index.js +16 -8
  32. package/dist/interfaceSettings/index.js.map +1 -1
  33. package/dist/interfaceSettings/index.mjs +16 -8
  34. package/dist/interfaceSettings/index.mjs.map +1 -1
  35. package/dist/phoneInput/index.js +19 -12
  36. package/dist/phoneInput/index.js.map +1 -1
  37. package/dist/phoneInput/index.mjs +19 -12
  38. package/dist/phoneInput/index.mjs.map +1 -1
  39. package/dist/pinInput/index.js +22 -15
  40. package/dist/pinInput/index.js.map +1 -1
  41. package/dist/pinInput/index.mjs +22 -15
  42. package/dist/pinInput/index.mjs.map +1 -1
  43. package/dist/radio/index.js +16 -8
  44. package/dist/radio/index.js.map +1 -1
  45. package/dist/radio/index.mjs +16 -8
  46. package/dist/radio/index.mjs.map +1 -1
  47. package/dist/select/index.js +19 -12
  48. package/dist/select/index.js.map +1 -1
  49. package/dist/select/index.mjs +19 -12
  50. package/dist/select/index.mjs.map +1 -1
  51. package/package.json +11 -11
package/dist/index.mjs CHANGED
@@ -3669,6 +3669,7 @@ var BackToTop = ({ ...props }) => {
3669
3669
 
3670
3670
  // elements/radio/Radio.tsx
3671
3671
  import React27, { useState as useState6, useRef as useRef4, useEffect as useEffect5, forwardRef as forwardRef16 } from "react";
3672
+ import { TabsList, TabsTrigger, Tabs } from "@radix-ui/react-tabs";
3672
3673
 
3673
3674
  // elements/popover/Popover.tsx
3674
3675
  import * as React26 from "react";
@@ -3813,9 +3814,10 @@ var Radio = forwardRef16(
3813
3814
  )
3814
3815
  },
3815
3816
  props.label && /* @__PURE__ */ React27.createElement(Label2, { ...labelProps }, props.label),
3816
- /* @__PURE__ */ React27.createElement(
3817
- "ul",
3817
+ /* @__PURE__ */ React27.createElement(Tabs, null, /* @__PURE__ */ React27.createElement(
3818
+ TabsList,
3818
3819
  {
3820
+ role: "tablist",
3819
3821
  ref: parentRef,
3820
3822
  className: cn(
3821
3823
  props.options && ((_a = props.options) == null ? void 0 : _a.length) > 2 ? "hawa-flex-wrap xs:hawa-max-w-full xs:hawa-flex-nowrap" : "",
@@ -3841,9 +3843,12 @@ var Radio = forwardRef16(
3841
3843
  asChild: true
3842
3844
  },
3843
3845
  /* @__PURE__ */ React27.createElement(
3844
- "li",
3846
+ TabsTrigger,
3845
3847
  {
3846
- "aria-current": "page",
3848
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
3849
+ value: opt.value,
3850
+ role: "tab",
3851
+ tabIndex: 0,
3847
3852
  onClick: () => {
3848
3853
  if (props.disabled || opt.disabled) return;
3849
3854
  handleChange(opt);
@@ -3859,10 +3864,12 @@ var Radio = forwardRef16(
3859
3864
  ),
3860
3865
  /* @__PURE__ */ React27.createElement(PopoverContent, { ...opt.tooltipContentProps }, opt.tooltip)
3861
3866
  ) : /* @__PURE__ */ React27.createElement(
3862
- "li",
3867
+ TabsTrigger,
3863
3868
  {
3864
3869
  key: o,
3865
- "aria-current": "page",
3870
+ role: "tab",
3871
+ tabIndex: 0,
3872
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
3866
3873
  onClick: () => {
3867
3874
  if (props.disabled || opt.disabled) return;
3868
3875
  handleChange(opt);
@@ -3870,13 +3877,14 @@ var Radio = forwardRef16(
3870
3877
  className: cn(
3871
3878
  ...radio_option_tabs_styling,
3872
3879
  selectedOption === opt.value ? activeTabStyle : inactiveTabStyle
3873
- )
3880
+ ),
3881
+ value: opt.value
3874
3882
  },
3875
3883
  opt.icon && opt.icon,
3876
3884
  opt.label
3877
3885
  );
3878
3886
  })
3879
- ),
3887
+ )),
3880
3888
  !forceHideHelperText && /* @__PURE__ */ React27.createElement(HelperText, { helperText: props.helperText })
3881
3889
  );
3882
3890
  case "bordered":
@@ -5405,7 +5413,7 @@ var tabsTriggerVariant = tv({
5405
5413
  defaultVariants: { variant: "default", orientation: "horizontal" }
5406
5414
  });
5407
5415
  var TabsContext = React42.createContext({ orientation: "horizontal", variant: "default", scrollable: false });
5408
- var Tabs = React42.forwardRef(
5416
+ var Tabs2 = React42.forwardRef(
5409
5417
  ({ className, orientation, scrollable, variant = "default", ...props }, ref) => /* @__PURE__ */ React42.createElement(
5410
5418
  TabsPrimitive.Root,
5411
5419
  {
@@ -5420,7 +5428,7 @@ var Tabs = React42.forwardRef(
5420
5428
  /* @__PURE__ */ React42.createElement(TabsContext.Provider, { value: { orientation, variant, scrollable } }, props.children)
5421
5429
  )
5422
5430
  );
5423
- var TabsList = React42.forwardRef(({ className, classNames, ...props }, ref) => {
5431
+ var TabsList2 = React42.forwardRef(({ className, classNames, ...props }, ref) => {
5424
5432
  const { orientation, variant, scrollable } = React42.useContext(TabsContext);
5425
5433
  const { width } = useViewportSize();
5426
5434
  if (scrollable && width < 768 && orientation === "horizontal") {
@@ -5452,7 +5460,7 @@ var TabsList = React42.forwardRef(({ className, classNames, ...props }, ref) =>
5452
5460
  );
5453
5461
  }
5454
5462
  });
5455
- var TabsTrigger = React42.forwardRef(
5463
+ var TabsTrigger2 = React42.forwardRef(
5456
5464
  ({ className, chipProps, withPopover = false, onPopoverClick, ...props }, ref) => {
5457
5465
  const { orientation, variant } = React42.useContext(TabsContext);
5458
5466
  if (withPopover) {
@@ -5508,9 +5516,9 @@ var TabsContent = React42.forwardRef(({ className, ...props }, ref) => /* @__PUR
5508
5516
  ...props
5509
5517
  }
5510
5518
  ));
5511
- Tabs.displayName = TabsPrimitive.Root.displayName;
5512
- TabsList.displayName = TabsPrimitive.List.displayName;
5513
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
5519
+ Tabs2.displayName = TabsPrimitive.Root.displayName;
5520
+ TabsList2.displayName = TabsPrimitive.List.displayName;
5521
+ TabsTrigger2.displayName = TabsPrimitive.Trigger.displayName;
5514
5522
  TabsContent.displayName = TabsPrimitive.Content.displayName;
5515
5523
 
5516
5524
  // elements/select/Select.tsx
@@ -5540,13 +5548,21 @@ var Select = ({
5540
5548
  children
5541
5549
  );
5542
5550
  };
5543
- const Option = ({ children, innerProps, innerRef }) => {
5551
+ const Option = ({
5552
+ children,
5553
+ innerProps,
5554
+ innerRef,
5555
+ isFocused,
5556
+ isSelected
5557
+ }) => {
5544
5558
  return /* @__PURE__ */ React43.createElement(
5545
5559
  "div",
5546
5560
  {
5547
5561
  ref: innerRef,
5548
5562
  className: cn(
5549
- "hawa-flex hawa-cursor-pointer hawa-select-none hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hawa-transition-all hover:hawa-bg-primary hover:hawa-text-primary-foreground"
5563
+ "hawa-flex hawa-cursor-pointer hawa-select-none hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hawa-transition-all",
5564
+ isFocused ? "hawa-bg-accent hawa-text-bg-accent-foreground" : "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
5565
+ isSelected && "hawa-bg-primary hawa-text-primary-foreground"
5550
5566
  ),
5551
5567
  ...innerProps
5552
5568
  },
@@ -5603,15 +5619,20 @@ var Select = ({
5603
5619
  container: () => cn(
5604
5620
  selectContainerStyles,
5605
5621
  props.phoneCode && phoneCodeStyles,
5606
- props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer",
5607
5622
  props.isMulti && "hawa-ps-0 "
5608
5623
  ),
5609
- placeholder: () => selectPlaceholderStyles,
5624
+ placeholder: () => cn(
5625
+ selectPlaceholderStyles,
5626
+ props.disabled && "hawa-text-muted-foreground"
5627
+ ),
5610
5628
  valueContainer: () => "hawa-text-foreground hawa-px-1 ",
5611
- singleValue: () => "hawa-text-foreground",
5629
+ singleValue: () => cn(
5630
+ props.disabled ? "hawa-text-muted-foreground hawa-opacity-30" : "hawa-text-foreground"
5631
+ ),
5612
5632
  indicatorsContainer: () => cn(
5613
5633
  selectIndicatorContainerStyles,
5614
- props.hideIndicator ? "hawa-invisible" : "hawa-px-1"
5634
+ props.hideIndicator ? "hawa-invisible" : "hawa-px-1",
5635
+ props.disabled && "hawa-opacity-30"
5615
5636
  )
5616
5637
  },
5617
5638
  unstyled: true,
@@ -5619,12 +5640,6 @@ var Select = ({
5619
5640
  components: props.hideIndicator ? { Option, Menu: Menu2, IndicatorsContainer: () => null } : {
5620
5641
  Option,
5621
5642
  Menu: Menu2,
5622
- // Control: (e) => (
5623
- // <div
5624
- // className={cn(e.className, "hawa-flex hawa-flex-row")}
5625
- // {...e}
5626
- // />
5627
- // ),
5628
5643
  ValueContainer: (e) => /* @__PURE__ */ React43.createElement(
5629
5644
  "div",
5630
5645
  {
@@ -7696,19 +7711,19 @@ var PhoneInput = ({
7696
7711
  import * as React50 from "react";
7697
7712
  import { OTPInput, OTPInputContext } from "input-otp";
7698
7713
 
7699
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7714
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7700
7715
  import { forwardRef as forwardRef25, createElement as createElement24 } from "react";
7701
7716
 
7702
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7717
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7703
7718
  var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7704
7719
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7705
7720
  return Boolean(className) && array.indexOf(className) === index;
7706
7721
  }).join(" ");
7707
7722
 
7708
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7723
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7709
7724
  import { forwardRef as forwardRef24, createElement as createElement23 } from "react";
7710
7725
 
7711
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7726
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7712
7727
  var defaultAttributes = {
7713
7728
  xmlns: "http://www.w3.org/2000/svg",
7714
7729
  width: 24,
@@ -7721,7 +7736,7 @@ var defaultAttributes = {
7721
7736
  strokeLinejoin: "round"
7722
7737
  };
7723
7738
 
7724
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7739
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7725
7740
  var Icon = forwardRef24(
7726
7741
  ({
7727
7742
  color = "currentColor",
@@ -7753,7 +7768,7 @@ var Icon = forwardRef24(
7753
7768
  }
7754
7769
  );
7755
7770
 
7756
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7771
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7757
7772
  var createLucideIcon = (iconName, iconNode) => {
7758
7773
  const Component = forwardRef25(
7759
7774
  ({ className, ...props }, ref) => createElement24(Icon, {
@@ -7767,7 +7782,7 @@ var createLucideIcon = (iconName, iconNode) => {
7767
7782
  return Component;
7768
7783
  };
7769
7784
 
7770
- // ../../node_modules/.pnpm/lucide-react@0.417.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7785
+ // ../../node_modules/.pnpm/lucide-react@0.424.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7771
7786
  var Dot = createLucideIcon("Dot", [
7772
7787
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7773
7788
  ]);
@@ -7824,12 +7839,19 @@ var PinInput = ({
7824
7839
  const clampedSeparatorPosition = Math.min(separatorPosition, maxLength);
7825
7840
  const firstGroupLength = clampedSeparatorPosition > 0 ? clampedSeparatorPosition : 0;
7826
7841
  const secondGroupLength = maxLength - firstGroupLength;
7827
- return /* @__PURE__ */ React50.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React50.createElement(PinInputRoot, { ...props }, firstGroupLength > 0 && /* @__PURE__ */ React50.createElement(PinInputGroup, { className: "hawa-w-full" }, [...Array(firstGroupLength)].map((_, index) => /* @__PURE__ */ React50.createElement(PinInputSlot, { key: index, index, className: "hawa-w-full" }))), separatorPosition > 0 && separatorPosition < props.maxLength && /* @__PURE__ */ React50.createElement(PinInputSeperator, null), secondGroupLength > 0 && /* @__PURE__ */ React50.createElement(PinInputGroup, { className: "hawa-w-full" }, [...Array(secondGroupLength)].map((_, index) => /* @__PURE__ */ React50.createElement(
7842
+ return /* @__PURE__ */ React50.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React50.createElement(PinInputRoot, { ...props }, firstGroupLength > 0 && /* @__PURE__ */ React50.createElement(PinInputGroup, { className: "hawa-w-full hawa-gap-2" }, [...Array(firstGroupLength)].map((_, index) => /* @__PURE__ */ React50.createElement(
7843
+ PinInputSlot,
7844
+ {
7845
+ key: index,
7846
+ index,
7847
+ className: "hawa-w-full hawa-border"
7848
+ }
7849
+ ))), separatorPosition > 0 && separatorPosition < props.maxLength && /* @__PURE__ */ React50.createElement(PinInputSeperator, null), secondGroupLength > 0 && /* @__PURE__ */ React50.createElement(PinInputGroup, { className: "hawa-w-full hawa-gap-2" }, [...Array(secondGroupLength)].map((_, index) => /* @__PURE__ */ React50.createElement(
7828
7850
  PinInputSlot,
7829
7851
  {
7830
7852
  key: index + firstGroupLength,
7831
7853
  index: index + firstGroupLength,
7832
- className: "hawa-w-full"
7854
+ className: "hawa-w-full hawa-border"
7833
7855
  }
7834
7856
  )))), /* @__PURE__ */ React50.createElement(HelperText, { helperText: props.helperText }));
7835
7857
  };
@@ -11779,12 +11801,10 @@ var CodeConfirmation = ({
11779
11801
  {
11780
11802
  noValidate: true,
11781
11803
  onSubmit: handleSubmit((e) => {
11782
- if (props.handleConfirm) {
11783
- return props.handleConfirm(e);
11804
+ if (props.onConfirm) {
11805
+ return props.onConfirm(e);
11784
11806
  } else {
11785
- console.log(
11786
- "Form is submitted but handleConfirm prop is missing"
11787
- );
11807
+ console.log("Form is submitted but onConfirm prop is missing");
11788
11808
  }
11789
11809
  })
11790
11810
  },
@@ -11812,12 +11832,28 @@ var CodeConfirmation = ({
11812
11832
  className: "clickable-link",
11813
11833
  onClick: () => {
11814
11834
  startResendTimer();
11815
- props.handleResend();
11835
+ props.onResend();
11816
11836
  }
11817
11837
  },
11818
11838
  ((_i = props.texts) == null ? void 0 : _i.resendCode) || "Click to resend"
11819
11839
  )),
11820
- /* @__PURE__ */ React88.createElement("div", { className: "hawa-mt-4 hawa-grid hawa-grid-cols-2 hawa-gap-2" }, /* @__PURE__ */ React88.createElement(Button, { variant: "outline" }, ((_j = props.texts) == null ? void 0 : _j.cancel) || "Cancel"), /* @__PURE__ */ React88.createElement(Button, { isLoading: props.confirmLoading }, ((_k = props.texts) == null ? void 0 : _k.confirm) || "Confirm"))
11840
+ /* @__PURE__ */ React88.createElement("div", { className: "hawa-mt-4 hawa-grid hawa-grid-cols-2 hawa-gap-2" }, /* @__PURE__ */ React88.createElement(
11841
+ Button,
11842
+ {
11843
+ type: "button",
11844
+ onClick: () => {
11845
+ if (props.onCancel) {
11846
+ return props.onCancel();
11847
+ } else {
11848
+ console.log(
11849
+ "Cancel button clicked but onCancel prop is missing"
11850
+ );
11851
+ }
11852
+ },
11853
+ variant: "outline"
11854
+ },
11855
+ ((_j = props.texts) == null ? void 0 : _j.cancel) || "Cancel"
11856
+ ), /* @__PURE__ */ React88.createElement(Button, { isLoading: props.confirmLoading }, ((_k = props.texts) == null ? void 0 : _k.confirm) || "Confirm"))
11821
11857
  )));
11822
11858
  };
11823
11859
 
@@ -12303,14 +12339,14 @@ var FeedbackForm = (props) => {
12303
12339
  import React93 from "react";
12304
12340
  var LegalTexts = ({ tabs, ...props }) => {
12305
12341
  return /* @__PURE__ */ React93.createElement(
12306
- Tabs,
12342
+ Tabs2,
12307
12343
  {
12308
12344
  value: props.activeTab,
12309
12345
  onValueChange: props.handleTabChange,
12310
12346
  defaultValue: props.defaultTab || tabs[0].value,
12311
12347
  dir: props.direction
12312
12348
  },
12313
- /* @__PURE__ */ React93.createElement(TabsList, { className: "hawa-w-full" }, tabs.map((tab, index) => /* @__PURE__ */ React93.createElement(TabsTrigger, { key: index, value: tab.value }, tab.title))),
12349
+ /* @__PURE__ */ React93.createElement(TabsList2, { className: "hawa-w-full" }, tabs.map((tab, index) => /* @__PURE__ */ React93.createElement(TabsTrigger2, { key: index, value: tab.value }, tab.title))),
12314
12350
  tabs.map((tab, index) => /* @__PURE__ */ React93.createElement(TabsContent, { key: index, value: tab.value }, /* @__PURE__ */ React93.createElement(
12315
12351
  ScrollArea,
12316
12352
  {
@@ -12460,6 +12496,7 @@ var ContactForm = ({
12460
12496
  onSubmit,
12461
12497
  customFields,
12462
12498
  classNames,
12499
+ clearOnSubmit = true,
12463
12500
  ...props
12464
12501
  }) => {
12465
12502
  var _a, _b, _c, _d, _e;
@@ -12503,8 +12540,11 @@ var ContactForm = ({
12503
12540
  control,
12504
12541
  handleSubmit,
12505
12542
  formState: { errors },
12506
- reset
12543
+ reset,
12544
+ getValues,
12545
+ trigger
12507
12546
  } = useForm9({
12547
+ mode: "all",
12508
12548
  resolver: zodResolver8(MainSchema),
12509
12549
  defaultValues: {
12510
12550
  name: "",
@@ -12513,10 +12553,16 @@ var ContactForm = ({
12513
12553
  ...customFieldsDefaultValues
12514
12554
  }
12515
12555
  });
12516
- const handleFormSubmit = (data) => {
12556
+ const SubmitForm = async (data) => {
12557
+ const isValid = await trigger();
12558
+ if (!isValid) {
12559
+ return;
12560
+ }
12517
12561
  if (onSubmit) {
12518
12562
  onSubmit(data);
12519
- reset();
12563
+ if (clearOnSubmit) {
12564
+ reset();
12565
+ }
12520
12566
  } else {
12521
12567
  console.log("Form is submitted but onSubmit prop is missing");
12522
12568
  }
@@ -12526,7 +12572,8 @@ var ContactForm = ({
12526
12572
  {
12527
12573
  className: cn(
12528
12574
  "hawa-w-full",
12529
- cardless && "hawa-border-none hawa-bg-transparent hawa-shadow-none hawa-drop-shadow-none"
12575
+ cardless && "hawa-border-none hawa-bg-transparent hawa-shadow-none hawa-drop-shadow-none",
12576
+ classNames == null ? void 0 : classNames.container
12530
12577
  ),
12531
12578
  style: cardless ? { boxShadow: "none" } : void 0
12532
12579
  },
@@ -12534,7 +12581,7 @@ var ContactForm = ({
12534
12581
  "form",
12535
12582
  {
12536
12583
  noValidate: true,
12537
- onSubmit: handleSubmit(handleFormSubmit),
12584
+ onSubmit: handleSubmit(SubmitForm),
12538
12585
  className: "hawa-space-y-2",
12539
12586
  id: formId,
12540
12587
  autoComplete: formAutoComplete
@@ -12645,7 +12692,10 @@ var ContactForm = ({
12645
12692
  textareaProps: {
12646
12693
  placeholder: texts == null ? void 0 : texts.message.placeholder,
12647
12694
  className: "hawa-min-h-20",
12648
- ...field
12695
+ ...field,
12696
+ onKeyDown: getHotkeyHandler([
12697
+ ["mod+enter", () => SubmitForm(getValues())]
12698
+ ])
12649
12699
  },
12650
12700
  classNames: { textarea: "hawa-min-h-40 hawa-h-full" },
12651
12701
  helperText: (_a2 = errors.message) == null ? void 0 : _a2.message
@@ -13566,10 +13616,10 @@ export {
13566
13616
  TableHead,
13567
13617
  TableHeader,
13568
13618
  TableRow,
13569
- Tabs,
13619
+ Tabs2 as Tabs,
13570
13620
  TabsContent,
13571
- TabsList,
13572
- TabsTrigger,
13621
+ TabsList2 as TabsList,
13622
+ TabsTrigger2 as TabsTrigger,
13573
13623
  Testimonial,
13574
13624
  Textarea,
13575
13625
  Toast,
@@ -13610,7 +13660,7 @@ export {
13610
13660
 
13611
13661
  lucide-react/dist/esm/shared/src/utils.js:
13612
13662
  (**
13613
- * @license lucide-react v0.417.0 - ISC
13663
+ * @license lucide-react v0.424.0 - ISC
13614
13664
  *
13615
13665
  * This source code is licensed under the ISC license.
13616
13666
  * See the LICENSE file in the root directory of this source tree.
@@ -13618,7 +13668,7 @@ lucide-react/dist/esm/shared/src/utils.js:
13618
13668
 
13619
13669
  lucide-react/dist/esm/defaultAttributes.js:
13620
13670
  (**
13621
- * @license lucide-react v0.417.0 - ISC
13671
+ * @license lucide-react v0.424.0 - ISC
13622
13672
  *
13623
13673
  * This source code is licensed under the ISC license.
13624
13674
  * See the LICENSE file in the root directory of this source tree.
@@ -13626,7 +13676,7 @@ lucide-react/dist/esm/defaultAttributes.js:
13626
13676
 
13627
13677
  lucide-react/dist/esm/Icon.js:
13628
13678
  (**
13629
- * @license lucide-react v0.417.0 - ISC
13679
+ * @license lucide-react v0.424.0 - ISC
13630
13680
  *
13631
13681
  * This source code is licensed under the ISC license.
13632
13682
  * See the LICENSE file in the root directory of this source tree.
@@ -13634,7 +13684,7 @@ lucide-react/dist/esm/Icon.js:
13634
13684
 
13635
13685
  lucide-react/dist/esm/createLucideIcon.js:
13636
13686
  (**
13637
- * @license lucide-react v0.417.0 - ISC
13687
+ * @license lucide-react v0.424.0 - ISC
13638
13688
  *
13639
13689
  * This source code is licensed under the ISC license.
13640
13690
  * See the LICENSE file in the root directory of this source tree.
@@ -13642,7 +13692,7 @@ lucide-react/dist/esm/createLucideIcon.js:
13642
13692
 
13643
13693
  lucide-react/dist/esm/icons/dot.js:
13644
13694
  (**
13645
- * @license lucide-react v0.417.0 - ISC
13695
+ * @license lucide-react v0.424.0 - ISC
13646
13696
  *
13647
13697
  * This source code is licensed under the ISC license.
13648
13698
  * See the LICENSE file in the root directory of this source tree.
@@ -13650,7 +13700,7 @@ lucide-react/dist/esm/icons/dot.js:
13650
13700
 
13651
13701
  lucide-react/dist/esm/lucide-react.js:
13652
13702
  (**
13653
- * @license lucide-react v0.417.0 - ISC
13703
+ * @license lucide-react v0.424.0 - ISC
13654
13704
  *
13655
13705
  * This source code is licensed under the ISC license.
13656
13706
  * See the LICENSE file in the root directory of this source tree.
@@ -47,6 +47,7 @@ function cn(...inputs) {
47
47
 
48
48
  // elements/radio/Radio.tsx
49
49
  var import_react3 = __toESM(require("react"));
50
+ var import_react_tabs = require("@radix-ui/react-tabs");
50
51
 
51
52
  // elements/helperText/HelperText.tsx
52
53
  var import_react = __toESM(require("react"));
@@ -278,9 +279,10 @@ var Radio = (0, import_react3.forwardRef)(
278
279
  )
279
280
  },
280
281
  props.label && /* @__PURE__ */ import_react3.default.createElement(Label, { ...labelProps }, props.label),
281
- /* @__PURE__ */ import_react3.default.createElement(
282
- "ul",
282
+ /* @__PURE__ */ import_react3.default.createElement(import_react_tabs.Tabs, null, /* @__PURE__ */ import_react3.default.createElement(
283
+ import_react_tabs.TabsList,
283
284
  {
285
+ role: "tablist",
284
286
  ref: parentRef,
285
287
  className: cn(
286
288
  props.options && ((_a = props.options) == null ? void 0 : _a.length) > 2 ? "hawa-flex-wrap xs:hawa-max-w-full xs:hawa-flex-nowrap" : "",
@@ -306,9 +308,12 @@ var Radio = (0, import_react3.forwardRef)(
306
308
  asChild: true
307
309
  },
308
310
  /* @__PURE__ */ import_react3.default.createElement(
309
- "li",
311
+ import_react_tabs.TabsTrigger,
310
312
  {
311
- "aria-current": "page",
313
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
314
+ value: opt.value,
315
+ role: "tab",
316
+ tabIndex: 0,
312
317
  onClick: () => {
313
318
  if (props.disabled || opt.disabled) return;
314
319
  handleChange(opt);
@@ -324,10 +329,12 @@ var Radio = (0, import_react3.forwardRef)(
324
329
  ),
325
330
  /* @__PURE__ */ import_react3.default.createElement(PopoverContent, { ...opt.tooltipContentProps }, opt.tooltip)
326
331
  ) : /* @__PURE__ */ import_react3.default.createElement(
327
- "li",
332
+ import_react_tabs.TabsTrigger,
328
333
  {
329
334
  key: o,
330
- "aria-current": "page",
335
+ role: "tab",
336
+ tabIndex: 0,
337
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
331
338
  onClick: () => {
332
339
  if (props.disabled || opt.disabled) return;
333
340
  handleChange(opt);
@@ -335,13 +342,14 @@ var Radio = (0, import_react3.forwardRef)(
335
342
  className: cn(
336
343
  ...radio_option_tabs_styling,
337
344
  selectedOption === opt.value ? activeTabStyle : inactiveTabStyle
338
- )
345
+ ),
346
+ value: opt.value
339
347
  },
340
348
  opt.icon && opt.icon,
341
349
  opt.label
342
350
  );
343
351
  })
344
- ),
352
+ )),
345
353
  !forceHideHelperText && /* @__PURE__ */ import_react3.default.createElement(HelperText, { helperText: props.helperText })
346
354
  );
347
355
  case "bordered":