@sikka/hawa 0.36.1-next → 0.37.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 (75) hide show
  1. package/README.md +1 -5
  2. package/dist/appLayout/index.d.mts +0 -2
  3. package/dist/appLayout/index.d.ts +0 -2
  4. package/dist/appLayout/index.js +20 -7
  5. package/dist/appLayout/index.js.map +1 -1
  6. package/dist/appLayout/index.mjs +21 -8
  7. package/dist/appLayout/index.mjs.map +1 -1
  8. package/dist/blocks/auth/index.js +11 -14
  9. package/dist/blocks/auth/index.mjs +1 -1
  10. package/dist/blocks/feedback/index.js +11 -14
  11. package/dist/blocks/feedback/index.mjs +1 -1
  12. package/dist/blocks/index.js +295 -181
  13. package/dist/blocks/index.mjs +2 -2
  14. package/dist/blocks/misc/index.js +257 -143
  15. package/dist/blocks/misc/index.mjs +50 -16
  16. package/dist/blocks/pricing/index.js +94 -11
  17. package/dist/blocks/pricing/index.mjs +1 -1
  18. package/dist/{chunk-CJ57JBYA.mjs → chunk-I5YX7N76.mjs} +94 -11
  19. package/dist/{chunk-T33FXOHA.mjs → chunk-PO5OW6SQ.mjs} +151 -40
  20. package/dist/{chunk-HLYAX77R.mjs → chunk-SE5A4R76.mjs} +11 -14
  21. package/dist/{chunk-OPYDG34F.mjs → chunk-ZBUBNKF6.mjs} +93 -1
  22. package/dist/combobox/index.d.mts +1 -4
  23. package/dist/combobox/index.d.ts +1 -4
  24. package/dist/combobox/index.js +3 -2
  25. package/dist/combobox/index.js.map +1 -1
  26. package/dist/combobox/index.mjs +3 -2
  27. package/dist/combobox/index.mjs.map +1 -1
  28. package/dist/command/index.d.mts +4 -36
  29. package/dist/command/index.d.ts +4 -36
  30. package/dist/command/index.js +44 -6
  31. package/dist/command/index.js.map +1 -1
  32. package/dist/command/index.mjs +40 -4
  33. package/dist/command/index.mjs.map +1 -1
  34. package/dist/dialog/index.js +1 -1
  35. package/dist/dialog/index.js.map +1 -1
  36. package/dist/dialog/index.mjs +1 -1
  37. package/dist/dialog/index.mjs.map +1 -1
  38. package/dist/elements/index.d.mts +28 -2
  39. package/dist/elements/index.d.ts +28 -2
  40. package/dist/elements/index.js +438 -285
  41. package/dist/elements/index.mjs +42 -5
  42. package/dist/hooks/index.d.mts +25 -1
  43. package/dist/hooks/index.d.ts +25 -1
  44. package/dist/hooks/index.js +96 -0
  45. package/dist/hooks/index.mjs +9 -1
  46. package/dist/index-CoPyqTu8.d.mts +63 -0
  47. package/dist/index-CoPyqTu8.d.ts +63 -0
  48. package/dist/index.css +23 -0
  49. package/dist/index.d.mts +52 -4
  50. package/dist/index.d.ts +52 -4
  51. package/dist/index.js +965 -708
  52. package/dist/index.mjs +496 -245
  53. package/dist/layout/index.d.mts +0 -2
  54. package/dist/layout/index.d.ts +0 -2
  55. package/dist/layout/index.js +20 -7
  56. package/dist/layout/index.mjs +19 -8
  57. package/dist/phoneInput/index.js +11 -14
  58. package/dist/phoneInput/index.js.map +1 -1
  59. package/dist/phoneInput/index.mjs +11 -14
  60. package/dist/phoneInput/index.mjs.map +1 -1
  61. package/dist/scrollArea/index.js +94 -11
  62. package/dist/scrollArea/index.js.map +1 -1
  63. package/dist/scrollArea/index.mjs +94 -11
  64. package/dist/scrollArea/index.mjs.map +1 -1
  65. package/dist/select/index.js +11 -14
  66. package/dist/select/index.js.map +1 -1
  67. package/dist/select/index.mjs +11 -14
  68. package/dist/select/index.mjs.map +1 -1
  69. package/dist/tabs/index.d.mts +3 -1
  70. package/dist/tabs/index.d.ts +3 -1
  71. package/dist/tabs/index.js +189 -32
  72. package/dist/tabs/index.js.map +1 -1
  73. package/dist/tabs/index.mjs +184 -27
  74. package/dist/tabs/index.mjs.map +1 -1
  75. package/package.json +1 -1
