@customafk/lunas-ui 0.0.0-v → 0.0.0-x

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.
@@ -202,12 +202,13 @@ var cn = (...inputs) => {
202
202
  };
203
203
 
204
204
  // packages/Atoms/Button/index.tsx
205
+ import { motion } from "framer-motion";
205
206
  import { jsx, jsxs } from "react/jsx-runtime";
206
207
  var Button = memo(
207
208
  forwardRef(
208
209
  ({ className, variant, size, icon, asChild = false, children, ...props }, reference) => {
209
210
  const Comp = asChild ? Slot : "button";
210
- return /* @__PURE__ */ jsxs(
211
+ return /* @__PURE__ */ jsx(motion.div, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsxs(
211
212
  Comp,
212
213
  {
213
214
  className: cn(buttonVariants({ variant, size, className })),
@@ -218,7 +219,7 @@ var Button = memo(
218
219
  /* @__PURE__ */ jsx(Slottable, { children })
219
220
  ]
220
221
  }
221
- );
222
+ ) });
222
223
  }
223
224
  )
224
225
  );
@@ -1617,46 +1618,57 @@ var WhiteLogoWithIcon = (props) => {
1617
1618
  WhiteLogoWithIcon.displayName = "WhiteLogoWithIcon";
1618
1619
 
1619
1620
  // packages/Atoms/Navbar/index.tsx
1621
+ import { motion as motion2 } from "framer-motion";
1620
1622
  import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
1621
1623
  var NavbarItem = memo3(
1622
1624
  forwardRef3(
1623
1625
  ({ enableLeftIcon = false, isActive = false, icon, className, children, ...props }, reference) => {
1624
- return /* @__PURE__ */ jsxs19(
1625
- "div",
1626
+ return /* @__PURE__ */ jsx37(
1627
+ motion2.div,
1626
1628
  {
1627
- ref: reference,
1628
- className: cn(
1629
- ["group"],
1630
- [
1631
- "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1632
- ],
1633
- ["select-none text-ui-p font-medium"],
1634
- ["hover:cursor-pointer"],
1635
- ["transition-colors duration-150 ease-in-out"],
1636
- [
1637
- 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0'
1638
- ],
1629
+ whileHover: {
1630
+ opacity: 0.8
1631
+ },
1632
+ whileTap: { scale: 0.9 },
1633
+ children: /* @__PURE__ */ jsxs19(
1634
+ "div",
1639
1635
  {
1640
- "text-ui-primary-default": isActive
1641
- },
1642
- className
1643
- ),
1644
- ...props,
1645
- children: [
1646
- icon,
1647
- /* @__PURE__ */ jsx37("p", { children }),
1648
- Boolean(enableLeftIcon) && /* @__PURE__ */ jsx37(
1649
- Lucide2ChevronDownIcon_default,
1650
- {
1651
- className: cn(
1652
- ["mt-0.5 size-4"],
1653
- ["transition duration-300 ease-in-out"],
1654
- ["group-hover:rotate-180"]
1655
- ),
1656
- color: isActive ? "currentColor" : "#434349"
1657
- }
1658
- )
1659
- ]
1636
+ ref: reference,
1637
+ className: cn(
1638
+ ["group"],
1639
+ [
1640
+ "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1641
+ ],
1642
+ ["select-none text-ui-p font-medium"],
1643
+ ["hover:cursor-pointer"],
1644
+ ["transition-colors duration-150 ease-in-out"],
1645
+ // [
1646
+ // 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0',
1647
+ // ],
1648
+ {
1649
+ "text-ui-primary-default": isActive
1650
+ },
1651
+ className
1652
+ ),
1653
+ ...props,
1654
+ children: [
1655
+ icon,
1656
+ /* @__PURE__ */ jsx37("p", { children }),
1657
+ /* @__PURE__ */ jsx37(motion2.div, { className: "absolute inset-x-0 top-11 z-50 h-1 -translate-x-full bg-ui-primary-default transition-all duration-300 ease-in-out group-hover:translate-x-0" }),
1658
+ Boolean(enableLeftIcon) && /* @__PURE__ */ jsx37(
1659
+ Lucide2ChevronDownIcon_default,
1660
+ {
1661
+ className: cn(
1662
+ ["mt-0.5 size-4"],
1663
+ ["transition duration-300 ease-in-out"],
1664
+ ["group-hover:rotate-180"]
1665
+ ),
1666
+ color: isActive ? "currentColor" : "#434349"
1667
+ }
1668
+ )
1669
+ ]
1670
+ }
1671
+ )
1660
1672
  }
1661
1673
  );
1662
1674
  }
@@ -1668,6 +1680,7 @@ NavbarItem.displayName = "NavbarItem";
1668
1680
  import React2 from "react";
1669
1681
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1670
1682
  import { Check, Circle } from "lucide-react";
1683
+ import { motion as motion3 } from "framer-motion";
1671
1684
  import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
1672
1685
  var { Root: DropdownMenu } = DropdownMenuPrimitive;
1673
1686
  var { Group: DropdownMenuGroup } = DropdownMenuPrimitive;
@@ -1675,17 +1688,24 @@ var { Portal: DropdownMenuPortal } = DropdownMenuPrimitive;
1675
1688
  var { Sub: DropdownMenuSub } = DropdownMenuPrimitive;
1676
1689
  var { RadioGroup: DropdownMenuRadioGroup } = DropdownMenuPrimitive;
1677
1690
  var DropdownMenuTrigger = React2.forwardRef(({ className = "", children, ...props }, reference) => /* @__PURE__ */ jsx38(
1678
- DropdownMenuPrimitive.Trigger,
1691
+ motion3.div,
1679
1692
  {
1680
- ...props,
1681
- ref: reference,
1682
- className: cn(
1683
- "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1684
- "hover:bg-neutral-200",
1685
- "transition-colors duration-300 ease-in-out",
1686
- className
1687
- ),
1688
- children
1693
+ whileHover: {
1694
+ backgroundColor: "rgba(0, 0, 0, 0.05)"
1695
+ },
1696
+ className: "rounded-lg",
1697
+ children: /* @__PURE__ */ jsx38(
1698
+ DropdownMenuPrimitive.Trigger,
1699
+ {
1700
+ ...props,
1701
+ ref: reference,
1702
+ className: cn(
1703
+ "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1704
+ className
1705
+ ),
1706
+ children
1707
+ }
1708
+ )
1689
1709
  }
1690
1710
  ));
1691
1711
  DropdownMenuTrigger.displayName = DropdownMenuPrimitive.Trigger.displayName;
@@ -1730,6 +1750,7 @@ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayNam
1730
1750
  var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, reference) => /* @__PURE__ */ jsx38(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx38(
1731
1751
  DropdownMenuPrimitive.Content,
1732
1752
  {
1753
+ ...props,
1733
1754
  ref: reference,
1734
1755
  sideOffset,
1735
1756
  className: cn(
@@ -1745,12 +1766,11 @@ var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...pro
1745
1766
  "data-[side=bottom]:slide-in-from-top-2",
1746
1767
  "data-[side=left]:slide-in-from-right-2",
1747
1768
  className
1748
- ),
1749
- ...props
1769
+ )
1750
1770
  }
1751
1771
  ) }));
