@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 1.99 kB
Source Map (JSON)
{"version":3,"file":"navbar.mjs","sources":["../../../../packages/utils/navbar.ts"],"sourcesContent":["/**\n * Base nav item, displayed as text\n */\nexport interface NavItem {\n text?: string\n ariaLabel?: string\n}\n/**\n * Base nav group, has nav items children\n */\nexport interface NavGroup<T> extends NavItem {\n children: T[]\n}\n/**\n * Props for `<AutoLink>`\n */\nexport interface NavLink extends NavItem {\n path: string\n target?: string\n}\n/**\n * Navbar types\n */\nexport type NavbarItem = NavLink\nexport type NavbarGroup = NavGroup<NavbarGroup | NavbarItem>\n\nexport type IfNavbarItem<T, Y, N> = T extends NavbarItem ? Y : N\nexport type IfNavbarGroup<T, Y, N> = T extends NavbarGroup ? Y : N\n\nexport const isNavbarGroup = (nav: unknown): nav is NavbarGroup =>\n Object.prototype.hasOwnProperty.call(nav, 'children')\n\nexport const isNavbarItem = (nav: unknown): nav is NavbarItem =>\n !Object.prototype.hasOwnProperty.call(nav, 'children')\n\nexport const isLinkExternal = (path?: string) => !!path?.startsWith('http')\n\nexport const isMailto = (path?: string): path is `mailto:${string}` =>\n !!path?.startsWith('mailto:')\n\nexport const isTel = (path?: string): path is `tel:${string}` =>\n !!path?.startsWith('tel:')\n\nexport const isExternal = (\n path?: string\n): path is `mailto:${string}` | `tel:${string}` | `http${string}` =>\n isLinkExternal(path) || isMailto(path) || isTel(path) || false\n"],"names":[],"mappings":"AA6Ba,MAAA,aAAA,GAAgB,CAAC,GAC5B,KAAA,MAAA,CAAO,UAAU,cAAe,CAAA,IAAA,CAAK,KAAK,UAAU,EAAA;AAEzC,MAAA,YAAA,GAAe,CAAC,GAC3B,KAAA,CAAC,OAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,GAAA,EAAK,UAAU,EAAA;AAEhD,MAAM,iBAAiB,CAAC,IAAA,KAAkB,CAAC,EAAC,6BAAM,UAAW,CAAA,MAAA,CAAA,EAAA;AAE7D,MAAM,WAAW,CAAC,IAAA,KACvB,CAAC,EAAC,6BAAM,UAAW,CAAA,SAAA,CAAA,EAAA;AAEd,MAAM,QAAQ,CAAC,IAAA,KACpB,CAAC,EAAC,6BAAM,UAAW,CAAA,MAAA,CAAA,EAAA;AAER,MAAA,UAAA,GAAa,CACxB,IAAA,KAEA,cAAe,CAAA,IAAI,CAAK,IAAA,QAAA,CAAS,IAAI,CAAA,IAAK,KAAM,CAAA,IAAI,CAAK,IAAA;;;;"}