{"version":3,"file":"index.cjs","sources":["../../../src/components/Appbar/index.tsx"],"sourcesContent":["import { cn } from \"@/components/utils\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { ArrowLeft, Menu } from \"lucide-react\";\nimport React from \"react\";\nimport Button from \"../Button\";\n\nconst AppBarVariants = cva(\n  \"flex flex-1 items-center justify-between h-14 shadow-md px-3\",\n  {\n    variants: {\n      varient: {\n        default: \"bg-card [&>*]:text-forground [&_.subtitle]:text-subline\",\n        primary: \"bg-primary [&>*]:text-white/90 [&_.subtitle]:text-white/60\",\n        secondary: \"bg-secondary [&>*]:text-white [&_.subtitle]:text-white/75\",\n      },\n      position: {\n        fixed: \"fixed top-0 left-0 right-0 z-50\",\n      },\n    },\n    defaultVariants: {\n      varient: \"default\",\n      position: \"fixed\",\n    },\n  }\n);\n\nexport interface AppBarProps\n  extends React.HTMLAttributes<HTMLHeadingElement>,\n    VariantProps<typeof AppBarVariants> {}\n\n/**\n * App bar container\n * @returns AppBar JSX\n */\nconst AppBar = React.forwardRef<HTMLHeadingElement, AppBarProps>(\n  ({ className, varient, position, ...props }, ref) => (\n    <header\n      ref={ref}\n      className={cn(AppBarVariants({ className, varient, position }))}\n      {...props}\n    />\n  )\n);\n\nAppBar.displayName = \"AppBar\";\n\nexport interface ToolbarProps extends React.HTMLAttributes<HTMLElement> {\n  onMenuClick?: React.MouseEventHandler<HTMLButtonElement>;\n  showBackButton?: boolean;\n  /** user should send back action */\n  onBackClick?: React.MouseEventHandler<HTMLButtonElement>;\n  /** Menu label string */\n  pageTitle?: string;\n  /** Selected menu boolean */\n  subtitle?: string;\n  reactNode?: React.ReactNode;\n}\n\n/**\n * App toolbar items like back button, title, subtitle or any react node\n * @returns Toolbar JSX\n */\nconst Toolbar = React.forwardRef<HTMLButtonElement, ToolbarProps>(\n  (\n    {\n      className,\n      onMenuClick,\n      showBackButton,\n      onBackClick,\n      pageTitle,\n      subtitle,\n      reactNode,\n      ...props\n    },\n    ref\n  ) => {\n    return (\n      <section\n        {...props}\n        ref={ref}\n        className={`flex h-full items-center justify-start ${className || \"\"}`}\n      >\n        {onMenuClick ? (\n          <Button onClick={onMenuClick} variant={\"ghost\"} size={\"icon\"}>\n            <Menu />\n          </Button>\n        ) : null}\n        {showBackButton ? (\n          <Button onClick={onBackClick} variant={\"ghost\"} size={\"icon\"}>\n            <ArrowLeft />\n          </Button>\n        ) : null}\n        {pageTitle || subtitle ? (\n          <div className=\"ml-3\">\n            <h1>{pageTitle}</h1>\n            <p className=\"subtitle\">{subtitle}</p>\n          </div>\n        ) : null}\n        {reactNode || null}\n      </section>\n    );\n  }\n);\n\nToolbar.displayName = \"Toolbar\";\n\nexport interface navbarProps extends React.HTMLAttributes<HTMLElement> {}\n/**\n * App bar navigation/other action buttons\n * Send only buttons with out any wrapper\n * @returns Navbar JSX\n */\nconst NavBar = React.forwardRef<HTMLButtonElement, navbarProps>(\n  ({ className, children, ...props }, ref) => {\n    return (\n      <nav\n        {...props}\n        ref={ref}\n        className={`ml-auto flex h-full items-center space-x-2 ${className}`}\n      >\n        {children}\n      </nav>\n    );\n  }\n);\n\nNavBar.displayName = \"NavBar\";\n\nexport { AppBar, NavBar, Toolbar };\n"],"names":["AppBarVariants","cva","variants","varient","default","primary","secondary","position","fixed","defaultVariants","AppBar","React","forwardRef","className","props","ref","jsx","jsxRuntimeExports","cn","displayName","Toolbar","onMenuClick","showBackButton","onBackClick","pageTitle","subtitle","reactNode","jsxs","children","Button","onClick","variant","size","jsxRuntime","Menu","ArrowLeft","NavBar"],"mappings":"6TAMMA,EAAiBC,EAAAA,IACrB,+DACA,CACEC,SAAU,CACRC,QAAS,CACPC,QAAS,0DACTC,QAAS,6DACTC,UAAW,6DAEbC,SAAU,CACRC,MAAO,oCAGXC,gBAAiB,CACfN,QAAS,UACTI,SAAU,WAaVG,EAASC,EAAMC,YACnB,EAAGC,YAAWV,UAASI,cAAaO,GAASC,IAC3CC,EAAAC,kBAAAD,IAAC,SAAA,CACCD,MACAF,UAAWK,KAAGlB,EAAe,CAAEa,YAAWV,UAASI,iBAC/CO,MAKVJ,EAAOS,YAAc,SAkBrB,MAAMC,EAAUT,EAAMC,YACpB,EAEIC,YACAQ,cACAC,iBACAC,cACAC,YACAC,WACAC,eACGZ,GAELC,MAGEE,kBAAAU,KAAC,UAAA,IACKb,EACJC,MACAF,UAAW,0CAA0CA,GAAa,KAEjEe,SAAA,CACCP,IAAAJ,kBAAAD,IAACa,EAAOzB,QAAA,CAAA0B,QAAST,EAAaU,QAAS,QAASC,KAAM,OACpDJ,SAAAK,EAAAhB,kBAAAD,IAACkB,EAAKA,KAAA,CAAA,KAEN,KACHZ,IACCL,kBAAAD,IAACa,EAAOzB,QAAA,CAAA0B,QAASP,EAAaQ,QAAS,QAASC,KAAM,OACpDJ,SAAAK,EAAAhB,kBAAAD,IAACmB,EAAUA,UAAA,CAAA,KAEX,KACHX,GAAaC,2BACX,MAAA,CAAIZ,UAAU,OACbe,SAAA,GAAAZ,kBAAAA,IAAC,MAAIY,SAAUJ,IACdR,EAAAC,kBAAAD,IAAA,IAAA,CAAEH,UAAU,WAAYe,SAASH,OAElC,KACHC,GAAa,UAMtBN,EAAQD,YAAc,UAQtB,MAAMiB,EAASzB,EAAMC,YACnB,EAAGC,YAAWe,cAAad,GAASC,MAEhCE,kBAAAD,IAAC,MAAA,IACKF,EACJC,MACAF,UAAW,8CAA8CA,IAExDe,eAMTQ,EAAOjB,YAAc"}