@sikka/hawa 0.2.42-next → 0.2.43-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.css CHANGED
@@ -388,7 +388,7 @@ video {
388
388
  :root {
389
389
  --background: 0 0% 100%;
390
390
  --foreground: 240 10% 3.9%;
391
- --card: 210 50% 98%;
391
+ --card: 0 0% 100%;
392
392
  --card-foreground: 240 10% 3.9%;
393
393
  --popover: 0 0% 100%;
394
394
  --popover-foreground: 240 10% 3.9%;
@@ -402,24 +402,17 @@ video {
402
402
  --accent-foreground: 240 5.9% 10%;
403
403
  --destructive: 0 84.2% 60.2%;
404
404
  --destructive-foreground: 0 0% 98%;
405
- --info: 209 62% 50%;
406
- --info-foreground: 0 0% 98%;
407
- --success: 148 48% 43%;
408
- --success-foreground: 0 0% 98%;
409
- --warning: 24 75% 50%;
410
- --warning-foreground: 0 0% 98%;
411
- --error: 0 84.2% 60.2%;
412
- --error-foreground: 0 0% 98%;
413
405
  --border: 240 5.9% 90%;
414
406
  --input: 240 5.9% 90%;
415
- --ring: 240 5% 64.9%;
416
- --radius: 0.5rem;
407
+ --ring: 240 5.9% 10%;
408
+ --radius: 0.1rem;
417
409
  --radius-inner: calc(var(--radius) - calc(var(--radius) / 3));
418
410
  }
411
+
419
412
  .dark {
420
413
  --background: 240 10% 3.9%;
421
414
  --foreground: 0 0% 98%;
422
- --card: 0 0% 2%;
415
+ --card: 240 10% 3.9%;
423
416
  --card-foreground: 0 0% 98%;
424
417
  --popover: 240 10% 3.9%;
425
418
  --popover-foreground: 0 0% 98%;
@@ -432,7 +425,7 @@ video {
432
425
  --accent: 240 3.7% 15.9%;
433
426
  --accent-foreground: 0 0% 98%;
434
427
  --destructive: 0 62.8% 30.6%;
435
- --destructive-foreground: 0 85.7% 97.3%;
428
+ --destructive-foreground: 0 0% 98%;
436
429
  --border: 240 3.7% 15.9%;
437
430
  --input: 240 3.7% 15.9%;
438
431
  --ring: 240 4.9% 83.9%;
@@ -673,6 +666,9 @@ input[type="number"]::-webkit-inner-spin-button,
673
666
  .hawa-left-2 {
674
667
  left: 0.5rem;
675
668
  }
669
+ .hawa-left-3 {
670
+ left: 0.75rem;
671
+ }
676
672
  .hawa-left-4 {
677
673
  left: 1rem;
678
674
  }
@@ -682,6 +678,9 @@ input[type="number"]::-webkit-inner-spin-button,
682
678
  .hawa-right-0 {
683
679
  right: 0px;
684
680
  }
681
+ .hawa-right-1 {
682
+ right: 0.25rem;
683
+ }
685
684
  .hawa-right-2 {
686
685
  right: 0.5rem;
687
686
  }
@@ -691,12 +690,21 @@ input[type="number"]::-webkit-inner-spin-button,
691
690
  .hawa-top-0 {
692
691
  top: 0px;
693
692
  }
693
+ .hawa-top-1\/2 {
694
+ top: 50%;
695
+ }
694
696
  .hawa-top-2 {
695
697
  top: 0.5rem;
696
698
  }
697
699
  .hawa-top-4 {
698
700
  top: 1rem;
699
701
  }
702
+ .hawa-top-\[22px\] {
703
+ top: 22px;
704
+ }
705
+ .hawa-top-\[41px\] {
706
+ top: 41px;
707
+ }
700
708
  .hawa-top-\[50\%\] {
701
709
  top: 50%;
702
710
  }
@@ -733,6 +741,9 @@ input[type="number"]::-webkit-inner-spin-button,
733
741
  .hawa--mt-1 {
734
742
  margin-top: -0.25rem;
735
743
  }
744
+ .hawa-mb-0 {
745
+ margin-bottom: 0px;
746
+ }
736
747
  .hawa-mb-1 {
737
748
  margin-bottom: 0.25rem;
738
749
  }
@@ -745,6 +756,9 @@ input[type="number"]::-webkit-inner-spin-button,
745
756
  .hawa-mb-4 {
746
757
  margin-bottom: 1rem;
747
758
  }
759
+ .hawa-mb-5 {
760
+ margin-bottom: 1.25rem;
761
+ }
748
762
  .hawa-ml-2 {
749
763
  margin-left: 0.5rem;
750
764
  }
@@ -760,6 +774,9 @@ input[type="number"]::-webkit-inner-spin-button,
760
774
  .hawa-mr-8 {
761
775
  margin-right: 2rem;
762
776
  }
777
+ .hawa-mt-0 {
778
+ margin-top: 0px;
779
+ }
763
780
  .hawa-mt-1 {
764
781
  margin-top: 0.25rem;
765
782
  }
@@ -838,6 +855,9 @@ input[type="number"]::-webkit-inner-spin-button,
838
855
  .hawa-h-9 {
839
856
  height: 2.25rem;
840
857
  }
858
+ .hawa-h-\[0\.8px\] {
859
+ height: 0.8px;
860
+ }
841
861
  .hawa-h-\[16px\] {
842
862
  height: 16px;
843
863
  }
@@ -856,6 +876,9 @@ input[type="number"]::-webkit-inner-spin-button,
856
876
  .hawa-h-\[30px\] {
857
877
  height: 30px;
858
878
  }
879
+ .hawa-h-\[38px\] {
880
+ height: 38px;
881
+ }
859
882
  .hawa-h-auto {
860
883
  height: auto;
861
884
  }
@@ -872,6 +895,10 @@ input[type="number"]::-webkit-inner-spin-button,
872
895
  .hawa-h-screen {
873
896
  height: 100vh;
874
897
  }
898
+ .hawa-max-h-fit {
899
+ max-height: -moz-fit-content;
900
+ max-height: fit-content;
901
+ }
875
902
  .hawa-max-h-screen {
876
903
  max-height: 100vh;
877
904
  }
@@ -990,6 +1017,9 @@ input[type="number"]::-webkit-inner-spin-button,
990
1017
  .hawa-max-w-2xl {
991
1018
  max-width: 42rem;
992
1019
  }
1020
+ .hawa-max-w-2xs {
1021
+ max-width: 250px;
1022
+ }
993
1023
  .hawa-max-w-4xl {
994
1024
  max-width: 56rem;
995
1025
  }
@@ -1032,6 +1062,10 @@ input[type="number"]::-webkit-inner-spin-button,
1032
1062
  --tw-translate-x: -0.125rem;
1033
1063
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1034
1064
  }
1065
+ .hawa--translate-y-1\/2 {
1066
+ --tw-translate-y: -50%;
1067
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1068
+ }
1035
1069
  .hawa-translate-x-0 {
1036
1070
  --tw-translate-x: 0px;
1037
1071
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1307,6 +1341,9 @@ input[type="number"]::-webkit-inner-spin-button,
1307
1341
  .hawa-border-primary {
1308
1342
  border-color: hsl(var(--primary));
1309
1343
  }
1344
+ .hawa-border-transparent {
1345
+ border-color: transparent;
1346
+ }
1310
1347
  .hawa-bg-background {
1311
1348
  background-color: hsl(var(--background));
1312
1349
  }
@@ -1541,6 +1578,9 @@ input[type="number"]::-webkit-inner-spin-button,
1541
1578
  .hawa-pl-0 {
1542
1579
  padding-left: 0px;
1543
1580
  }
1581
+ .hawa-pl-10 {
1582
+ padding-left: 2.5rem;
1583
+ }
1544
1584
  .hawa-pl-2 {
1545
1585
  padding-left: 0.5rem;
1546
1586
  }
@@ -1904,6 +1944,60 @@ input[type="number"]::-webkit-inner-spin-button,
1904
1944
  body {
1905
1945
  font-family: "IBM Plex Sans Arabic", sans-serif;
1906
1946
  }
1947
+ /*
1948
+ @layer base {
1949
+ :root {
1950
+ --background: 0 0% 100%;
1951
+ --foreground: 240 10% 3.9%;
1952
+ --card: 210 50% 98%;
1953
+ --card-foreground: 240 10% 3.9%;
1954
+ --popover: 0 0% 100%;
1955
+ --popover-foreground: 240 10% 3.9%;
1956
+ --primary: 240 5.9% 10%;
1957
+ --primary-foreground: 0 0% 98%;
1958
+ --secondary: 240 4.8% 95.9%;
1959
+ --secondary-foreground: 240 5.9% 10%;
1960
+ --muted: 240 4.8% 95.9%;
1961
+ --muted-foreground: 240 3.8% 46.1%;
1962
+ --accent: 240 4.8% 95.9%;
1963
+ --accent-foreground: 240 5.9% 10%;
1964
+ --destructive: 0 84.2% 60.2%;
1965
+ --destructive-foreground: 0 0% 98%;
1966
+ --info: 209 62% 50%;
1967
+ --info-foreground: 0 0% 98%;
1968
+ --success: 148 48% 43%;
1969
+ --success-foreground: 0 0% 98%;
1970
+ --warning: 24 75% 50%;
1971
+ --warning-foreground: 0 0% 98%;
1972
+ --error: 0 84.2% 60.2%;
1973
+ --error-foreground: 0 0% 98%;
1974
+ --border: 240 5.9% 90%;
1975
+ --input: 240 5.9% 90%;
1976
+ --ring: 240 5% 64.9%;
1977
+ --radius: 0.5rem;
1978
+ }
1979
+ .dark {
1980
+ --background: 240 10% 3.9%;
1981
+ --foreground: 0 0% 98%;
1982
+ --card: 0 0% 2%;
1983
+ --card-foreground: 0 0% 98%;
1984
+ --popover: 240 10% 3.9%;
1985
+ --popover-foreground: 0 0% 98%;
1986
+ --primary: 0 0% 98%;
1987
+ --primary-foreground: 240 5.9% 10%;
1988
+ --secondary: 240 3.7% 15.9%;
1989
+ --secondary-foreground: 0 0% 98%;
1990
+ --muted: 240 3.7% 15.9%;
1991
+ --muted-foreground: 240 5% 64.9%;
1992
+ --accent: 240 3.7% 15.9%;
1993
+ --accent-foreground: 0 0% 98%;
1994
+ --destructive: 0 62.8% 30.6%;
1995
+ --destructive-foreground: 0 85.7% 97.3%;
1996
+ --border: 240 3.7% 15.9%;
1997
+ --input: 240 3.7% 15.9%;
1998
+ --ring: 240 4.9% 83.9%;
1999
+ }
2000
+ } */
1907
2001
  .placeholder\:hawa-text-muted-foreground::-moz-placeholder {
1908
2002
  color: hsl(var(--muted-foreground));
1909
2003
  }
@@ -2289,6 +2383,9 @@ body {
2289
2383
  --tw-translate-x: var(--radix-toast-swipe-move-x);
2290
2384
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2291
2385
  }
2386
+ .data-\[state\=active\]\:hawa-bg-primary[data-state=active] {
2387
+ background-color: hsl(var(--primary));
2388
+ }
2292
2389
  .data-\[state\=checked\]\:hawa-bg-primary[data-state=checked] {
2293
2390
  background-color: hsl(var(--primary));
2294
2391
  }
@@ -2298,6 +2395,9 @@ body {
2298
2395
  .data-\[state\=open\]\:hawa-bg-accent[data-state=open] {
2299
2396
  background-color: hsl(var(--accent));
2300
2397
  }
2398
+ .data-\[state\=active\]\:hawa-text-primary-foreground[data-state=active] {
2399
+ color: hsl(var(--primary-foreground));
2400
+ }
2301
2401
  .data-\[state\=checked\]\:hawa-text-primary-foreground[data-state=checked] {
2302
2402
  color: hsl(var(--primary-foreground));
2303
2403
  }
@@ -2307,6 +2407,11 @@ body {
2307
2407
  .data-\[disabled\]\:hawa-opacity-50[data-disabled] {
2308
2408
  opacity: 0.5;
2309
2409
  }
2410
+ .data-\[state\=active\]\:hawa-shadow-sm[data-state=active] {
2411
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
2412
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
2413
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2414
+ }
2310
2415
  .data-\[swipe\=move\]\:hawa-transition-none[data-swipe=move] {
2311
2416
  transition-property: none;
2312
2417
  }
@@ -2389,6 +2494,9 @@ body {
2389
2494
  --tw-border-opacity: 1;
2390
2495
  border-color: rgb(55 65 81 / var(--tw-border-opacity));
2391
2496
  }
2497
+ :is(.hawa-dark .dark\:hawa-border-primary\/10) {
2498
+ border-color: hsl(var(--primary) / 0.1);
2499
+ }
2392
2500
  :is(.hawa-dark .dark\:hawa-bg-background) {
2393
2501
  background-color: hsl(var(--background));
2394
2502
  }
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
2
2
  import * as React from 'react';
3
- import React__default, { FC, ReactNode, ChangeEvent, RefObject } from 'react';
3
+ import React__default, { FC, ReactNode, ChangeEvent, RefObject, PropsWithRef } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as DialogPrimitive from '@radix-ui/react-dialog';
6
6
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -10,6 +10,7 @@ import * as LabelPrimitive from '@radix-ui/react-label';
10
10
  import * as PopoverPrimitive from '@radix-ui/react-popover';
11
11
  import * as SliderPrimitive from '@radix-ui/react-slider';
12
12
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
13
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
13
14
 
14
15
  declare const buttonVariants: (props?: ({
15
16
  variant?: "link" | "default" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
@@ -359,4 +360,44 @@ type BackToTopTypes = {
359
360
  };
360
361
  declare const BackToTop: FC<BackToTopTypes>;
361
362
 
362
- export { ActionCard, Alert, AppStores, BackToTop, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, CodeBlock, ColorPicker, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, FileDropzone, Label, Loading, MenuItemType, PhoneInput, PinInput, Popover, PopoverContent, Radio, Skeleton, Slider, SubItem, Switch, Textarea, TextareaProps, Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, buttonVariants };
363
+ type TextFieldTypes = {
364
+ isLoading?: boolean;
365
+ margin?: "none" | "normal" | "large";
366
+ width?: "small" | "normal" | "full";
367
+ /** The label of the input field */
368
+ label?: any;
369
+ /** Disable/Enable multiple line text input field */
370
+ multiline?: boolean;
371
+ /** The small red text under the input field to show validation or a hint. */
372
+ helperText?: any;
373
+ /** The value of the input field */
374
+ value?: any;
375
+ props?: PropsWithRef<"input">;
376
+ /** The type of input field. Same as the types of the HTML input element */
377
+ type?: any;
378
+ /** The placeholder of the input field */
379
+ placeholder?: any;
380
+ defaultValue?: any;
381
+ name?: any;
382
+ inputProps?: any;
383
+ onChange?: any;
384
+ ref?: any;
385
+ /** The icon inside the input field */
386
+ icon?: any;
387
+ /** Boolean to enable/disable editing the input field and using it as a text field */
388
+ preview?: boolean;
389
+ autoComplete?: any;
390
+ maxLength?: any;
391
+ className?: any;
392
+ iconInside?: React__default.ReactNode;
393
+ };
394
+ declare const Input: FC<TextFieldTypes>;
395
+
396
+ declare const Tabs: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
397
+ orientation?: "horizontal" | "vertical" | undefined;
398
+ } & React.RefAttributes<HTMLDivElement>>;
399
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
400
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
401
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
402
+
403
+ export { ActionCard, Alert, AppStores, BackToTop, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, CodeBlock, ColorPicker, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, FileDropzone, Input, Label, Loading, MenuItemType, PhoneInput, PinInput, Popover, PopoverContent, Radio, Skeleton, Slider, SubItem, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TextareaProps, Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, buttonVariants };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
2
2
  import * as React from 'react';
3
- import React__default, { FC, ReactNode, ChangeEvent, RefObject } from 'react';
3
+ import React__default, { FC, ReactNode, ChangeEvent, RefObject, PropsWithRef } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as DialogPrimitive from '@radix-ui/react-dialog';
6
6
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -10,6 +10,7 @@ import * as LabelPrimitive from '@radix-ui/react-label';
10
10
  import * as PopoverPrimitive from '@radix-ui/react-popover';
11
11
  import * as SliderPrimitive from '@radix-ui/react-slider';
12
12
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
13
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
13
14
 
14
15
  declare const buttonVariants: (props?: ({
15
16
  variant?: "link" | "default" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
@@ -359,4 +360,44 @@ type BackToTopTypes = {
359
360
  };
360
361
  declare const BackToTop: FC<BackToTopTypes>;
361
362
 
362
- export { ActionCard, Alert, AppStores, BackToTop, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, CodeBlock, ColorPicker, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, FileDropzone, Label, Loading, MenuItemType, PhoneInput, PinInput, Popover, PopoverContent, Radio, Skeleton, Slider, SubItem, Switch, Textarea, TextareaProps, Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, buttonVariants };
363
+ type TextFieldTypes = {
364
+ isLoading?: boolean;
365
+ margin?: "none" | "normal" | "large";
366
+ width?: "small" | "normal" | "full";
367
+ /** The label of the input field */
368
+ label?: any;
369
+ /** Disable/Enable multiple line text input field */
370
+ multiline?: boolean;
371
+ /** The small red text under the input field to show validation or a hint. */
372
+ helperText?: any;
373
+ /** The value of the input field */
374
+ value?: any;
375
+ props?: PropsWithRef<"input">;
376
+ /** The type of input field. Same as the types of the HTML input element */
377
+ type?: any;
378
+ /** The placeholder of the input field */
379
+ placeholder?: any;
380
+ defaultValue?: any;
381
+ name?: any;
382
+ inputProps?: any;
383
+ onChange?: any;
384
+ ref?: any;
385
+ /** The icon inside the input field */
386
+ icon?: any;
387
+ /** Boolean to enable/disable editing the input field and using it as a text field */
388
+ preview?: boolean;
389
+ autoComplete?: any;
390
+ maxLength?: any;
391
+ className?: any;
392
+ iconInside?: React__default.ReactNode;
393
+ };
394
+ declare const Input: FC<TextFieldTypes>;
395
+
396
+ declare const Tabs: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
397
+ orientation?: "horizontal" | "vertical" | undefined;
398
+ } & React.RefAttributes<HTMLDivElement>>;
399
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
400
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
401
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
402
+
403
+ export { ActionCard, Alert, AppStores, BackToTop, Breadcrumb, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, CodeBlock, ColorPicker, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, FileDropzone, Input, Label, Loading, MenuItemType, PhoneInput, PinInput, Popover, PopoverContent, Radio, Skeleton, Slider, SubItem, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TextareaProps, Toast, ToastAction, ToastActionElement, ToastClose, ToastDescription, ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, buttonVariants };
package/dist/index.js CHANGED
@@ -290,6 +290,9 @@ __export(components_exports, {
290
290
  FileDropzone: function() {
291
291
  return FileDropzone;
292
292
  },
293
+ Input: function() {
294
+ return Input;
295
+ },
293
296
  Label: function() {
294
297
  return Label;
295
298
  },
@@ -320,6 +323,18 @@ __export(components_exports, {
320
323
  Switch: function() {
321
324
  return Switch;
322
325
  },
326
+ Tabs: function() {
327
+ return Tabs;
328
+ },
329
+ TabsContent: function() {
330
+ return TabsContent;
331
+ },
332
+ TabsList: function() {
333
+ return TabsList;
334
+ },
335
+ TabsTrigger: function() {
336
+ return TabsTrigger;
337
+ },
323
338
  Textarea: function() {
324
339
  return Textarea;
325
340
  },
@@ -4006,6 +4021,98 @@ var BackToTop = function(_param) {
4006
4021
  d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
4007
4022
  })));
4008
4023
  };
4024
+ // components/elements/Input.tsx
4025
+ var import_react18 = __toESM(require("react"));
4026
+ var Input = function(_param) {
4027
+ var _param_margin = _param.margin, margin = _param_margin === void 0 ? "none" : _param_margin, _param_width = _param.width, width = _param_width === void 0 ? "full" : _param_width, _param_preview = _param.preview, preview = _param_preview === void 0 ? false : _param_preview, props = _object_without_properties(_param, [
4028
+ "margin",
4029
+ "width",
4030
+ "preview"
4031
+ ]);
4032
+ var marginStyles = {
4033
+ none: "hawa-mb-0",
4034
+ normal: "hawa-mb-3",
4035
+ large: "hawa-mb-5"
4036
+ };
4037
+ var widthStyles = {
4038
+ small: "hawa-w-full hawa-max-w-2xs",
4039
+ normal: "hawa-w-1/2",
4040
+ full: "hawa-w-full"
4041
+ };
4042
+ var defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-2";
4043
+ var defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-black dark:hawa-text-white ";
4044
+ return /* @__PURE__ */ import_react18.default.createElement("div", {
4045
+ className: cn(defaultStyle, marginStyles[margin], widthStyles[width], props.className)
4046
+ }, props.label && /* @__PURE__ */ import_react18.default.createElement(Label, null, props.label), props.isLoading ? /* @__PURE__ */ import_react18.default.createElement(Skeleton, {
4047
+ className: "hawa-h-[38px] hawa-w-full"
4048
+ }) : /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, /* @__PURE__ */ import_react18.default.createElement("div", {
4049
+ className: cn("hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800", preview ? "hawa-opacity-100" : "hawa-opacity-0")
4050
+ }), /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, /* @__PURE__ */ import_react18.default.createElement("div", {
4051
+ className: cn("hawa-relative")
4052
+ }, props.icon && /* @__PURE__ */ import_react18.default.createElement("div", {
4053
+ className: "hawa-absolute hawa-left-3 hawa-top-1/2 hawa--translate-y-1/2"
4054
+ }, props.icon), /* @__PURE__ */ import_react18.default.createElement("input", _object_spread_props(_object_spread({}, props), {
4055
+ className: cn(defaultInputStyle, props.icon && "hawa-pl-10", "focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2", preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0"),
4056
+ disabled: preview
4057
+ }))), props.iconInside && /* @__PURE__ */ import_react18.default.createElement("div", {
4058
+ className: "hawa-absolute hawa-right-1 hawa-top-[41px] hawa--translate-y-1/2"
4059
+ }, props.iconInside), props.helperText && /* @__PURE__ */ import_react18.default.createElement("p", {
4060
+ className: "hawa-mb-0 hawa-mt-0 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500"
4061
+ }, props.helperText))));
4062
+ };
4063
+ // components/elements/Tabs.tsx
4064
+ var React30 = __toESM(require("react"));
4065
+ var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"));
4066
+ var TabsContext = React30.createContext({
4067
+ orientation: "vertical"
4068
+ });
4069
+ var Tabs = React30.forwardRef(function(_param, ref) /* @__PURE__ */ {
4070
+ var className = _param.className, orientation = _param.orientation, props = _object_without_properties(_param, [
4071
+ "className",
4072
+ "orientation"
4073
+ ]);
4074
+ return React30.createElement(TabsPrimitive.Root, _object_spread({
4075
+ ref: ref,
4076
+ className: cn("hawa-flex hawa-gap-2", orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col", className)
4077
+ }, props), /* @__PURE__ */ React30.createElement(TabsContext.Provider, {
4078
+ value: {
4079
+ orientation: orientation
4080
+ }
4081
+ }, props.children));
4082
+ });
4083
+ Tabs.displayName = TabsPrimitive.Root.displayName;
4084
+ var TabsList = React30.forwardRef(function(_param, ref) {
4085
+ var className = _param.className, props = _object_without_properties(_param, [
4086
+ "className"
4087
+ ]);
4088
+ var orientation = React30.useContext(TabsContext).orientation;
4089
+ console.log("orient ", orientation);
4090
+ return /* @__PURE__ */ React30.createElement(TabsPrimitive.List, _object_spread({
4091
+ ref: ref,
4092
+ className: cn("hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10", orientation === "vertical" ? "hawa-flex-col" : "hawa-flex-row", className)
4093
+ }, props));
4094
+ });
4095
+ TabsList.displayName = TabsPrimitive.List.displayName;
4096
+ var TabsTrigger = React30.forwardRef(function(_param, ref) {
4097
+ var className = _param.className, props = _object_without_properties(_param, [
4098
+ "className"
4099
+ ]);
4100
+ return /* @__PURE__ */ React30.createElement(TabsPrimitive.Trigger, _object_spread({
4101
+ ref: ref,
4102
+ className: cn("hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10", className)
4103
+ }, props));
4104
+ });
4105
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4106
+ var TabsContent = React30.forwardRef(function(_param, ref) /* @__PURE__ */ {
4107
+ var className = _param.className, props = _object_without_properties(_param, [
4108
+ "className"
4109
+ ]);
4110
+ return React30.createElement(TabsPrimitive.Content, _object_spread({
4111
+ ref: ref,
4112
+ className: cn("hawa-w-full hawa-ring-offset-hawa-background focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2", className)
4113
+ }, props));
4114
+ });
4115
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
4009
4116
  // Annotate the CommonJS export names for ESM import in node:
4010
4117
  0 && (module.exports = {
4011
4118
  ActionCard: ActionCard,
@@ -4033,6 +4140,7 @@ var BackToTop = function(_param) {
4033
4140
  DialogTrigger: DialogTrigger,
4034
4141
  DropdownMenu: DropdownMenu,
4035
4142
  FileDropzone: FileDropzone,
4143
+ Input: Input,
4036
4144
  Label: Label,
4037
4145
  Loading: Loading,
4038
4146
  PhoneInput: PhoneInput,
@@ -4043,6 +4151,10 @@ var BackToTop = function(_param) {
4043
4151
  Skeleton: Skeleton,
4044
4152
  Slider: Slider,
4045
4153
  Switch: Switch,
4154
+ Tabs: Tabs,
4155
+ TabsContent: TabsContent,
4156
+ TabsList: TabsList,
4157
+ TabsTrigger: TabsTrigger,
4046
4158
  Textarea: Textarea,
4047
4159
  Toast: Toast,
4048
4160
  ToastAction: ToastAction,
package/dist/index.mjs CHANGED
@@ -3922,6 +3922,123 @@ var BackToTop = ({ ...props }) => {
3922
3922
  )
3923
3923
  );
3924
3924
  };
3925
+
3926
+ // components/elements/Input.tsx
3927
+ import React29 from "react";
3928
+ var Input = ({
3929
+ margin = "none",
3930
+ width = "full",
3931
+ preview = false,
3932
+ ...props
3933
+ }) => {
3934
+ let marginStyles = {
3935
+ none: "hawa-mb-0",
3936
+ normal: "hawa-mb-3",
3937
+ large: "hawa-mb-5"
3938
+ };
3939
+ let widthStyles = {
3940
+ small: "hawa-w-full hawa-max-w-2xs",
3941
+ normal: "hawa-w-1/2",
3942
+ full: "hawa-w-full"
3943
+ };
3944
+ let defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-2";
3945
+ let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-black dark:hawa-text-white ";
3946
+ return /* @__PURE__ */ React29.createElement(
3947
+ "div",
3948
+ {
3949
+ className: cn(
3950
+ defaultStyle,
3951
+ marginStyles[margin],
3952
+ widthStyles[width],
3953
+ props.className
3954
+ )
3955
+ },
3956
+ props.label && /* @__PURE__ */ React29.createElement(Label, null, props.label),
3957
+ props.isLoading ? /* @__PURE__ */ React29.createElement(Skeleton, { className: "hawa-h-[38px] hawa-w-full" }) : /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement(
3958
+ "div",
3959
+ {
3960
+ className: cn(
3961
+ "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
3962
+ preview ? "hawa-opacity-100" : "hawa-opacity-0"
3963
+ )
3964
+ }
3965
+ ), /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement("div", { className: cn("hawa-relative") }, props.icon && /* @__PURE__ */ React29.createElement("div", { className: "hawa-absolute hawa-left-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.icon), /* @__PURE__ */ React29.createElement(
3966
+ "input",
3967
+ {
3968
+ ...props,
3969
+ className: cn(
3970
+ defaultInputStyle,
3971
+ props.icon && "hawa-pl-10",
3972
+ "focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2",
3973
+ preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0"
3974
+ ),
3975
+ disabled: preview
3976
+ }
3977
+ )), props.iconInside && /* @__PURE__ */ React29.createElement("div", { className: "hawa-absolute hawa-right-1 hawa-top-[41px] hawa--translate-y-1/2" }, props.iconInside), props.helperText && /* @__PURE__ */ React29.createElement("p", { className: "hawa-mb-0 hawa-mt-0 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)))
3978
+ );
3979
+ };
3980
+
3981
+ // components/elements/Tabs.tsx
3982
+ import * as React30 from "react";
3983
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3984
+ var TabsContext = React30.createContext({ orientation: "vertical" });
3985
+ var Tabs = React30.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React30.createElement(
3986
+ TabsPrimitive.Root,
3987
+ {
3988
+ ref,
3989
+ className: cn(
3990
+ "hawa-flex hawa-gap-2",
3991
+ orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
3992
+ className
3993
+ ),
3994
+ ...props
3995
+ },
3996
+ /* @__PURE__ */ React30.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
3997
+ ));
3998
+ Tabs.displayName = TabsPrimitive.Root.displayName;
3999
+ var TabsList = React30.forwardRef(({ className, ...props }, ref) => {
4000
+ const { orientation } = React30.useContext(TabsContext);
4001
+ console.log("orient ", orientation);
4002
+ return /* @__PURE__ */ React30.createElement(
4003
+ TabsPrimitive.List,
4004
+ {
4005
+ ref,
4006
+ className: cn(
4007
+ "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
4008
+ orientation === "vertical" ? "hawa-flex-col" : "hawa-flex-row",
4009
+ className
4010
+ ),
4011
+ ...props
4012
+ }
4013
+ );
4014
+ });
4015
+ TabsList.displayName = TabsPrimitive.List.displayName;
4016
+ var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => {
4017
+ return /* @__PURE__ */ React30.createElement(
4018
+ TabsPrimitive.Trigger,
4019
+ {
4020
+ ref,
4021
+ className: cn(
4022
+ "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
4023
+ className
4024
+ ),
4025
+ ...props
4026
+ }
4027
+ );
4028
+ });
4029
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4030
+ var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React30.createElement(
4031
+ TabsPrimitive.Content,
4032
+ {
4033
+ ref,
4034
+ className: cn(
4035
+ "hawa-w-full hawa-ring-offset-hawa-background focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2",
4036
+ className
4037
+ ),
4038
+ ...props
4039
+ }
4040
+ ));
4041
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
3925
4042
  export {
3926
4043
  ActionCard,
3927
4044
  Alert,
@@ -3948,6 +4065,7 @@ export {
3948
4065
  DialogTrigger,
3949
4066
  DropdownMenu,
3950
4067
  FileDropzone,
4068
+ Input,
3951
4069
  Label,
3952
4070
  Loading,
3953
4071
  PhoneInput,
@@ -3958,6 +4076,10 @@ export {
3958
4076
  Skeleton,
3959
4077
  Slider,
3960
4078
  Switch,
4079
+ Tabs,
4080
+ TabsContent,
4081
+ TabsList,
4082
+ TabsTrigger,
3961
4083
  Textarea,
3962
4084
  Toast,
3963
4085
  ToastAction,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sikka/hawa",
3
- "version": "0.2.42-next",
3
+ "version": "0.2.43-next",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
@@ -32,6 +32,7 @@
32
32
  "@radix-ui/react-popover": "^1.0.7",
33
33
  "@radix-ui/react-slider": "^1.1.2",
34
34
  "@radix-ui/react-switch": "^1.0.3",
35
+ "@radix-ui/react-tabs": "^1.0.4",
35
36
  "@radix-ui/react-toast": "^1.1.5",
36
37
  "@radix-ui/react-tooltip": "^1.0.7",
37
38
  "@types/node": "20.8.0",