{"version":3,"file":"groupix-groupix-spinner.mjs","sources":["../../../projects/groupix-spinner/src/lib/groupix-spinner.service.ts","../../../projects/groupix-spinner/src/lib/groupix-spinner.component.ts","../../../projects/groupix-spinner/src/lib/groupix-spinner.module.ts","../../../projects/groupix-spinner/src/public-api.ts","../../../projects/groupix-spinner/src/groupix-groupix-spinner.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class GroupixSpinnerService {\n\n  constructor() { }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'groupix-spinner',\n  template: `\n    <div class=\"loader-container\">\n      <div\n        *ngFor=\"let ball of balls; let i = index\"\n        class=\"ball\"\n        [ngClass]=\"['ball-' + (i + 1), sizeClass]\"\n        [ngStyle]=\"{ 'animation-delay': -0.3 + i * 0.05 + 's' }\"\n      ></div>\n    </div>\n  `,\n  styles: `\n    .loader-container {\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      height: 100%;\n      gap: 8px;\n    }\n\n    .ball {\n      border-radius: 50%;\n      box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n      animation: bounce 1.5s infinite ease-in-out;\n      transition: transform 0.3s ease-in-out;\n    }\n\n    .ball-sm {\n      width: 20px;\n      height: 20px;\n    }\n\n    .ball-m {\n      width: 30px;\n      height: 30px;\n    }\n\n    .ball-l {\n      width: 40px;\n      height: 40px;\n    }\n\n    .ball-xl {\n      width: 50px;\n      height: 50px;\n    }\n\n    .ball-xxl {\n      width: 60px;\n      height: 60px;\n    }\n\n    .ball-1 { background: linear-gradient(to right, #6366f1, #ec4899); }\n    .ball-2 { background: linear-gradient(to right, #facc15, #dc2626); }\n    .ball-3 { background: linear-gradient(to right, #a855f7, #2563eb); }\n    .ball-4 { background: linear-gradient(to right, #10b981, #3b82f6); }\n    .ball-5 { background: linear-gradient(to right, #f97316, #8b5cf6); }\n    .ball-6 { background: linear-gradient(to right, #06b6d4, #f43f5e); }\n    .ball-7 { background: linear-gradient(to right, #84cc16, #d946ef); }\n    .ball-8 { background: linear-gradient(to right, #14b8a6, #f59e0b); }\n    .ball-9 { background: linear-gradient(to right, #6366f1, #84cc16); }\n\n    .ball:hover {\n      transform: scale(1.25);\n    }\n\n    @keyframes bounce {\n      0%, 100% {\n        transform: translateY(0);\n      }\n      50% {\n        transform: translateY(-20px);\n      }\n    }\n  `,\n})\nexport class GroupixSpinnerComponent implements OnChanges, OnInit {\n  @Input() ballCount = 3;\n  @Input() size: 'sm' | 'm' | 'l' | 'xl' | 'xxl' = 'l';\n\n  balls: number[] = [];\n  sizeClass = 'ball-l';\n\n  ngOnInit(): void {\n    this.updateBallCount();\n    this.updateSizeClass();\n  }\n\n  ngOnChanges(): void {\n    this.updateBallCount();\n    this.updateSizeClass();\n  }\n\n  private updateBallCount(): void {\n    const count = Math.min(Math.max(this.ballCount, 3), 9);\n    this.balls = Array.from({ length: count }, (_, i) => i);\n  }\n\n  private updateSizeClass(): void {\n    const allowedSizes = ['sm', 'm', 'l', 'xl', 'xxl'];\n    this.sizeClass = allowedSizes.includes(this.size)\n      ? `ball-${this.size}`\n      : 'ball-l';\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupixSpinnerComponent } from './groupix-spinner.component';\n\n@NgModule({\n  declarations: [GroupixSpinnerComponent],\n  exports: [GroupixSpinnerComponent],\n  imports: [CommonModule],\n})\nexport class GroupixSpinnerModule {}\n","/*\n * Public API Surface of groupix-spinner\n */\n\nexport * from './lib/groupix-spinner.service';\nexport * from './lib/groupix-spinner.component';\nexport * from './lib/groupix-spinner.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}