{"version":3,"file":"analogjs-router-debug.page-jzggTA45.mjs","sources":["../../../../packages/router/src/lib/debug/debug.page.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\nimport { injectDebugRoutes, DebugRoute } from './routes';\n\ntype CollectedRoute = {\n  path: string;\n  filename: string;\n  file: string;\n  isLayout: boolean;\n};\n\n@Component({\n  selector: 'analogjs-debug-routes-page',\n  standalone: true,\n  template: `\n    <h2>Routes</h2>\n\n    <div class=\"table-container\">\n      <div class=\"table-header\">\n        <div class=\"header-cell\">Route Path</div>\n        <div class=\"header-cell\">File</div>\n        <div class=\"header-cell\">Type</div>\n      </div>\n      <div class=\"table-body\">\n        @for (\n          collectedRoute of collectedRoutes;\n          track collectedRoute.filename\n        ) {\n          <div class=\"table-row\">\n            <div class=\"table-cell\">{{ collectedRoute.path }}</div>\n            <div class=\"table-cell\" [title]=\"collectedRoute.filename\">\n              {{ collectedRoute.file }}\n            </div>\n            <div class=\"table-cell\">\n              {{ collectedRoute.isLayout ? 'Layout' : 'Page' }}\n            </div>\n          </div>\n        }\n      </div>\n    </div>\n  `,\n  styles: `\n    :host {\n      width: 100%;\n    }\n\n    .table-container {\n      width: 100%;\n      max-width: 900px;\n      margin: 0 auto;\n      background: white;\n      border-radius: 8px;\n      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n      overflow: hidden;\n    }\n\n    .table-header {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      background: gray;\n      border-bottom: 2px solid #e5e7eb;\n    }\n\n    .header-cell {\n      padding: 16px 24px;\n      font-weight: 600;\n      text-transform: uppercase;\n      font-size: 14px;\n      letter-spacing: 0.05em;\n      color: white;\n    }\n\n    .table-body {\n      display: flex;\n      flex-direction: column;\n    }\n\n    .table-row {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      border-bottom: 1px solid #e5e7eb;\n      transition: background-color 0.2s ease;\n    }\n\n    .table-row:last-child {\n      border-bottom: none;\n    }\n\n    .table-row:hover {\n      background-color: #f9fafb;\n    }\n\n    .table-cell {\n      padding: 16px 24px;\n      font-size: 16px;\n      color: #4b5563;\n    }\n\n    @media (max-width: 640px) {\n      .table-container {\n        border-radius: 0;\n        margin: 0;\n      }\n\n      .header-cell,\n      .table-cell {\n        padding: 12px 16px;\n      }\n    }\n  `,\n})\nexport default class DebugRoutesComponent {\n  collectedRoutes: CollectedRoute[] = [];\n  debugRoutes = injectDebugRoutes();\n\n  ngOnInit() {\n    this.traverseRoutes(this.debugRoutes);\n  }\n\n  traverseRoutes(routes: DebugRoute[], parent?: string) {\n    routes.forEach((route) => {\n      this.collectedRoutes.push({\n        path: route.isLayout\n          ? `${parent ? `/${parent}` : ''}${route.path ? `/${route.path}` : ''}`\n          : `${parent ? `/${parent}` : ''}${\n              route.path ? `/${route.path}` : '/'\n            }`,\n        filename: route.filename,\n        file: route.filename?.replace(/(^.*)pages\\//, '') || '',\n        isLayout: route.isLayout,\n      });\n\n      if (route.children) {\n        const parentSegments = [parent, route.path];\n\n        const fullParentPath = parentSegments.filter((s) => !!s).join('/');\n        this.traverseRoutes(route.children, fullParentPath);\n      }\n    });\n  }\n}\n"],"names":[],"mappings":";;;;AA+Gc,MAAO,oBAAoB,CAAA;AApGzC,IAAA,WAAA,GAAA;QAqGE,IAAA,CAAA,eAAe,GAAqB,EAAE;QACtC,IAAA,CAAA,WAAW,GAAG,iBAAiB,EAAE;AA2BlC,IAAA;IAzBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;IACvC;IAEA,cAAc,CAAC,MAAoB,EAAE,MAAe,EAAA;AAClD,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACvB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,KAAK,CAAC;AACV,sBAAE,CAAA,EAAG,MAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,GAAG,EAAE,CAAA,EAAG,KAAK,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,EAAE,CAAA;AACpE,sBAAE,CAAA,EAAG,MAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,GAAG,EAAE,CAAA,EAC3B,KAAK,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,GAClC,CAAA,CAAE;gBACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;AACxB,gBAAA,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,EAAE;gBACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ;AACzB,aAAA,CAAC;AAEF,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;gBAE3C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC;YACrD;AACF,QAAA,CAAC,CAAC;IACJ;8GA5BmB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjG7B;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kzBAAA,CAAA,EAAA,CAAA,CAAA;;2FAuEkB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApGxC,SAAS;+BACE,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EAAA,QAAA,EACN;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,kzBAAA,CAAA,EAAA;;;;;"}