UNPKG

@igo2/common

Version:
1 lines 8.73 kB
{"version":3,"file":"igo2-common-icon.mjs","sources":["../../../packages/common/icon/src/shared/icons.ts","../../../packages/common/icon/src/shared/icon.service.ts","../../../packages/common/icon/src/icon.provider.ts","../../../packages/common/icon/src/icon/icon.component.ts","../../../packages/common/icon/src/icon/icon.component.html","../../../packages/common/icon/src/igo2-common-icon.ts"],"sourcesContent":["import { IconSvg } from './icon.interface';\n\n/**\n * Source: https://pictogrammers.com/library/mdi/\n */\n\nexport const MICROSOFT_ICON: IconSvg = {\n name: 'microsoft',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>microsoft</title><path d=\"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\" /></svg>\n`\n};\n\nexport const KEYBOARD_ESC_ICON: IconSvg = {\n name: 'keyboard-esc',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>keyboard-esc</title><path d=\"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\" /></svg>\n`\n};\n\nexport const ENGINE_ICON: IconSvg = {\n name: 'engine',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>engine</title><path d=\"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\" /></svg>\n`\n};\n\nexport const SELECTION_MARKER_ICON: IconSvg = {\n name: 'selection-marker',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>selection-marker</title><path d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" /></svg>\n`\n};\n\nexport const PRESENTATION_PLAY_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>presentation-play</title><path d=\"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\" /></svg>`\n};\n\nexport const CIRCLE_SMALL_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>circle-small</title><path d=\"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\" /></svg>`\n};\n\nexport const VECTOR_SQUARE_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>vector-square</title><path d=\"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\" /></svg>`\n};\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconSvg } from './icon.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconService {\n constructor(\n private iconRegistry: MatIconRegistry,\n private sanitizer: DomSanitizer\n ) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconRegistry.addSvgIconLiteral(\n icon.name,\n this.sanitizer.bypassSecurityTrustHtml(icon.svg)\n );\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\n\ntype MaterialSymbolStyle = 'outlined' | 'rounded' | 'sharp';\n\nexport function provideIcon(\n style: MaterialSymbolStyle = 'outlined'\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n MatIconModule,\n provideAppInitializer(() => {\n const iconRegistry = inject(MatIconRegistry);\n iconRegistry.setDefaultFontSetClass(`material-symbols-${style}`);\n return;\n })\n ]);\n}\n","import { Component, Input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconSvg } from '../shared';\nimport { IconService } from '../shared/icon.service';\n\n@Component({\n selector: 'igo-icon',\n imports: [MatIconModule],\n templateUrl: './icon.component.html',\n styles: `\n :host {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n `\n})\nexport class IgoIconComponent {\n @Input() color: string | null | undefined;\n\n @Input({ required: true })\n set icon(icon: string | IconSvg) {\n if (this.isSvg(icon)) {\n this.registerSvg(icon);\n }\n\n this._icon = icon;\n }\n get icon(): string | IconSvg {\n return this._icon;\n }\n private _icon: string | IconSvg;\n\n constructor(private iconService: IconService) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconService.registerSvg(icon);\n }\n\n isSvg(icon: string | IconSvg): icon is IconSvg {\n return typeof icon != 'string';\n }\n}\n","@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\" [color]=\"color\"></mat-icon>\n} @else {\n <mat-icon [color]=\"color\">{{ icon }}</mat-icon>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IconService","i2"],"mappings":"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"}