managarten/packages/shared-ui/src/navigation/index.ts
Till JS 5d4bf201fd refactor(shared-ui): migrate PillNav nav items to shared Pill component
PillNavigation rendered three near-identical inline pill blocks (prepended
elements, main nav items, appended elements). Consolidate onto the Pill
component so the visual base stays in lockstep with the bottom-stack bars.

- Extend Pill with size='sm'|'md'. sm = 36px with 18px icons (PillNav
  style); md = 44px with 20px icons (bar pills, default).
- Move the icon-only padding override into Pill itself.
- Extract the Mana-Logo SVG (duplicated inline) to ManaLogoIcon.svelte.
- Replace the three inline pill loops in PillNavigation with <Pill size='sm'>.
  Mana-logo and iconSvg cases ride the `leading` snippet. onClick vs href
  disambiguation is collapsed into a single Pill call per item.
- Remove the now-unreachable .pill-icon scoped CSS that was only meaningful
  for the removed inline SVGs (Phosphor icon sizing comes from the size
  prop).

Net: ~70 lines removed from PillNavigation.svelte without changing the
render output. Bar-mode triggers (sync / ai / theme / user) still render
inline because their logic is too entangled with activeBarId — leave for
a follow-up.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 01:25:18 +02:00

55 lines
2.1 KiB
TypeScript

export { default as NavLink } from './NavLink.svelte';
export { default as Navbar } from './Navbar.svelte';
export { default as Sidebar } from './Sidebar.svelte';
export { default as SidebarSection } from './SidebarSection.svelte';
export { default as Pill } from './Pill.svelte';
export { default as ManaLogoIcon } from './ManaLogoIcon.svelte';
export { default as PillNavigation } from './PillNavigation.svelte';
export { default as PillDropdown } from './PillDropdown.svelte';
export { default as PillDropdownBar } from './PillDropdownBar.svelte';
export { default as AppDrawer } from './AppDrawer.svelte';
export { default as UserMenuPanel } from './UserMenuPanel.svelte';
export { default as GlobalSpotlight } from './GlobalSpotlight.svelte';
export { createGlobalSpotlightState } from './useGlobalSpotlight.svelte';
export {
createAppNavigationStore,
getFavoriteApps,
getRecentApps,
getUsageCounts,
toggleFavoriteApp,
recordAppVisit,
clearRecentApps,
} from './appNavigationStore.svelte';
export type { RecentAppEntry } from './appNavigationStore.svelte';
export { default as PillTabGroup } from './PillTabGroup.svelte';
export { default as PillTagSelector } from './PillTagSelector.svelte';
export { default as PillTimeRangeSelector } from './PillTimeRangeSelector.svelte';
export { default as PillViewSwitcher } from './PillViewSwitcher.svelte';
export { default as PillToolbar } from './PillToolbar.svelte';
export { default as PillToolbarButton } from './PillToolbarButton.svelte';
export { default as PillToolbarDivider } from './PillToolbarDivider.svelte';
export { default as TagStrip } from './TagStrip.svelte';
export { ExpandableToolbar } from './expandable-toolbar';
export type { ExpandableToolbarProps } from './expandable-toolbar';
export type {
NavItem,
NavbarProps,
SidebarProps,
NavLinkProps,
KeyboardShortcut,
PillNavItem,
PillDropdownItem,
PillAppItem,
PillNavigationProps,
PillTabOption,
PillTabGroupConfig,
PillTagItem,
PillTagSelectorConfig,
PillDivider,
PillNavElement,
PillBarConfig,
SpotlightAction,
ContentSearchResult,
ContentSearchGroup,
ContentSearcher,
} from './types';