1 |
- {"version":3,"file":"circletone.mjs","sources":["../../../projects/circletone/src/lib/components/atoms/icon/icon.constants.ts","../../../projects/circletone/src/lib/components/atoms/icon/icon.component.ts","../../../projects/circletone/src/lib/components/atoms/icon/icon.component.html","../../../projects/circletone/src/lib/components/atoms/button/button.component.ts","../../../projects/circletone/src/lib/components/atoms/button/button.component.html","../../../projects/circletone/src/public-api.ts","../../../projects/circletone/src/circletone.ts"],"sourcesContent":["export const icons = ` \n<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none\">\n <symbol id=\"arrow-down\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 13.5L12 21m0 0l-7.5-7.5M12 21V3\" />\n </symbol>\n <symbol id=\"information-circle\" viewBox=\"0 0 24 24\" fill=\"none\">\n <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\" />\n </symbol>\n <symbol id=\"paper-clip\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13\" />\n </symbol>\n</svg>\n`;\n","import { DOCUMENT, NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, Inject, Input, OnInit, Renderer2 } from '@angular/core';\nimport { icons } from './icon.constants';\n\n@Component({\n selector: 'ct-icon',\n standalone: true,\n imports: [NgClass],\n templateUrl: './icon.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent implements OnInit {\n @Input() icon = '';\n @Input() iconClass = '';\n @Input() fill = 'currentColor';\n @Input() strokeWidth = 1.5;\n @Input() strokeColor = 'currentColor';\n @Input() size: 'xs' | 'sm' | 'base' | 'lg' | 'xl' = 'base';\n iconPath = '';\n\n constructor(\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n private el: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.injectSVG();\n this.strokeColor = this.getFormattedColor(this.strokeColor);\n this.fill = this.getFormattedColor(this.fill);\n }\n\n getFormattedColor(color: string): string {\n if (color.startsWith('--')) {\n const rgbValue = getComputedStyle(document.documentElement).getPropertyValue(color).trim();\n return `rgb(${rgbValue})`;\n }\n return color;\n }\n\n getIconPath() {\n return `#${this.icon}`;\n }\n\n private injectSVG() {\n const svgElement = this.renderer.createElement('div');\n this.renderer.setProperty(svgElement, 'innerHTML', icons);\n this.renderer.setStyle(svgElement, 'display', 'none');\n this.renderer.appendChild(this.document.body, svgElement);\n }\n}\n","<svg\n [ngClass]=\"iconClass\"\n [attr.fill]=\"fill\"\n [attr.stroke-width]=\"strokeWidth\"\n [attr.stroke]=\"strokeColor\"\n class=\"flex\"\n [class.size-3]=\"size === 'xs'\"\n [class.size-4]=\"size === 'sm'\"\n [class.size-5]=\"size === 'base'\"\n [class.size-6]=\"size === 'lg'\"\n [class.size-8]=\"size === 'xl'\">\n <use [attr.xlink:href]=\"getIconPath()\"></use>\n</svg>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { IconComponent } from '../icon/icon.component';\nimport { SizeType } from '../../../model/size.type';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'ct-button',\n standalone: true,\n imports: [NgClass, IconComponent],\n templateUrl: './button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n @Input({ required: true }) text = '';\n @Input() type: 'default' | 'alternate' | 'success' | 'warning' | 'error' = 'default';\n @Input() size: SizeType = 'base';\n @Input() variant: 'default' | 'outline' = 'default';\n @Input() icon?: string = undefined;\n\n getCssClasses() {\n const sizeAndTextClasses = this.getSizeAndTextClasses();\n const borderClasses = this.getBorderClasses();\n const backgroundClasses = this.getBackgroundClasses();\n\n const allClasses = { ...sizeAndTextClasses, ...borderClasses, ...backgroundClasses };\n\n return this.getClassesAsString(allClasses);\n }\n\n private getBackgroundClasses() {\n return {\n 'bg-primary hover:bg-primary-variation dark:bg-primary-dark':\n this.type === 'default' && this.variant === 'default',\n 'bg-secondary hover:bg-primary dark:bg-secondary-dark': this.type === 'alternate' && this.variant === 'default',\n 'bg-warning hover:bg-warning-variation': this.type === 'warning' && this.variant === 'default',\n 'bg-error hover:bg-error-variation': this.type === 'error' && this.variant === 'default',\n 'bg-success hover:bg-success-variation': this.type === 'success' && this.variant === 'default',\n };\n }\n\n private getBorderClasses() {\n return {\n border: this.variant === 'outline',\n 'border-primary dark:border-primary-dark': this.type === 'default' && this.variant === 'outline',\n 'border-secondary dark:border-secondary-dark': this.type === 'alternate' && this.variant === 'outline',\n 'border-warning': this.type === 'warning' && this.variant === 'outline',\n 'border-error': this.type === 'error' && this.variant === 'outline',\n 'border-success': this.type === 'success' && this.variant === 'outline',\n };\n }\n\n private getSizeAndTextClasses() {\n return {\n 'px-3 py-2': this.size === 'xs' || this.size === 'sm',\n 'px-5 py-2.5': this.size === 'base' || this.size === 'lg',\n 'px-6 py-3.5': this.size === 'xl',\n 'text-xs': this.size === 'xs',\n 'text-sm': this.size === 'sm' || this.size === 'base',\n 'text-base': this.size === 'lg' || this.size === 'xl',\n };\n }\n\n private getClassesAsString(classesObj: object) {\n return Object.entries(classesObj)\n .filter(([_, value]) => value)\n .map(([key, _]) => key)\n .join(' ');\n }\n}\n","<button class=\"flex flex-row items-center gap-1.5 rounded-md\" [ngClass]=\"getCssClasses()\">\n @if (icon) {\n <ct-icon class=\"flex\" [size]=\"size || 'base'\" [icon]=\"icon\" />\n }\n {{ text }}\n</button>\n","/*\n * Public API Surface of circletone\n */\nexport * from './lib/components/atoms/icon/icon.component';\nexport * from './lib/components/atoms/button/button.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|