@kiranshub/dashboard-ui 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiranshub-dashboard-ui.mjs","sources":["../../../projects/component-lib/src/lib/component-lib.ts","../../../projects/component-lib/src/lib/atoms/button/button.component.ts","../../../projects/component-lib/src/lib/atoms/button/button.component.html","../../../projects/component-lib/src/lib/atoms/icons/icons.ts","../../../projects/component-lib/src/lib/atoms/icons/icon.component.ts","../../../projects/component-lib/src/lib/atoms/icons/icon.component.html","../../../projects/component-lib/src/lib/atoms/card/card.component.ts","../../../projects/component-lib/src/lib/atoms/card/card.component.html","../../../projects/component-lib/src/lib/molecules/grid/grid.component.ts","../../../projects/component-lib/src/lib/molecules/grid/grid.component.html","../../../projects/component-lib/src/lib/organisms/sidebar.component.ts","../../../projects/component-lib/src/lib/organisms/sidebar.component.html","../../../projects/component-lib/src/lib/molecules/nav-list/nav-list.component.ts","../../../projects/component-lib/src/lib/molecules/nav-list/nav-list.component.html","../../../projects/component-lib/src/lib/services/theme.service.ts","../../../projects/component-lib/src/lib/templates/dashboard.component.ts","../../../projects/component-lib/src/lib/templates/dashboard.component.html","../../../projects/component-lib/src/public-api.ts","../../../projects/component-lib/src/kiranshub-dashboard-ui.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-component-lib',\n imports: [],\n template: ` <p>component-lib works!</p> `,\n styles: ``,\n})\nexport class ComponentLib {}\n","import { Component, output, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline';\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n@Component({\n selector: 'particle-button',\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ParticleButton {\n readonly variant = input<ButtonVariant>('primary');\n readonly size = input<ButtonSize>('medium');\n readonly disabled = input<boolean>(false);\n readonly type = input<ButtonType>('button');\n readonly clicked = output<void>();\n\n protected onClick(): void {\n if (!this.disabled()) {\n this.clicked.emit();\n }\n }\n\n protected getClasses(): string {\n const base = 'btn';\n const sizeClasses: Record<ButtonSize, string> = {\n small: 'btn-small',\n medium: 'btn-medium',\n large: 'btn-large',\n };\n const variantClasses: Record<ButtonVariant, string> = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n outline: 'btn-outline',\n };\n\n const sizeClass = sizeClasses[this.size()] || 'btn-medium';\n const variantClass = variantClasses[this.variant()] || 'btn-primary';\n\n return `${base} ${sizeClass} ${variantClass}`;\n }\n}\n","<button\n [ngClass]=\"getClasses()\"\n [disabled]=\"disabled()\"\n [type]=\"type()\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n","export const ICONS: Record<string, string> = {\n menu: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"/></svg>',\n 'chevron-left':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 19.5 8.25 12l7.5-7.5\"/></svg>',\n 'chevron-right':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m8.25 4.5 7.5 7.5-7.5 7.5\"/></svg>',\n xmark:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18 18 6M6 6l12 12\"/></svg>',\n home: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25\"/></svg>',\n 'chart-bar':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"/></svg>',\n users:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z\"/></svg>',\n cog: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12a7.5 7.5 0 0 0 15 0m-15 0a7.5 7.5 0 1 1 15 0m-15 0H3m16.5 0H21m-1.5 0H12m-8.457 3.077 1.41-.513m14.095-5.13 1.41-.513M5.106 17.785l1.15-.964m11.49-9.642 1.149-.964M7.501 19.795l.75-1.3m7.5-12.99.75-1.3m-6.063 16.658.26-1.477m2.605-14.772.26-1.477m0 17.726-.26-1.477M10.698 4.614l-.26-1.477M16.5 19.794l-.75-1.299M7.5 4.205 12 12m6.894 5.785-1.149-.964M6.256 7.178l-1.15-.964m15.352 8.864-1.41-.513M4.954 9.435l-1.41-.514M12.002 12l-3.75 6.495\"/></svg>',\n sun: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z\"/></svg>',\n moon: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z\"/></svg>',\n bell: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0\"/></svg>',\n folder:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z\"/></svg>',\n 'shopping-cart':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"/></svg>',\n mail: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75\"/></svg>',\n 'information-circle':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"/></svg>',\n user: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z\"/></svg>',\n logout:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75\"/></svg>',\n};\n\nexport type IconName = keyof typeof ICONS;\n","import { Component, input, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ICONS } from './icons';\n\nexport type IconName = keyof typeof ICONS;\nexport type IconSize = 'small' | 'medium' | 'large';\n\n@Component({\n selector: 'particle-icon',\n imports: [CommonModule],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n})\nexport class ParticleIcon {\n readonly name = input.required<IconName>();\n readonly size = input<IconSize>('medium');\n\n constructor(private sanitizer: DomSanitizer) {}\n\n protected svgContent = computed(() => {\n const iconName = this.name();\n const svg = ICONS[iconName] || '';\n return this.sanitizer.bypassSecurityTrustHtml(svg) as SafeHtml;\n });\n\n protected getSizeClass(): string {\n return `icon-${this.size()}`;\n }\n}\n","<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n [class]=\"getSizeClass()\"\n [innerHTML]=\"svgContent()\"\n></svg>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'particle-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n})\nexport class CardComponent {}\n","<div class=\"card\">\n <ng-content></ng-content>\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type GridGap = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\n@Component({\n selector: 'particle-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './grid.component.html',\n styleUrl: './grid.component.scss',\n})\nexport class GridComponent {\n readonly gap = input<GridGap>('md');\n readonly cols = input<GridCols>(4);\n}\n","<div class=\"grid\" [class]=\"'gap-' + gap()\">\n <ng-content></ng-content>\n</div>\n","import { Component, input, output } from '@angular/core';\nimport type { IconName } from '../atoms/icons/icon.component';\nimport { ParticleIcon } from '../atoms/icons/icon.component';\n\nexport interface NavListItem {\n label: string;\n icon: IconName;\n route?: string;\n}\n\n@Component({\n selector: 'particle-sidebar',\n standalone: true,\n imports: [ParticleIcon],\n templateUrl: './sidebar.component.html',\n styleUrl: './sidebar.component.scss',\n})\nexport class SidebarComponent {\n readonly appTitle = input<string>('');\n readonly collapsed = input<boolean>(false);\n readonly isMobile = input<boolean>(false);\n readonly toggle = output<void>();\n}\n","<aside class=\"sidebar\" [class.collapsed]=\"collapsed()\">\n <div class=\"sidebar-header\">\n <button class=\"sidebar-toggle\" (click)=\"toggle.emit()\" aria-label=\"Toggle sidebar\">\n <particle-icon\n [name]=\"isMobile() ? 'xmark' : collapsed() ? 'chevron-right' : 'chevron-left'\"\n size=\"medium\"\n />\n </button>\n @if (appTitle() && !collapsed()) {\n <h1 class=\"app-title\">{{ appTitle() }}</h1>\n }\n <ng-content select=\"[sidebarHeader]\"></ng-content>\n </div>\n <div class=\"sidebar-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"sidebar-footer\">\n <ng-content select=\"[sidebarFooter]\"></ng-content>\n </div>\n</aside>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { ParticleIcon } from '../../atoms/icons/icon.component';\nimport type { NavListItem } from '../../organisms/sidebar.component';\n\n@Component({\n selector: 'particle-nav-list',\n standalone: true,\n imports: [CommonModule, RouterLink, RouterLinkActive, ParticleIcon],\n templateUrl: './nav-list.component.html',\n styleUrl: './nav-list.component.scss',\n})\nexport class NavListComponent {\n readonly items = input<readonly NavListItem[]>([]);\n readonly collapsed = input<boolean>(false);\n}\n","<div class=\"sidebar-nav-wrapper\">\n <nav class=\"sidebar-nav\" [class.collapsed]=\"collapsed()\">\n @for (item of items(); track item.label) {\n @if (item.route) {\n <a class=\"nav-item\" [routerLink]=\"item.route\" routerLinkActive=\"active\">\n <particle-icon [name]=\"item.icon\" size=\"medium\" />\n @if (!collapsed()) {\n <span class=\"nav-label\">{{ item.label }}</span>\n }\n </a>\n } @else {\n <span class=\"nav-item nav-item-disabled\">\n <particle-icon [name]=\"item.icon\" size=\"medium\" />\n @if (!collapsed()) {\n <span class=\"nav-label\">{{ item.label }}</span>\n }\n </span>\n }\n }\n </nav>\n</div>\n","import { signal } from '@angular/core';\n\nconst STORAGE_KEY = 'theme';\n\nexport const themeSignal = signal<boolean>(false);\n\nfunction getInitialTheme(): boolean {\n const stored = localStorage.getItem(STORAGE_KEY);\n if (stored !== null) {\n return stored === 'dark';\n }\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\nexport function initializeTheme(): void {\n const isDark = getInitialTheme();\n themeSignal.set(isDark);\n applyTheme(isDark);\n}\n\nexport function toggleTheme(): void {\n const newValue = !themeSignal();\n setTheme(newValue);\n}\n\nexport function setTheme(isDark: boolean): void {\n themeSignal.set(isDark);\n applyTheme(isDark);\n localStorage.setItem(STORAGE_KEY, isDark ? 'dark' : 'light');\n}\n\nfunction applyTheme(isDark: boolean): void {\n document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light');\n}\n","import { Component, input, signal, HostListener } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from '../organisms/sidebar.component';\nimport { NavListComponent } from '../molecules/nav-list/nav-list.component';\nimport { ParticleIcon } from '../atoms/icons/icon.component';\nimport type { NavListItem } from '../organisms/sidebar.component';\nimport { themeSignal, toggleTheme } from '../services/theme.service';\n\n@Component({\n selector: 'particle-dashboard',\n standalone: true,\n imports: [CommonModule, SidebarComponent, NavListComponent, ParticleIcon],\n templateUrl: './dashboard.component.html',\n styleUrl: './dashboard.component.scss',\n})\nexport class DashboardComponent {\n readonly appTitle = input<string>('Dashboard');\n readonly navItems = input<readonly NavListItem[]>([]);\n readonly userInitials = input<string>('');\n readonly userMenuItems = input<readonly NavListItem[]>([\n { label: 'Manage Account', icon: 'user', route: '/account' },\n { label: 'Settings', icon: 'cog', route: '/settings' },\n { label: 'Log Out', icon: 'logout', route: '/logout' },\n ]);\n\n protected readonly sidebarCollapsed = signal(false);\n protected readonly isMobile = signal(false);\n protected readonly mobileSidebarOpen = signal(false);\n protected readonly isDark = themeSignal;\n protected readonly userMenuOpen = signal(false);\n\n constructor() {\n this.checkScreenSize();\n }\n\n private getBreakpoint(): number {\n return parseInt(\n getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-mobile') || '768',\n 10,\n );\n }\n\n @HostListener('window:resize')\n protected readonly checkScreenSize = () => {\n this.isMobile.set(window.innerWidth < this.getBreakpoint());\n };\n\n protected readonly toggleSidebar = () => {\n if (this.isMobile()) {\n this.mobileSidebarOpen.update((v) => !v);\n } else {\n this.sidebarCollapsed.update((v) => !v);\n }\n };\n\n protected readonly closeMobileSidebar = () => {\n this.mobileSidebarOpen.set(false);\n };\n\n protected readonly toggleTheme = () => toggleTheme();\n\n protected readonly toggleUserMenu = () => {\n this.userMenuOpen.update((v) => !v);\n };\n\n protected readonly closeUserMenu = () => {\n this.userMenuOpen.set(false);\n };\n}\n","<div class=\"dashboard\" [class.collapsed]=\"sidebarCollapsed()\">\n @if (!isMobile()) {\n <particle-sidebar\n [appTitle]=\"appTitle()\"\n [collapsed]=\"sidebarCollapsed()\"\n [isMobile]=\"false\"\n (toggle)=\"toggleSidebar()\"\n >\n <particle-nav-list [items]=\"navItems()\" [collapsed]=\"sidebarCollapsed()\" />\n </particle-sidebar>\n }\n\n @if (isMobile() && mobileSidebarOpen()) {\n <div class=\"mobile-sidebar-overlay\" (click)=\"closeMobileSidebar()\">\n <div class=\"mobile-sidebar\" (click)=\"$event.stopPropagation()\">\n <particle-sidebar\n [appTitle]=\"appTitle()\"\n [collapsed]=\"false\"\n [isMobile]=\"true\"\n (toggle)=\"closeMobileSidebar()\"\n >\n <particle-nav-list [items]=\"navItems()\" [collapsed]=\"false\" />\n </particle-sidebar>\n </div>\n </div>\n }\n\n <div class=\"main-content\" [class.mobile]=\"isMobile()\">\n <header class=\"header\">\n <div class=\"header-left\">\n @if (isMobile()) {\n <button class=\"menu-toggle\" (click)=\"toggleSidebar()\" aria-label=\"Toggle menu\">\n <particle-icon name=\"menu\" size=\"medium\" />\n </button>\n }\n </div>\n <div class=\"header-right\">\n <button\n class=\"theme-toggle\"\n (click)=\"toggleTheme()\"\n [attr.aria-label]=\"isDark() ? 'Switch to light mode' : 'Switch to dark mode'\"\n >\n @if (isDark()) {\n <particle-icon name=\"sun\" size=\"medium\" />\n } @else {\n <particle-icon name=\"moon\" size=\"medium\" />\n }\n </button>\n <div class=\"user-menu\" (click)=\"toggleUserMenu()\">\n <span class=\"user-initials\">{{ userInitials() }}</span>\n @if (userMenuOpen()) {\n <div class=\"user-dropdown\" (click)=\"$event.stopPropagation()\">\n <particle-nav-list [items]=\"userMenuItems()\" [collapsed]=\"false\" />\n </div>\n }\n </div>\n </div>\n </header>\n\n <main class=\"content\">\n <ng-content></ng-content>\n </main>\n </div>\n</div>\n","/*\n * Public API Surface of component-lib\n */\n\nexport { ComponentLib } from './lib/component-lib';\n\nexport { ParticleButton } from './lib/atoms/button/button.component';\nexport type { ButtonVariant, ButtonSize, ButtonType } from './lib/atoms/button/button.component';\n\nexport { ParticleIcon } from './lib/atoms/icons/icon.component';\nexport type { IconName, IconSize } from './lib/atoms/icons/icon.component';\n\nexport { CardComponent } from './lib/atoms/card/card.component';\n\nexport { GridComponent } from './lib/molecules/grid/grid.component';\nexport type { GridGap, GridCols } from './lib/molecules/grid/grid.component';\n\nexport { DashboardComponent } from './lib/templates/dashboard.component';\n\nexport { SidebarComponent } from './lib/organisms/sidebar.component';\nexport type { NavListItem } from './lib/organisms/sidebar.component';\n\nexport { NavListComponent } from './lib/molecules/nav-list/nav-list.component';\n\nexport { initializeTheme, themeSignal, toggleTheme, setTheme } from './lib/services/theme.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiranshub-dashboard-ui.mjs","sources":["../../../projects/component-lib/src/lib/component-lib.ts","../../../projects/component-lib/src/lib/atoms/button/button.component.ts","../../../projects/component-lib/src/lib/atoms/button/button.component.html","../../../projects/component-lib/src/lib/atoms/icons/icons.ts","../../../projects/component-lib/src/lib/atoms/icons/icon.component.ts","../../../projects/component-lib/src/lib/atoms/icons/icon.component.html","../../../projects/component-lib/src/lib/atoms/card/card.component.ts","../../../projects/component-lib/src/lib/atoms/card/card.component.html","../../../projects/component-lib/src/lib/molecules/grid/grid.component.ts","../../../projects/component-lib/src/lib/molecules/grid/grid.component.html","../../../projects/component-lib/src/lib/organisms/sidebar.component.ts","../../../projects/component-lib/src/lib/organisms/sidebar.component.html","../../../projects/component-lib/src/lib/molecules/nav-list/nav-list.component.ts","../../../projects/component-lib/src/lib/molecules/nav-list/nav-list.component.html","../../../projects/component-lib/src/lib/services/theme.service.ts","../../../projects/component-lib/src/lib/templates/dashboard.component.ts","../../../projects/component-lib/src/lib/templates/dashboard.component.html","../../../projects/component-lib/src/public-api.ts","../../../projects/component-lib/src/kiranshub-dashboard-ui.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-component-lib',\n imports: [],\n template: ` <p>component-lib works!</p> `,\n styles: ``,\n})\nexport class ComponentLib {}\n","import { Component, output, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline';\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n@Component({\n selector: 'particle-button',\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ParticleButton {\n readonly variant = input<ButtonVariant>('primary');\n readonly size = input<ButtonSize>('medium');\n readonly disabled = input<boolean>(false);\n readonly type = input<ButtonType>('button');\n readonly clicked = output<void>();\n\n protected onClick(): void {\n if (!this.disabled()) {\n this.clicked.emit();\n }\n }\n\n protected getClasses(): string {\n const base = 'btn';\n const sizeClasses: Record<ButtonSize, string> = {\n small: 'btn-small',\n medium: 'btn-medium',\n large: 'btn-large',\n };\n const variantClasses: Record<ButtonVariant, string> = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n outline: 'btn-outline',\n };\n\n const sizeClass = sizeClasses[this.size()] || 'btn-medium';\n const variantClass = variantClasses[this.variant()] || 'btn-primary';\n\n return `${base} ${sizeClass} ${variantClass}`;\n }\n}\n","<button\n [ngClass]=\"getClasses()\"\n [disabled]=\"disabled()\"\n [type]=\"type()\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n","export const ICONS: Record<string, string> = {\n menu: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"/></svg>',\n 'chevron-left':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 19.5 8.25 12l7.5-7.5\"/></svg>',\n 'chevron-right':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m8.25 4.5 7.5 7.5-7.5 7.5\"/></svg>',\n xmark:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18 18 6M6 6l12 12\"/></svg>',\n home: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25\"/></svg>',\n 'chart-bar':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"/></svg>',\n users:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z\"/></svg>',\n cog: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12a7.5 7.5 0 0 0 15 0m-15 0a7.5 7.5 0 1 1 15 0m-15 0H3m16.5 0H21m-1.5 0H12m-8.457 3.077 1.41-.513m14.095-5.13 1.41-.513M5.106 17.785l1.15-.964m11.49-9.642 1.149-.964M7.501 19.795l.75-1.3m7.5-12.99.75-1.3m-6.063 16.658.26-1.477m2.605-14.772.26-1.477m0 17.726-.26-1.477M10.698 4.614l-.26-1.477M16.5 19.794l-.75-1.299M7.5 4.205 12 12m6.894 5.785-1.149-.964M6.256 7.178l-1.15-.964m15.352 8.864-1.41-.513M4.954 9.435l-1.41-.514M12.002 12l-3.75 6.495\"/></svg>',\n sun: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z\"/></svg>',\n moon: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z\"/></svg>',\n bell: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0\"/></svg>',\n folder:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z\"/></svg>',\n 'shopping-cart':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"/></svg>',\n mail: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75\"/></svg>',\n 'information-circle':\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"/></svg>',\n user: '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z\"/></svg>',\n logout:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75\"/></svg>',\n};\n\nexport type IconName = keyof typeof ICONS;\n","import { Component, input, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ICONS } from './icons';\n\nexport type IconName = keyof typeof ICONS;\nexport type IconSize = 'small' | 'medium' | 'large';\n\n@Component({\n selector: 'particle-icon',\n imports: [CommonModule],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n})\nexport class ParticleIcon {\n readonly name = input.required<IconName>();\n readonly size = input<IconSize>('medium');\n\n constructor(private sanitizer: DomSanitizer) {}\n\n protected svgContent = computed(() => {\n const iconName = this.name();\n const svg = ICONS[iconName] || '';\n return this.sanitizer.bypassSecurityTrustHtml(svg) as SafeHtml;\n });\n\n protected getSizeClass(): string {\n return `icon-${this.size()}`;\n }\n}\n","<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n [class]=\"getSizeClass()\"\n [innerHTML]=\"svgContent()\"\n></svg>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'particle-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n})\nexport class CardComponent {}\n","<div class=\"card\">\n <ng-content></ng-content>\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type GridGap = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\nexport interface GridResponsiveCols {\n mobile?: GridCols;\n tablet?: GridCols;\n desktop?: GridCols;\n}\n\nexport function getEffectiveCols(\n cols: GridCols | GridResponsiveCols | undefined,\n defaultCols: GridCols = 1,\n): { mobile: number; tablet: number; desktop: number } {\n if (cols === undefined) {\n return { mobile: defaultCols, tablet: defaultCols, desktop: defaultCols };\n }\n\n if (typeof cols === 'number') {\n return { mobile: cols, tablet: cols, desktop: cols };\n }\n\n const mobile = cols.mobile ?? defaultCols;\n const tablet = cols.tablet ?? cols.desktop ?? mobile;\n const desktop = cols.desktop ?? cols.tablet ?? mobile;\n\n return { mobile, tablet, desktop };\n}\n\n@Component({\n selector: 'particle-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './grid.component.html',\n styleUrl: './grid.component.scss',\n})\nexport class GridComponent {\n readonly gap = input<GridGap>('md');\n readonly cols = input<GridCols | GridResponsiveCols>(1);\n\n protected readonly responsiveCols = () => getEffectiveCols(this.cols());\n}\n","<div\n class=\"grid\"\n [ngClass]=\"'gap-' + gap()\"\n [style.--grid-cols-mobile]=\"responsiveCols().mobile\"\n [style.--grid-cols-tablet]=\"responsiveCols().tablet\"\n [style.--grid-cols-desktop]=\"responsiveCols().desktop\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component, input, output } from '@angular/core';\nimport type { IconName } from '../atoms/icons/icon.component';\nimport { ParticleIcon } from '../atoms/icons/icon.component';\n\nexport interface NavListItem {\n label: string;\n icon: IconName;\n route?: string;\n}\n\n@Component({\n selector: 'particle-sidebar',\n standalone: true,\n imports: [ParticleIcon],\n templateUrl: './sidebar.component.html',\n styleUrl: './sidebar.component.scss',\n})\nexport class SidebarComponent {\n readonly appTitle = input<string>('');\n readonly collapsed = input<boolean>(false);\n readonly isMobile = input<boolean>(false);\n readonly toggle = output<void>();\n}\n","<aside class=\"sidebar\" [class.collapsed]=\"collapsed()\">\n <div class=\"sidebar-header\">\n <button class=\"sidebar-toggle\" (click)=\"toggle.emit()\" aria-label=\"Toggle sidebar\">\n <particle-icon\n [name]=\"isMobile() ? 'xmark' : collapsed() ? 'chevron-right' : 'chevron-left'\"\n size=\"medium\"\n />\n </button>\n @if (appTitle() && !collapsed()) {\n <h1 class=\"app-title\">{{ appTitle() }}</h1>\n }\n <ng-content select=\"[sidebarHeader]\"></ng-content>\n </div>\n <div class=\"sidebar-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"sidebar-footer\">\n <ng-content select=\"[sidebarFooter]\"></ng-content>\n </div>\n</aside>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { ParticleIcon } from '../../atoms/icons/icon.component';\nimport type { NavListItem } from '../../organisms/sidebar.component';\n\n@Component({\n selector: 'particle-nav-list',\n standalone: true,\n imports: [CommonModule, RouterLink, RouterLinkActive, ParticleIcon],\n templateUrl: './nav-list.component.html',\n styleUrl: './nav-list.component.scss',\n})\nexport class NavListComponent {\n readonly items = input<readonly NavListItem[]>([]);\n readonly collapsed = input<boolean>(false);\n}\n","<div class=\"sidebar-nav-wrapper\">\n <nav class=\"sidebar-nav\" [class.collapsed]=\"collapsed()\">\n @for (item of items(); track item.label) {\n @if (item.route) {\n <a class=\"nav-item\" [routerLink]=\"item.route\" routerLinkActive=\"active\">\n <particle-icon [name]=\"item.icon\" size=\"medium\" />\n @if (!collapsed()) {\n <span class=\"nav-label\">{{ item.label }}</span>\n }\n </a>\n } @else {\n <span class=\"nav-item nav-item-disabled\">\n <particle-icon [name]=\"item.icon\" size=\"medium\" />\n @if (!collapsed()) {\n <span class=\"nav-label\">{{ item.label }}</span>\n }\n </span>\n }\n }\n </nav>\n</div>\n","import { signal } from '@angular/core';\n\nconst STORAGE_KEY = 'theme';\n\nexport const themeSignal = signal<boolean>(false);\n\nfunction getInitialTheme(): boolean {\n const stored = localStorage.getItem(STORAGE_KEY);\n if (stored !== null) {\n return stored === 'dark';\n }\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\nexport function initializeTheme(): void {\n const isDark = getInitialTheme();\n themeSignal.set(isDark);\n applyTheme(isDark);\n}\n\nexport function toggleTheme(): void {\n const newValue = !themeSignal();\n setTheme(newValue);\n}\n\nexport function setTheme(isDark: boolean): void {\n themeSignal.set(isDark);\n applyTheme(isDark);\n localStorage.setItem(STORAGE_KEY, isDark ? 'dark' : 'light');\n}\n\nfunction applyTheme(isDark: boolean): void {\n document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light');\n}\n","import { Component, input, signal, HostListener } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from '../organisms/sidebar.component';\nimport { NavListComponent } from '../molecules/nav-list/nav-list.component';\nimport { ParticleIcon } from '../atoms/icons/icon.component';\nimport type { NavListItem } from '../organisms/sidebar.component';\nimport { themeSignal, toggleTheme } from '../services/theme.service';\n\n@Component({\n selector: 'particle-dashboard',\n standalone: true,\n imports: [CommonModule, SidebarComponent, NavListComponent, ParticleIcon],\n templateUrl: './dashboard.component.html',\n styleUrl: './dashboard.component.scss',\n})\nexport class DashboardComponent {\n readonly appTitle = input<string>('Dashboard');\n readonly navItems = input<readonly NavListItem[]>([]);\n readonly userInitials = input<string>('');\n readonly userMenuItems = input<readonly NavListItem[]>([\n { label: 'Manage Account', icon: 'user', route: '/account' },\n { label: 'Settings', icon: 'cog', route: '/settings' },\n { label: 'Log Out', icon: 'logout', route: '/logout' },\n ]);\n\n protected readonly sidebarCollapsed = signal(false);\n protected readonly isMobile = signal(false);\n protected readonly mobileSidebarOpen = signal(false);\n protected readonly isDark = themeSignal;\n protected readonly userMenuOpen = signal(false);\n\n constructor() {\n this.checkScreenSize();\n }\n\n private getBreakpoint(): number {\n return parseInt(\n getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-mobile') || '768',\n 10,\n );\n }\n\n @HostListener('window:resize')\n protected readonly checkScreenSize = () => {\n this.isMobile.set(window.innerWidth < this.getBreakpoint());\n };\n\n protected readonly toggleSidebar = () => {\n if (this.isMobile()) {\n this.mobileSidebarOpen.update((v) => !v);\n } else {\n this.sidebarCollapsed.update((v) => !v);\n }\n };\n\n protected readonly closeMobileSidebar = () => {\n this.mobileSidebarOpen.set(false);\n };\n\n protected readonly toggleTheme = () => toggleTheme();\n\n protected readonly toggleUserMenu = () => {\n this.userMenuOpen.update((v) => !v);\n };\n\n protected readonly closeUserMenu = () => {\n this.userMenuOpen.set(false);\n };\n}\n","<div class=\"dashboard\" [class.collapsed]=\"sidebarCollapsed()\">\n @if (!isMobile()) {\n <particle-sidebar\n [appTitle]=\"appTitle()\"\n [collapsed]=\"sidebarCollapsed()\"\n [isMobile]=\"false\"\n (toggle)=\"toggleSidebar()\"\n >\n <particle-nav-list [items]=\"navItems()\" [collapsed]=\"sidebarCollapsed()\" />\n </particle-sidebar>\n }\n\n @if (isMobile() && mobileSidebarOpen()) {\n <div class=\"mobile-sidebar-overlay\" (click)=\"closeMobileSidebar()\">\n <div class=\"mobile-sidebar\" (click)=\"$event.stopPropagation()\">\n <particle-sidebar\n [appTitle]=\"appTitle()\"\n [collapsed]=\"false\"\n [isMobile]=\"true\"\n (toggle)=\"closeMobileSidebar()\"\n >\n <particle-nav-list [items]=\"navItems()\" [collapsed]=\"false\" />\n </particle-sidebar>\n </div>\n </div>\n }\n\n <div class=\"main-content\" [class.mobile]=\"isMobile()\">\n <header class=\"header\">\n <div class=\"header-left\">\n @if (isMobile()) {\n <button class=\"menu-toggle\" (click)=\"toggleSidebar()\" aria-label=\"Toggle menu\">\n <particle-icon name=\"menu\" size=\"medium\" />\n </button>\n }\n </div>\n <div class=\"header-right\">\n <button\n class=\"theme-toggle\"\n (click)=\"toggleTheme()\"\n [attr.aria-label]=\"isDark() ? 'Switch to light mode' : 'Switch to dark mode'\"\n >\n @if (isDark()) {\n <particle-icon name=\"sun\" size=\"medium\" />\n } @else {\n <particle-icon name=\"moon\" size=\"medium\" />\n }\n </button>\n <div class=\"user-menu\" (click)=\"toggleUserMenu()\">\n <span class=\"user-initials\">{{ userInitials() }}</span>\n @if (userMenuOpen()) {\n <div class=\"user-dropdown\" (click)=\"$event.stopPropagation()\">\n <particle-nav-list [items]=\"userMenuItems()\" [collapsed]=\"false\" />\n </div>\n }\n </div>\n </div>\n </header>\n\n <main class=\"content\">\n <ng-content></ng-content>\n </main>\n </div>\n</div>\n","/*\n * Public API Surface of component-lib\n */\n\nexport { ComponentLib } from './lib/component-lib';\n\nexport { ParticleButton } from './lib/atoms/button/button.component';\nexport type { ButtonVariant, ButtonSize, ButtonType } from './lib/atoms/button/button.component';\n\nexport { ParticleIcon } from './lib/atoms/icons/icon.component';\nexport type { IconName, IconSize } from './lib/atoms/icons/icon.component';\n\nexport { CardComponent } from './lib/atoms/card/card.component';\n\nexport { GridComponent } from './lib/molecules/grid/grid.component';\nexport type { GridGap, GridCols } from './lib/molecules/grid/grid.component';\n\nexport { DashboardComponent } from './lib/templates/dashboard.component';\n\nexport { SidebarComponent } from './lib/organisms/sidebar.component';\nexport type { NavListItem } from './lib/organisms/sidebar.component';\n\nexport { NavListComponent } from './lib/molecules/nav-list/nav-list.component';\n\nexport { initializeTheme, themeSignal, toggleTheme, setTheme } from './lib/services/theme.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -43,9 +43,19 @@ declare class CardComponent {
|
|
|
43
43
|
|
|
44
44
|
type GridGap = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
45
45
|
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
46
|
+
interface GridResponsiveCols {
|
|
47
|
+
mobile?: GridCols;
|
|
48
|
+
tablet?: GridCols;
|
|
49
|
+
desktop?: GridCols;
|
|
50
|
+
}
|
|
46
51
|
declare class GridComponent {
|
|
47
52
|
readonly gap: _angular_core.InputSignal<GridGap>;
|
|
48
|
-
readonly cols: _angular_core.InputSignal<GridCols>;
|
|
53
|
+
readonly cols: _angular_core.InputSignal<GridCols | GridResponsiveCols>;
|
|
54
|
+
protected readonly responsiveCols: () => {
|
|
55
|
+
mobile: number;
|
|
56
|
+
tablet: number;
|
|
57
|
+
desktop: number;
|
|
58
|
+
};
|
|
49
59
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent, never>;
|
|
50
60
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent, "particle-grid", never, { "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "cols": { "alias": "cols"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
51
61
|
}
|