{"version":3,"file":"Navbar.cjs","sources":["../../common/Navbar/Navbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { VNode } from \"vue\";\n\nimport { Icon } from \"../Icon\";\nimport { NavbarClassesKey, NavbarProps } from \"./types\";\n\nconst {\n  title = \"\",\n  border = false,\n  rounded = false,\n  showMobileMenuIcon = true,\n  logo = { src: \"\", link: \"\" },\n  menuItems = [],\n  classes = {} as Partial<Record<NavbarClassesKey, string>>,\n  menuIcon = \"menu-icon\",\n} = defineProps<NavbarProps>();\n\ndefineSlots<{\n  navLogo(): VNode;\n  menuIcon(): VNode;\n  menu(): VNode;\n}>();\n\nconst emits = defineEmits<{\n  (e: \"onMenuIconClick\"): void;\n  (e: \"onMenuItemClick\"): void;\n}>();\n</script>\n\n<template>\n  <nav :class=\"['navbar-container', { border, 'rounded-lg': rounded }, classes?.navContainer]\">\n    <div :class=\"['flex flex-wrap items-center justify-between', classes?.container]\">\n      <a v-if=\"!$slots?.navLogo && logo?.src\" :href=\"logo?.link || ''\" class=\"flex items-center\">\n        <img v-if=\"logo?.src\" :src=\"logo?.src\" :class=\"['mr-3 h-6 sm:h-9', classes?.logo]\" alt=\"Logo\" />\n        <span v-if=\"title\" :class=\"['dark:text-app-white self-center text-xl font-semibold whitespace-nowrap', classes?.title]\">{{ title }}</span>\n      </a>\n      <template v-if=\"$slots?.navLogo\">\n        <slot name=\"navLogo\" />\n      </template>\n      <button\n        v-if=\"!$slots?.menuIcon && showMobileMenuIcon\"\n        data-collapse-toggle=\"navbar-default\"\n        type=\"button\"\n        :class=\"['menuIcon', classes?.menuIcon]\"\n        aria-controls=\"navbar-default\"\n        aria-expanded=\"false\"\n        @click=\"emits('onMenuIconClick')\"\n      >\n        <span class=\"sr-only\">Open main menu</span>\n        <Icon :name=\"menuIcon\" />\n      </button>\n      <template v-if=\"$slots?.menuIcon && showMobileMenuIcon\">\n        <slot name=\"menuIcon\" />\n      </template>\n      <div :class=\"['hidden w-full md:block md:w-auto', classes?.menuContainer]\">\n        <template v-if=\"!$slots?.menu && menuItems && menuItems?.length > 0\">\n          <ul :class=\"['navbar-item-container', classes?.menuItemContainer]\">\n            <li v-for=\"item in menuItems\" :key=\"item.name\">\n              <a\n                :href=\"item.link\"\n                :class=\"[\n                  'navbar-item',\n                  { 'md:!text-app-primary-600 dark:md:!text-app-primary-500': item.active },\n                  item?.disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n                  classes?.item,\n                ]\"\n                aria-current=\"page\"\n              >\n                {{ item.name }}\n              </a>\n            </li>\n          </ul>\n        </template>\n        <template v-if=\"$slots?.menu\">\n          <slot name=\"menu\" />\n        </template>\n      </div>\n    </div>\n  </nav>\n</template>\n\n<style scoped>\n@reference \"../../styles/main.css\";\n\n.navbar-container {\n  @apply bg-app-white border-app-gray-200 p-4 dark:bg-app-gray-900;\n}\n\n.navbar-item-container {\n  @apply flex flex-col mt-4 border border-app-gray-100 rounded-lg bg-app-gray-50 md:flex-row md:space-x-8 md:mt-0 md:text-sm md:font-medium md:border-0 md:bg-app-white dark:bg-app-gray-800 md:dark:bg-app-gray-900 dark:border-app-gray-700;\n}\n\n.navbar-item {\n  @apply block pl-3 pr-4 text-app-gray-500 bg-app-primary-600 rounded md:bg-transparent md:p-0 dark:text-app-gray-300;\n}\n\n.menuIcon {\n  @apply inline-flex items-center p-2 ml-3 text-sm text-app-gray-500 rounded-lg md:hidden hover:bg-app-gray-100 focus:outline-hidden focus:ring-2 focus:ring-app-gray-200 dark:text-app-gray-400 dark:hover:bg-app-gray-700 dark:focus:ring-app-gray-600;\n}\n</style>\n"],"names":["emits","__emit","_createElementBlock","__props","_createElementVNode","_normalizeClass","$slots","_renderSlot","_ctx","_cache","_createVNode","_unref","Icon","_Fragment","_renderList","item","_toDisplayString","_hoisted_3"],"mappings":"0iBAuBA,MAAMA,EAAQC,8BAOZC,EAAAA,mBAgDM,MAAA,CAhDA,mDAA8BC,EAAA,OAAM,aAAgBA,WAAWA,EAAA,SAAS,YAAY,CAAA,CAAA,GACxFC,EAAAA,mBA8CM,MAAA,CA9CA,MAAKC,EAAAA,eAAA,CAAA,8CAAkDF,EAAA,SAAS,SAAS,CAAA,CAAA,GACnEG,CAAAA,EAAAA,QAAQ,SAAWH,EAAA,MAAM,mBAAnCD,EAAAA,mBAGI,IAAA,OAHqC,KAAMC,EAAA,MAAM,MAAI,GAAQ,MAAM,mBAAA,GAC1DA,EAAA,MAAM,mBAAjBD,EAAAA,mBAAgG,MAAA,OAAzE,IAAKC,EAAA,MAAM,IAAM,MAAKE,EAAAA,eAAA,CAAA,kBAAsBF,EAAA,SAAS,IAAI,CAAA,EAAG,IAAI,MAAA,0CAC3EA,EAAA,qBAAZD,EAAAA,mBAA0I,OAAA,OAAtH,MAAKG,EAAAA,eAAA,CAAA,0EAA8EF,EAAA,SAAS,KAAK,CAAA,CAAA,oBAAMA,EAAA,KAAK,EAAA,CAAA,kEAElHG,EAAAA,QAAQ,QACtBC,EAAAA,WAAuBC,EAAA,OAAA,UAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,+BAGhBF,EAAAA,QAAQ,UAAYH,EAAA,kCAD7BD,EAAAA,mBAWS,SAAA,OATP,uBAAqB,iBACrB,KAAK,SACJ,MAAKG,EAAAA,eAAA,CAAA,WAAeF,EAAA,SAAS,QAAQ,CAAA,EACtC,gBAAc,iBACd,gBAAc,QACb,uBAAOH,EAAK,iBAAA,EAAA,GAEbS,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAL,EAAAA,mBAA2C,OAAA,CAArC,MAAM,SAAA,EAAU,iBAAc,EAAA,GACpCM,EAAAA,YAAyBC,EAAAA,MAAAC,WAAA,EAAA,CAAlB,KAAMT,EAAA,UAAQ,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,kCAEPG,EAAAA,QAAQ,UAAYH,EAAA,mBAClCI,EAAAA,WAAwBC,EAAA,OAAA,WAAA,CAAA,IAAA,GAAA,OAAA,EAAA,8BAE1BJ,EAAAA,mBAsBM,MAAA,CAtBA,MAAKC,EAAAA,eAAA,CAAA,mCAAuCF,EAAA,SAAS,aAAa,CAAA,CAAA,GACrDG,CAAAA,EAAAA,QAAQ,MAAQH,aAAaA,EAAA,WAAW,OAAM,iBAC7DD,EAAAA,mBAeK,KAAA,OAfA,MAAKG,EAAAA,eAAA,CAAA,wBAA4BF,EAAA,SAAS,iBAAiB,CAAA,CAAA,oBAC9DD,EAAAA,mBAaKW,EAAAA,SAAA,KAAAC,EAAAA,WAbcX,EAAA,UAARY,kBAAXb,EAAAA,mBAaK,KAAA,CAb0B,IAAKa,EAAK,IAAA,GACvCX,EAAAA,mBAWI,IAAA,CAVD,KAAMW,EAAK,KACX,MAAKV,EAAAA,eAAA,eAAmH,CAAA,yDAAAU,EAAK,MAAA,EAA4BA,GAAM,SAAQ,qBAAA,iBAA8DZ,EAAA,SAAS,IAAA,GAM/O,eAAa,MAAA,EAEVa,EAAAA,gBAAAD,EAAK,IAAI,EAAA,GAAAE,CAAA,CAAA,4CAKJX,EAAAA,QAAQ,KACtBC,EAAAA,WAAoBC,EAAA,OAAA,OAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA"}