lit-html-free-router
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-alpha.7 • Public • Published

lit-html-free-router

work in progress, very simple docs, se demo for more info

Sample https://stackblitz.com/edit/lit-html-free-router?file=routersConfig.ts

install

``npm install lit-html-free-router@alpha`

register routes

import { getRouter } from 'lit-html-free-router';


getRouter().addRouterConfig('main', [
  {
    path: '',
    name: 'Home',
    load: () => {
      return import('./routes/home');
    },
    componentName: 'home-comp',

  },
  {
    path: 'settings',
    name: 'Settings',
    load: () => {
      return import('./routes/settings');
    },
    componentName: 'settings-comp',

  },
  {
    path: 'login',
    name: 'Login',
    load: () => {
      return import('./routes/login');
    },
    componentName: 'login-comp',
    isNav: false

  },
  {
    path: 'protected',
    name: 'Protected',
    load: () => {
      return import('./routes/protected');
    },
    componentName: 'protected-comp',
    isAuth: true

  }]);

add nav links

To in you render method in main application and add <free-router name="main"></free-router>

  public render() {
      const links = getRouter().getNavLinks('main');
  

      return html`
        <ul class="flex bg-teal-500 p-6">                  
          ${links.map(route => {
            if (route.isNav) {
              return html`
                <li >
                  <a href="${route.href}">${route.name}</a>
                </li>
            `;
            }})
          }
      </ul>
    
      <free-router name="main"></free-router>             
    `;
    }

Readme

Keywords

none

Package Sidebar

Install

npm i lit-html-free-router

Weekly Downloads

1

Version

1.0.0-alpha.7

License

MIT

Unpacked Size

179 kB

Total Files

30

Last publish

Collaborators

  • vegarringdal