1752
1772
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1753
- var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx38(
1773
+ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx38(motion3.div, { whileHover: { scale: 1.05 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsx38(
1754
1774
  DropdownMenuPrimitive.Item,
1755
1775
  {
1756
1776
  ref: reference,
@@ -1765,7 +1785,7 @@ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, refere
1765
1785
  ),
1766
1786
  ...props
1767
1787
  }
1768
- ));
1788
+ ) }));
1769
1789
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1770
1790
  var DropdownMenuCheckboxItem = React2.forwardRef(({ className, children, checked, ...props }, reference) => /* @__PURE__ */ jsxs20(
1771
1791
  DropdownMenuPrimitive.CheckboxItem,
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { I as IIconProps } from '../types-BUTht_HJ.js';
2
+ import { I as IIconProps } from '../types-DdUenP1k.js';
3
3
  import 'react';
4
4
 
5
5
  declare const AvatarIcon: {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HTMLAttributes } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { T as TUserSettingSelect } from '../types-BUTht_HJ.js';
4
+ import { a as TUserSettingSelect } from '../types-DdUenP1k.js';
5
5
  import { z } from 'zod';
6
6
 
7
7
  interface IProps {
@@ -202,12 +202,13 @@ var cn = (...inputs) => {
202
202
  };
203
203
 
204
204
  // packages/Atoms/Button/index.tsx
205
+ import { motion } from "framer-motion";
205
206
  import { jsx, jsxs } from "react/jsx-runtime";
206
207
  var Button = memo(
207
208
  forwardRef(
208
209
  ({ className, variant, size, icon, asChild = false, children, ...props }, reference) => {
209
210
  const Comp = asChild ? Slot : "button";
210
- return /* @__PURE__ */ jsxs(
211
+ return /* @__PURE__ */ jsx(motion.div, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsxs(
211
212
  Comp,
212
213
  {
213
214
  className: cn(buttonVariants({ variant, size, className })),
@@ -218,7 +219,7 @@ var Button = memo(
218
219
  /* @__PURE__ */ jsx(Slottable, { children })
219
220
  ]
220
221
  }
221
- );
222
+ ) });
222
223
  }
223
224
  )
224
225
  );
@@ -1628,46 +1629,57 @@ var WhiteLogoWithIcon = (props) => {
1628
1629
  WhiteLogoWithIcon.displayName = "WhiteLogoWithIcon";
1629
1630
 
1630
1631
  // packages/Atoms/Navbar/index.tsx
1632
+ import { motion as motion2 } from "framer-motion";
1631
1633
  import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
1632
1634
  var NavbarItem = memo3(
1633
1635
  forwardRef3(
1634
1636
  ({ enableLeftIcon = false, isActive = false, icon, className, children, ...props }, reference) => {
1635
- return /* @__PURE__ */ jsxs19(
1636
- "div",
1637
+ return /* @__PURE__ */ jsx37(
1638
+ motion2.div,
1637
1639
  {
1638
- ref: reference,
1639
- className: cn(
1640
- ["group"],
1641
- [
1642
- "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1643
- ],
1644
- ["select-none text-ui-p font-medium"],
1645
- ["hover:cursor-pointer"],
1646
- ["transition-colors duration-150 ease-in-out"],
1647
- [
1648
- 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0'
1649
- ],
1650
- {
1651
- "text-ui-primary-default": isActive
1652
- },
1653
- className
1654
- ),
1655
- ...props,
1656
- children: [
1657
- icon,
1658
- /* @__PURE__ */ jsx37("p", { children }),
1659
- Boolean(enableLeftIcon) && /* @__PURE__ */ jsx37(
1660
- Lucide2ChevronDownIcon_default,
1661
- {
1662
- className: cn(
1663
- ["mt-0.5 size-4"],
1664
- ["transition duration-300 ease-in-out"],
1665
- ["group-hover:rotate-180"]
1666
- ),
1667
- color: isActive ? "currentColor" : "#434349"
1668
- }
1669
- )
1670
- ]
1640
+ whileHover: {
1641
+ opacity: 0.8
1642
+ },
1643
+ whileTap: { scale: 0.9 },
1644
+ children: /* @__PURE__ */ jsxs19(
1645
+ "div",
1646
+ {
1647
+ ref: reference,
1648
+ className: cn(
1649
+ ["group"],
1650
+ [
1651
+ "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1652
+ ],
1653
+ ["select-none text-ui-p font-medium"],
1654
+ ["hover:cursor-pointer"],
1655
+ ["transition-colors duration-150 ease-in-out"],
1656
+ // [
1657
+ // 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0',
1658
+ // ],
1659
+ {
1660
+ "text-ui-primary-default": isActive
1661
+ },
1662
+ className
1663
+ ),
1664
+ ...props,
1665
+ children: [
1666
+ icon,
1667
+ /* @__PURE__ */ jsx37("p", { children }),
1668
+ /* @__PURE__ */ jsx37(motion2.div, { className: "absolute inset-x-0 top-11 z-50 h-1 -translate-x-full bg-ui-primary-default transition-all duration-300 ease-in-out group-hover:translate-x-0" }),
1669
+ Boolean(enableLeftIcon) && /* @__PURE__ */ jsx37(
1670
+ Lucide2ChevronDownIcon_default,
1671
+ {
1672
+ className: cn(
1673
+ ["mt-0.5 size-4"],
1674
+ ["transition duration-300 ease-in-out"],
1675
+ ["group-hover:rotate-180"]
1676
+ ),
1677
+ color: isActive ? "currentColor" : "#434349"
1678
+ }
1679
+ )
1680
+ ]
1681
+ }
1682
+ )
1671
1683
  }
1672
1684
  );
1673
1685
  }
@@ -1679,6 +1691,7 @@ NavbarItem.displayName = "NavbarItem";
1679
1691
  import React2 from "react";
1680
1692
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1681
1693
  import { Check, Circle } from "lucide-react";
1694
+ import { motion as motion3 } from "framer-motion";
1682
1695
  import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
1683
1696
  var { Root: DropdownMenu } = DropdownMenuPrimitive;
1684
1697
  var { Group: DropdownMenuGroup } = DropdownMenuPrimitive;
@@ -1686,17 +1699,24 @@ var { Portal: DropdownMenuPortal } = DropdownMenuPrimitive;
1686
1699
  var { Sub: DropdownMenuSub } = DropdownMenuPrimitive;
1687
1700
  var { RadioGroup: DropdownMenuRadioGroup } = DropdownMenuPrimitive;
1688
1701
  var DropdownMenuTrigger = React2.forwardRef(({ className = "", children, ...props }, reference) => /* @__PURE__ */ jsx38(
1689
- DropdownMenuPrimitive.Trigger,
1702
+ motion3.div,
1690
1703
  {
1691
- ...props,
1692
- ref: reference,
1693
- className: cn(
1694
- "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1695
- "hover:bg-neutral-200",
1696
- "transition-colors duration-300 ease-in-out",
1697
- className
1698
- ),
1699
- children
1704
+ whileHover: {
1705
+ backgroundColor: "rgba(0, 0, 0, 0.05)"
1706
+ },
1707
+ className: "rounded-lg",
1708
+ children: /* @__PURE__ */ jsx38(
1709
+ DropdownMenuPrimitive.Trigger,
1710
+ {
1711
+ ...props,
1712
+ ref: reference,
1713
+ className: cn(
1714
+ "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1715
+ className
1716
+ ),
1717
+ children
1718
+ }
1719
+ )
1700
1720
  }
1701
1721
  ));
1702
1722
  DropdownMenuTrigger.displayName = DropdownMenuPrimitive.Trigger.displayName;
@@ -1741,6 +1761,7 @@ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayNam
1741
1761
  var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, reference) => /* @__PURE__ */ jsx38(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx38(
1742
1762
  DropdownMenuPrimitive.Content,
1743
1763
  {
1764
+ ...props,
1744
1765
  ref: reference,
1745
1766
  sideOffset,
1746
1767
  className: cn(
@@ -1756,12 +1777,11 @@ var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...pro
1756
1777
  "data-[side=bottom]:slide-in-from-top-2",
1757
1778
  "data-[side=left]:slide-in-from-right-2",
1758
1779
  className
1759
- ),
1760
- ...props
1780
+ )
1761
1781
  }
1762
1782
  ) }));
1763
1783
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1764
- var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx38(
1784
+ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx38(motion3.div, { whileHover: { scale: 1.05 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsx38(
1765
1785
  DropdownMenuPrimitive.Item,
1766
1786
  {
1767
1787
  ref: reference,
@@ -1776,7 +1796,7 @@ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, refere
1776
1796
  ),
1777
1797
  ...props
1778
1798
  }
1779
- ));
1799
+ ) }));
1780
1800
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1781
1801
  var DropdownMenuCheckboxItem = React2.forwardRef(({ className, children, checked, ...props }, reference) => /* @__PURE__ */ jsxs20(
1782
1802
  DropdownMenuPrimitive.CheckboxItem,
@@ -2691,31 +2711,20 @@ var Flex_default = Flex;
2691
2711
  import { jsx as jsx45, jsxs as jsxs23 } from "react/jsx-runtime";
2692
2712
  var UserAvatarTriggerButton = memo6(
2693
2713
  forwardRef8(({ user, focused, ...props }, reference) => {
2694
- return /* @__PURE__ */ jsxs23(
2695
- Flex_default,
2696
- {
2697
- px: 2,
2698
- py: 1,
2699
- gap: 2,
2700
- ref: reference,
2701
- ...props,
2702
- className: String(focused ? "bg-neutral-200" : ""),
2703
- children: [
2704
- /* @__PURE__ */ jsx45(UserAvatar_default, { size: 32, fullname: user.fullname, email: user.email, src: user.avatar }),
2705
- /* @__PURE__ */ jsx45("p", { className: "text-ui-p font-semibold text-ui-text-800", children: user.username }),
2706
- /* @__PURE__ */ jsx45(
2707
- Lucide2ChevronDownIcon_default,
2708
- {
2709
- size: 16,
2710
- className: cn(
2711
- "transform transition-transform duration-300 ease-in-out",
2712
- focused ? "rotate-180" : "rotate-0"
2713
- )
2714
- }
2714
+ return /* @__PURE__ */ jsxs23(Flex_default, { px: "2", py: "1", gap: "3", ref: reference, ...props, children: [
2715
+ /* @__PURE__ */ jsx45(UserAvatar_default, { size: 32, fullname: user.fullname, email: user.email, src: user.avatar }),
2716
+ /* @__PURE__ */ jsx45("p", { className: "text-ui-p font-semibold text-ui-text-800", children: user.username }),
2717
+ /* @__PURE__ */ jsx45(
2718
+ Lucide2ChevronDownIcon_default,
2719
+ {
2720
+ size: 16,
2721
+ className: cn(
2722
+ "transform transition-transform duration-300 ease-in-out",
2723
+ focused ? "rotate-180" : "rotate-0"
2715
2724
  )
2716
- ]
2717
- }
2718
- );
2725
+ }
2726
+ )
2727
+ ] });
2719
2728
  })
2720
2729
  );
2721
2730
  UserAvatarTriggerButton.displayName = "UserAvatarTriggerButton";
@@ -2914,6 +2923,7 @@ import {
2914
2923
  } from "react";
2915
2924
 
2916
2925
  // packages/Molecules/AuthenForm/components/EmailInput/index.tsx
2926
+ import { motion as motion4 } from "framer-motion";
2917
2927
  import {
2918
2928
  forwardRef as forwardRef10,
2919
2929
  memo as memo9,
@@ -2980,7 +2990,7 @@ var EmailInput = memo9(
2980
2990
  );
2981
2991
  }, [errorMessage]);
2982
2992
  return /* @__PURE__ */ jsxs25(
2983
- "div",
2993
+ motion4.div,
2984
2994
  {
2985
2995
  ref: reference,
2986
2996
  className: cn(
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { HTMLAttributes } from 'react';
4
- import { a as TUser, T as TUserSettingSelect } from '../types-BUTht_HJ.js';
4
+ import { T as TUser, a as TUserSettingSelect } from '../types-DdUenP1k.js';
5
5
 
6
6
  type THeaderNav = 'CATEGORY' | 'SERIES' | 'GUIDE' | 'NEWS' | null;
7
7
  interface IHeaderProps extends HTMLAttributes<HTMLHeadElement> {
@@ -263,12 +263,13 @@ var cn = (...inputs) => {
263
263
  };
264
264
 
265
265
  // packages/Atoms/Button/index.tsx
266
+ import { motion } from "framer-motion";
266
267
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
267
268
  var Button = memo(
268
269
  forwardRef(
269
270
  ({ className, variant, size, icon, asChild = false, children, ...props }, reference) => {
270
271
  const Comp = asChild ? Slot : "button";
271
- return /* @__PURE__ */ jsxs2(
272
+ return /* @__PURE__ */ jsx2(motion.div, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsxs2(
272
273
  Comp,
273
274
  {
274
275
  className: cn(buttonVariants({ variant, size, className })),
@@ -279,7 +280,7 @@ var Button = memo(
279
280
  /* @__PURE__ */ jsx2(Slottable, { children })
280
281
  ]
281
282
  }
282
- );
283
+ ) });
283
284
  }
284
285
  )
285
286
  );
@@ -1694,46 +1695,57 @@ var WhiteLogoWithIcon = (props) => {
1694
1695
  WhiteLogoWithIcon.displayName = "WhiteLogoWithIcon";
1695
1696
 
1696
1697
  // packages/Atoms/Navbar/index.tsx
1698
+ import { motion as motion2 } from "framer-motion";
1697
1699
  import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
1698
1700
  var NavbarItem = memo3(
1699
1701
  forwardRef3(
1700
1702
  ({ enableLeftIcon = false, isActive = false, icon, className, children, ...props }, reference) => {
1701
- return /* @__PURE__ */ jsxs20(
1702
- "div",
1703
+ return /* @__PURE__ */ jsx38(
1704
+ motion2.div,
1703
1705
  {
1704
- ref: reference,
1705
- className: cn(
1706
- ["group"],
1707
- [
1708
- "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1709
- ],
1710
- ["select-none text-ui-p font-medium"],
1711
- ["hover:cursor-pointer"],
1712
- ["transition-colors duration-150 ease-in-out"],
1713
- [
1714
- 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0'
1715
- ],
1716
- {
1717
- "text-ui-primary-default": isActive
1718
- },
1719
- className
1720
- ),
1721
- ...props,
1722
- children: [
1723
- icon,
1724
- /* @__PURE__ */ jsx38("p", { children }),
1725
- Boolean(enableLeftIcon) && /* @__PURE__ */ jsx38(
1726
- Lucide2ChevronDownIcon_default,
1727
- {
1728
- className: cn(
1729
- ["mt-0.5 size-4"],
1730
- ["transition duration-300 ease-in-out"],
1731
- ["group-hover:rotate-180"]
1732
- ),
1733
- color: isActive ? "currentColor" : "#434349"
1734
- }
1735
- )
1736
- ]
1706
+ whileHover: {
1707
+ opacity: 0.8
1708
+ },
1709
+ whileTap: { scale: 0.9 },
1710
+ children: /* @__PURE__ */ jsxs20(
1711
+ "div",
1712
+ {
1713
+ ref: reference,
1714
+ className: cn(
1715
+ ["group"],
1716
+ [
1717
+ "relative flex h-fit w-fit items-center gap-1 overflow-x-hidden overflow-y-hidden px-2 pb-3 pt-3"
1718
+ ],
1719
+ ["select-none text-ui-p font-medium"],
1720
+ ["hover:cursor-pointer"],
1721
+ ["transition-colors duration-150 ease-in-out"],
1722
+ // [
1723
+ // 'before:absolute before:inset-x-0 before:top-11 before:z-10 before:h-1 before:-translate-x-full before:bg-ui-primary-default before:transition-all before:duration-300 before:ease-in-out before:content-[""] before:hover:translate-x-0',
1724
+ // ],
1725
+ {
1726
+ "text-ui-primary-default": isActive
1727
+ },
1728
+ className
1729
+ ),
1730
+ ...props,
1731
+ children: [
1732
+ icon,
1733
+ /* @__PURE__ */ jsx38("p", { children }),
1734
+ /* @__PURE__ */ jsx38(motion2.div, { className: "absolute inset-x-0 top-11 z-50 h-1 -translate-x-full bg-ui-primary-default transition-all duration-300 ease-in-out group-hover:translate-x-0" }),
1735
+ Boolean(enableLeftIcon) && /* @__PURE__ */ jsx38(
1736
+ Lucide2ChevronDownIcon_default,
1737
+ {
1738
+ className: cn(
1739
+ ["mt-0.5 size-4"],
1740
+ ["transition duration-300 ease-in-out"],
1741
+ ["group-hover:rotate-180"]
1742
+ ),
1743
+ color: isActive ? "currentColor" : "#434349"
1744
+ }
1745
+ )
1746
+ ]
1747
+ }
1748
+ )
1737
1749
  }
1738
1750
  );
1739
1751
  }
@@ -1746,6 +1758,7 @@ var Navbar_default = NavbarItem;
1746
1758
  import React2 from "react";
1747
1759
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1748
1760
  import { Check, Circle } from "lucide-react";
1761
+ import { motion as motion3 } from "framer-motion";
1749
1762
  import { jsx as jsx39, jsxs as jsxs21 } from "react/jsx-runtime";
1750
1763
  var { Root: DropdownMenu } = DropdownMenuPrimitive;
1751
1764
  var { Group: DropdownMenuGroup } = DropdownMenuPrimitive;
@@ -1753,17 +1766,24 @@ var { Portal: DropdownMenuPortal } = DropdownMenuPrimitive;
1753
1766
  var { Sub: DropdownMenuSub } = DropdownMenuPrimitive;
1754
1767
  var { RadioGroup: DropdownMenuRadioGroup } = DropdownMenuPrimitive;
1755
1768
  var DropdownMenuTrigger = React2.forwardRef(({ className = "", children, ...props }, reference) => /* @__PURE__ */ jsx39(
1756
- DropdownMenuPrimitive.Trigger,
1769
+ motion3.div,
1757
1770
  {
1758
- ...props,
1759
- ref: reference,
1760
- className: cn(
1761
- "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1762
- "hover:bg-neutral-200",
1763
- "transition-colors duration-300 ease-in-out",
1764
- className
1765
- ),
1766
- children
1771
+ whileHover: {
1772
+ backgroundColor: "rgba(0, 0, 0, 0.05)"
1773
+ },
1774
+ className: "rounded-lg",
1775
+ children: /* @__PURE__ */ jsx39(
1776
+ DropdownMenuPrimitive.Trigger,
1777
+ {
1778
+ ...props,
1779
+ ref: reference,
1780
+ className: cn(
1781
+ "flex select-none gap-x-2 overflow-hidden rounded-lg px-2 py-1 outline-none",
1782
+ className
1783
+ ),
1784
+ children
1785
+ }
1786
+ )
1767
1787
  }
1768
1788
  ));
1769
1789
  DropdownMenuTrigger.displayName = DropdownMenuPrimitive.Trigger.displayName;
@@ -1808,6 +1828,7 @@ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayNam
1808
1828
  var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, reference) => /* @__PURE__ */ jsx39(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx39(
1809
1829
  DropdownMenuPrimitive.Content,
1810
1830
  {
1831
+ ...props,
1811
1832
  ref: reference,
1812
1833
  sideOffset,
1813
1834
  className: cn(
@@ -1823,12 +1844,11 @@ var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...pro
1823
1844
  "data-[side=bottom]:slide-in-from-top-2",
1824
1845
  "data-[side=left]:slide-in-from-right-2",
1825
1846
  className
1826
- ),
1827
- ...props
1847
+ )
1828
1848
  }
1829
1849
  ) }));
1830
1850
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1831
- var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx39(
1851
+ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, reference) => /* @__PURE__ */ jsx39(motion3.div, { whileHover: { scale: 1.05 }, whileTap: { scale: 0.9 }, children: /* @__PURE__ */ jsx39(
1832
1852
  DropdownMenuPrimitive.Item,
1833
1853
  {
1834
1854
  ref: reference,
@@ -1843,7 +1863,7 @@ var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, refere
1843
1863
  ),
1844
1864
  ...props
1845
1865
  }
1846
- ));
1866
+ ) }));
1847
1867
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1848
1868
  var DropdownMenuCheckboxItem = React2.forwardRef(({ className, children, checked, ...props }, reference) => /* @__PURE__ */ jsxs21(
1849
1869
  DropdownMenuPrimitive.CheckboxItem,
@@ -2915,31 +2935,20 @@ import { forwardRef as forwardRef9, memo as memo7 } from "react";
2915
2935
  import { jsx as jsx48, jsxs as jsxs24 } from "react/jsx-runtime";
2916
2936
  var UserAvatarTriggerButton = memo7(
2917
2937
  forwardRef9(({ user, focused, ...props }, reference) => {
2918
- return /* @__PURE__ */ jsxs24(
2919
- Flex_default,
2920
- {
2921
- px: 2,
2922
- py: 1,
2923
- gap: 2,
2924
- ref: reference,
2925
- ...props,
2926
- className: String(focused ? "bg-neutral-200" : ""),
2927
- children: [
2928
- /* @__PURE__ */ jsx48(UserAvatar_default, { size: 32, fullname: user.fullname, email: user.email, src: user.avatar }),
2929
- /* @__PURE__ */ jsx48("p", { className: "text-ui-p font-semibold text-ui-text-800", children: user.username }),
2930
- /* @__PURE__ */ jsx48(
2931
- Lucide2ChevronDownIcon_default,
2932
- {
2933
- size: 16,
2934
- className: cn(
2935
- "transform transition-transform duration-300 ease-in-out",
2936
- focused ? "rotate-180" : "rotate-0"
2937
- )
2938
- }
2938
+ return /* @__PURE__ */ jsxs24(Flex_default, { px: "2", py: "1", gap: "3", ref: reference, ...props, children: [
2939
+ /* @__PURE__ */ jsx48(UserAvatar_default, { size: 32, fullname: user.fullname, email: user.email, src: user.avatar }),
2940
+ /* @__PURE__ */ jsx48("p", { className: "text-ui-p font-semibold text-ui-text-800", children: user.username }),
2941
+ /* @__PURE__ */ jsx48(
2942
+ Lucide2ChevronDownIcon_default,
2943
+ {
2944
+ size: 16,
2945
+ className: cn(
2946
+ "transform transition-transform duration-300 ease-in-out",
2947
+ focused ? "rotate-180" : "rotate-0"
2939
2948
  )
2940
- ]
2941
- }
2942
- );
2949
+ }
2950
+ )
2951
+ ] });
2943
2952
  })
2944
2953
  );
2945
2954
  UserAvatarTriggerButton.displayName = "UserAvatarTriggerButton";
@@ -3006,6 +3015,7 @@ import {
3006
3015
  } from "react";
3007
3016
 
3008
3017
  // packages/Molecules/AuthenForm/components/EmailInput/index.tsx
3018
+ import { motion as motion4 } from "framer-motion";
3009
3019
  import {
3010
3020
  forwardRef as forwardRef10,
3011
3021
  memo as memo9,
@@ -3072,7 +3082,7 @@ var EmailInput = memo9(
3072
3082
  );
3073
3083
  }, [errorMessage]);
3074
3084
  return /* @__PURE__ */ jsxs26(
3075
- "div",
3085
+ motion4.div,
3076
3086
  {
3077
3087
  ref: reference,
3078
3088
  className: cn(
@@ -15,4 +15,4 @@ type TUser = {
15
15
  };
16
16
  type TUserSettingSelect = 'FAVORITE' | 'PROFILE' | 'ADDRESS' | 'LOGOUT';
17
17
 
18
- export type { IIconProps as I, TUserSettingSelect as T, TUser as a };
18
+ export type { IIconProps as I, TUser as T, TUserSettingSelect as a };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
3
  "private": false,
4
- "version": "0.0.0-v",
4
+ "version": "0.0.0-x",
5
5
  "type": "module",
6
6
  "homepage": "https://docs.customafk.com",
7
7
  "repository": {
@@ -119,6 +119,7 @@
119
119
  "@radix-ui/react-toast": "^1.2.1",
120
120
  "class-variance-authority": "^0.7.0",
121
121
  "clsx": "^2.1.1",
122
+ "framer-motion": "^11.11.8",
122
123
  "lucide-react": "^0.424.0",
123
124
  "react": "^18.3.1",
124
125
  "react-dom": "^18.3.1",