@@ -141,8 +141,6 @@ type AppLayoutTypes$1 = {
141
141
  * - 'parent': Inherits width from parent element.
142
142
  */
143
143
  profileMenuWidth?: "default" | "sm" | "lg" | "parent";
144
- /** Event handler for drawer expansion. */
145
- onDrawerExpand?: (e: any) => void;
146
144
  /** Specifies additional actions for the drawer footer. */
147
145
  DrawerFooterActions?: any;
148
146
  /** Specifies the item that was clicked. */
@@ -141,8 +141,6 @@ type AppLayoutTypes$1 = {
141
141
  * - 'parent': Inherits width from parent element.
142
142
  */
143
143
  profileMenuWidth?: "default" | "sm" | "lg" | "parent";
144
- /** Event handler for drawer expansion. */
145
- onDrawerExpand?: (e: any) => void;
146
144
  /** Specifies additional actions for the drawer footer. */
147
145
  DrawerFooterActions?: any;
148
146
  /** Specifies the item that was clicked. */
@@ -686,6 +686,9 @@ function useClickOutside(handler, events, nodes) {
686
686
  return ref;
687
687
  }
688
688
 
689
+ // layout/appLayout/AppLayout.tsx
690
+ var Dialog = __toESM(require("@radix-ui/react-dialog"));
691
+
689
692
  // elements/button/Button.tsx
690
693
  var React12 = __toESM(require("react"));
691
694
  var import_class_variance_authority = require("class-variance-authority");
@@ -1534,7 +1537,7 @@ var AppLayout = ({
1534
1537
  ...props
1535
1538
  }) => {
1536
1539
  var _a, _b;
1537
- (0, import_react14.useLayoutEffect)(() => {
1540
+ (0, import_react14.useEffect)(() => {
1538
1541
  let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY);
1539
1542
  if (isDrawerOpen === null) {
1540
1543
  localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
@@ -1559,6 +1562,7 @@ var AppLayout = ({
1559
1562
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
1560
1563
  return savedState ? JSON.parse(savedState) : false;
1561
1564
  });
1565
+ const [container, setContainer] = import_react14.default.useState(null);
1562
1566
  const [keepDrawerOpen, setKeepDrawerOpen] = (0, import_react14.useState)(() => {
1563
1567
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
1564
1568
  return savedState ? JSON.parse(savedState) : false;
@@ -1578,6 +1582,8 @@ var AppLayout = ({
1578
1582
  setSize(window.innerWidth);
1579
1583
  if (window.innerWidth > 600) {
1580
1584
  setKeepDrawerOpen(false);
1585
+ } else {
1586
+ localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
1581
1587
  }
1582
1588
  };
1583
1589
  resize();
@@ -1607,7 +1613,7 @@ var AppLayout = ({
1607
1613
  {
1608
1614
  dir: direction,
1609
1615
  className: cn(
1610
- "hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
1616
+ "hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-10 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
1611
1617
  bordered && "hawa-border-b-[1px]"
1612
1618
  )
1613
1619
  },
@@ -1635,7 +1641,7 @@ var AppLayout = ({
1635
1641
  "div",
1636
1642
  {
1637
1643
  onClick: () => setOpenSideMenu(true),
1638
- className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
1644
+ className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all "
1639
1645
  },
1640
1646
  /* @__PURE__ */ import_react14.default.createElement(MenuIcon, null)
1641
1647
  ),
@@ -1680,13 +1686,13 @@ var AppLayout = ({
1680
1686
  )
1681
1687
  }
1682
1688
  ))
1683
- ), /* @__PURE__ */ import_react14.default.createElement(
1689
+ ), /* @__PURE__ */ import_react14.default.createElement("div", { ref: setContainer }, /* @__PURE__ */ import_react14.default.createElement(
1684
1690
  "div",
1685
1691
  {
1686
1692
  className: cn(
1687
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
1693
+ "hawa-fixed hawa-z-40 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
1688
1694
  isRTL ? "hawa-right-0" : "hawa-left-0",
1689
- bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
1695
+ bordered ? size > 600 ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : "" : ""
1690
1696
  ),
1691
1697
  style: {
1692
1698
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -1826,10 +1832,17 @@ var AppLayout = ({
1826
1832
  )
1827
1833
  ) : null
1828
1834
  )
1835
+ )), /* @__PURE__ */ import_react14.default.createElement(
1836
+ Dialog.Root,
1837
+ {
1838
+ open: size < 600 && openSideMenu,
1839
+ onOpenChange: setOpenSideMenu
1840
+ },
1841
+ /* @__PURE__ */ import_react14.default.createElement(Dialog.Portal, { container }, /* @__PURE__ */ import_react14.default.createElement(Dialog.Overlay, { className: "hawa-fixed hawa-inset-0 hawa-bg-foreground/20 hawa-backdrop-blur-[2px] data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out hawa-z-10 data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0" }))
1829
1842
  ), /* @__PURE__ */ import_react14.default.createElement(
1830
1843
  "div",
1831
1844
  {
1832
- className: "hawa-fixed -hawa-z-10 hawa-overflow-y-auto hawa-transition-all",
1845
+ className: "hawa-fixed hawa-overflow-y-auto hawa-transition-all hawa-z-0",
1833
1846
  style: isRTL ? {
1834
1847
  left: "0px",
1835
1848
  top: props.topBar ? "56px" : "0px",
@@ -394,7 +394,8 @@ var Navbar = ({
394
394
  };
395
395
 
396
396
  // layout/appLayout/AppLayout.tsx
397
- import React5, { useEffect, useLayoutEffect, useState as useState2 } from "react";
397
+ import React5, { useEffect, useState as useState2 } from "react";
398
+ import * as Dialog from "@radix-ui/react-dialog";
398
399
  var LOCAL_STORAGE_KEY = "@sikka/hawa/keep-drawer-open";
399
400
  var AppLayout = ({
400
401
  profileMenuWidth = "default",
@@ -412,7 +413,7 @@ var AppLayout = ({
412
413
  ...props
413
414
  }) => {
414
415
  var _a, _b;
415
- useLayoutEffect(() => {
416
+ useEffect(() => {
416
417
  let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY);
417
418
  if (isDrawerOpen === null) {
418
419
  localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
@@ -437,6 +438,7 @@ var AppLayout = ({
437
438
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
438
439
  return savedState ? JSON.parse(savedState) : false;
439
440
  });
441
+ const [container, setContainer] = React5.useState(null);
440
442
  const [keepDrawerOpen, setKeepDrawerOpen] = useState2(() => {
441
443
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
442
444
  return savedState ? JSON.parse(savedState) : false;
@@ -456,6 +458,8 @@ var AppLayout = ({
456
458
  setSize(window.innerWidth);
457
459
  if (window.innerWidth > 600) {
458
460
  setKeepDrawerOpen(false);
461
+ } else {
462
+ localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
459
463
  }
460
464
  };
461
465
  resize();
@@ -485,7 +489,7 @@ var AppLayout = ({
485
489
  {
486
490
  dir: direction,
487
491
  className: cn(
488
- "hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
492
+ "hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-10 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
489
493
  bordered && "hawa-border-b-[1px]"
490
494
  )
491
495
  },
@@ -513,7 +517,7 @@ var AppLayout = ({
513
517
  "div",
514
518
  {
515
519
  onClick: () => setOpenSideMenu(true),
516
- className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
520
+ className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all "
517
521
  },
518
522
  /* @__PURE__ */ React5.createElement(MenuIcon, null)
519
523
  ),
@@ -558,13 +562,13 @@ var AppLayout = ({
558
562
  )
559
563
  }
560
564
  ))
561
- ), /* @__PURE__ */ React5.createElement(
565
+ ), /* @__PURE__ */ React5.createElement("div", { ref: setContainer }, /* @__PURE__ */ React5.createElement(
562
566
  "div",
563
567
  {
564
568
  className: cn(
565
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
569
+ "hawa-fixed hawa-z-40 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
566
570
  isRTL ? "hawa-right-0" : "hawa-left-0",
567
- bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
571
+ bordered ? size > 600 ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : "" : ""
568
572
  ),
569
573
  style: {
570
574
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -704,10 +708,17 @@ var AppLayout = ({
704
708
  )
705
709
  ) : null
706
710
  )
711
+ )), /* @__PURE__ */ React5.createElement(
712
+ Dialog.Root,
713
+ {
714
+ open: size < 600 && openSideMenu,
715
+ onOpenChange: setOpenSideMenu
716
+ },
717
+ /* @__PURE__ */ React5.createElement(Dialog.Portal, { container }, /* @__PURE__ */ React5.createElement(Dialog.Overlay, { className: "hawa-fixed hawa-inset-0 hawa-bg-foreground/20 hawa-backdrop-blur-[2px] data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out hawa-z-10 data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0" }))
707
718
  ), /* @__PURE__ */ React5.createElement(
708
719
  "div",
709
720
  {
710
- className: "hawa-fixed -hawa-z-10 hawa-overflow-y-auto hawa-transition-all",
721
+ className: "hawa-fixed hawa-overflow-y-auto hawa-transition-all hawa-z-0",
711
722
  style: isRTL ? {
712
723
  left: "0px",
713
724
  top: props.topBar ? "56px" : "0px",
@@ -1954,6 +1954,10 @@ var Select = ({
1954
1954
  children
1955
1955
  );
1956
1956
  };
1957
+ let phoneCodeStyles = "hawa-min-w-[65px] hawa-text-right hawa-w-[100px] hawa-p-0 hawa-rounded-r-none hawa-h-[40px]";
1958
+ let selectContainerStyles = "hawa-rounded hawa-block hawa-w-full hawa-border hawa-transition-all hawa-bg-background hawa-p-0 hawa-px-1 hawa-text-sm";
1959
+ let selectPlaceholderStyles = "hawa-text-muted-foreground hawa-cursor-pointer hawa-px-1";
1960
+ let selectIndicatorContainerStyles = "hawa-cursor-pointer hawa-text-muted-foreground hawa-absolute hawa-end-0 hawa-top-[50%] hawa-bottom-[50%] ";
1957
1961
  return /* @__PURE__ */ import_react3.default.createElement(
1958
1962
  "div",
1959
1963
  {
@@ -1975,26 +1979,22 @@ var Select = ({
1975
1979
  props.controlClassNames
1976
1980
  ),
1977
1981
  container: () => cn(
1978
- "hawa-rounded ",
1979
- props.phoneCode && "hawa-min-w-[65px] hawa-text-right hawa-w-[100px] hawa-p-0 hawa-rounded-r-none hawa-h-[40px] ",
1980
- "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-0 hawa-px-1 hawa-text-sm",
1982
+ selectContainerStyles,
1983
+ props.phoneCode && phoneCodeStyles,
1981
1984
  props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer",
1982
1985
  props.isMulti && "hawa-ps-0 "
1983
1986
  ),
1984
- placeholder: () => "hawa-text-muted-foreground hawa-cursor-pointer hawa-px-1",
1987
+ placeholder: () => selectPlaceholderStyles,
1985
1988
  valueContainer: () => "hawa-text-foreground hawa-px-1 ",
1986
1989
  singleValue: () => "hawa-text-foreground",
1987
1990
  indicatorsContainer: () => cn(
1988
- "hawa-cursor-pointer hawa-text-muted-foreground hawa-absolute hawa-end-0 hawa-top-[50%] hawa-bottom-[50%] ",
1991
+ selectIndicatorContainerStyles,
1989
1992
  props.hideIndicator ? "hawa-invisible" : "hawa-px-1"
1990
1993
  )
1991
1994
  },
1992
1995
  unstyled: true,
1993
- components: props.hideIndicator ? {
1994
- Option,
1995
- Menu,
1996
- IndicatorsContainer: () => null
1997
- } : {
1996
+ autoFocus: false,
1997
+ components: props.hideIndicator ? { Option, Menu, IndicatorsContainer: () => null } : {
1998
1998
  Option,
1999
1999
  Menu,
2000
2000
  // Control: (e) => (
@@ -2016,10 +2016,7 @@ var Select = ({
2016
2016
  MultiValueContainer: (e) => /* @__PURE__ */ import_react3.default.createElement(
2017
2017
  "div",
2018
2018
  {
2019
- className: cn(
2020
- // e.className,
2021
- "hawa-rounded hawa-border hawa-p-1 hawa-px-2 hawa-flex hawa-flex-row"
2022
- ),
2019
+ className: "hawa-rounded hawa-border hawa-p-1 hawa-px-2 hawa-flex hawa-flex-row",
2023
2020
  ...e
2024
2021
  }
2025
2022
  )