UNPKG

shaqra-dga-platformscode-angular

Version:

Angular wrapper library for DGA Design System components. Provides Angular bindings and integration for @platformscode/core web components.

428 lines (419 loc) 26.3 kB
import * as i0 from '@angular/core'; import { Injectable, EventEmitter, forwardRef, Output, Input, Component, NgModule } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import * as i1 from '@angular/common'; import { CommonModule } from '@angular/common'; import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; // File: src/lib/shaqra-dga-platformscode-angular.service.ts class ShaqraDgaPlatformscodeAngularService { // Default configuration defaultConfig = { theme: { primaryColor: '#3498db', secondaryColor: '#ecf0f1', dangerColor: '#e74c3c', backgroundColor: '#ffffff', textColor: '#2c3e50', borderRadius: '8px', fontFamily: "'Segoe UI', Tahoma, Geneva, Verdana, sans-serif" }, globalDisabled: false, debugMode: false }; // Configuration state configSubject = new BehaviorSubject(this.defaultConfig); config$ = this.configSubject.asObservable(); // Component registration tracking registeredComponents = new Set(); componentUsageStats = new Map(); constructor() { this.logDebug('ShaqraDgaPlatformscodeAngularService initialized'); } /** * Get current configuration */ getConfig() { return this.configSubject.value; } /** * Update the global configuration */ updateConfig(config) { const currentConfig = this.configSubject.value; const newConfig = { ...currentConfig, ...config, theme: { ...currentConfig.theme, ...(config.theme || {}) } }; this.configSubject.next(newConfig); this.logDebug('Configuration updated', newConfig); } /** * Update only theme settings */ updateTheme(theme) { const currentConfig = this.configSubject.value; const newTheme = { ...currentConfig.theme, ...theme }; this.updateConfig({ theme: newTheme }); } /** * Reset configuration to defaults */ resetConfig() { this.configSubject.next({ ...this.defaultConfig }); this.logDebug('Configuration reset to defaults'); } /** * Enable/disable all components globally */ setGlobalDisabled(disabled) { this.updateConfig({ globalDisabled: disabled }); } /** * Enable/disable debug mode */ setDebugMode(enabled) { this.updateConfig({ debugMode: enabled }); } /** * Register a component (for tracking and debugging) */ registerComponent(componentName) { this.registeredComponents.add(componentName); const currentUsage = this.componentUsageStats.get(componentName) || 0; this.componentUsageStats.set(componentName, currentUsage + 1); this.logDebug(`Component registered: ${componentName}`, { totalRegistered: this.registeredComponents.size, usageCount: currentUsage + 1 }); } /** * Get list of registered components */ getRegisteredComponents() { return Array.from(this.registeredComponents); } /** * Get component usage statistics */ getComponentStats() { return new Map(this.componentUsageStats); } /** * Generate CSS custom properties from current theme */ generateCSSVariables() { const theme = this.configSubject.value.theme; return { '--shaqra-dga-primary-color': theme.primaryColor, '--shaqra-dga-secondary-color': theme.secondaryColor, '--shaqra-dga-danger-color': theme.dangerColor, '--shaqra-dga-background-color': theme.backgroundColor, '--shaqra-dga-text-color': theme.textColor, '--shaqra-dga-border-radius': theme.borderRadius, '--shaqra-dga-font-family': theme.fontFamily }; } /** * Apply theme to document root */ applyThemeToDocument() { const variables = this.generateCSSVariables(); const root = document.documentElement; Object.entries(variables).forEach(([property, value]) => { root.style.setProperty(property, value); }); this.logDebug('Theme applied to document', variables); } /** * Validate component configuration */ validateComponentConfig(componentName, config) { const isValid = config && typeof config === 'object'; this.logDebug(`Component config validation for ${componentName}:`, { isValid, config }); return isValid; } /** * Get library version and info */ getLibraryInfo() { return { name: 'shaqra-dga-platformscode-angular', version: '1.0.0', components: this.getRegisteredComponents() }; } /** * Debug logging utility */ logDebug(message, data) { if (this.configSubject.value.debugMode) { console.group(`[ShaqraDGA] ${message}`); if (data) { console.log(data); } console.groupEnd(); } } /** * Observable for theme changes */ get theme$() { return new Observable(observer => { this.config$.subscribe(config => { observer.next(config.theme); }); }); } /** * Check if components are globally disabled */ isGloballyDisabled() { return this.configSubject.value.globalDisabled; } /** * Utility method to create component-specific configuration */ createComponentConfig(componentName, baseConfig = {}) { const globalConfig = this.getConfig(); return { ...baseConfig, theme: globalConfig.theme, disabled: globalConfig.globalDisabled || baseConfig.disabled || false, debugMode: globalConfig.debugMode }; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); // File: src/lib/components/text-input-component/text-input.component.ts class TextInputComponent { placeholder = ''; label = ''; disabled = false; required = false; type = 'text'; valueChange = new EventEmitter(); value = ''; onChange = (value) => { }; onTouched = () => { }; writeValue(value) { this.value = value || ''; } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouched = fn; } setDisabledState(isDisabled) { this.disabled = isDisabled; } onInputChange(event) { this.value = event.target.value; this.onChange(this.value); this.valueChange.emit(this.value); } onBlur() { this.onTouched(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: TextInputComponent, isStandalone: false, selector: "shaqra-dga-text-input", inputs: { placeholder: "placeholder", label: "label", disabled: "disabled", required: "required", type: "type" }, outputs: { valueChange: "valueChange" }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextInputComponent), multi: true } ], ngImport: i0, template: "<!-- File: src/lib/components/text-input-component/text-input.component.html -->\r\n<div class=\"shaqra-dga-text-input-container\">\r\n <label *ngIf=\"label\" class=\"shaqra-dga-label\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"shaqra-dga-required\">*</span>\r\n </label>\r\n <input\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onBlur()\"\r\n class=\"shaqra-dga-input\"\r\n />\r\n</div>", styles: [".shaqra-dga-text-input-container{display:flex;flex-direction:column;margin-bottom:16px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.shaqra-dga-label{font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:6px;display:block}.shaqra-dga-required{color:#e74c3c;margin-left:2px}.shaqra-dga-input{padding:12px 16px;border:2px solid #bdc3c7;border-radius:8px;font-size:16px;transition:all .3s ease;outline:none;background-color:#fff;color:#2c3e50}.shaqra-dga-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.shaqra-dga-input:disabled{background-color:#ecf0f1;color:#7f8c8d;cursor:not-allowed}.shaqra-dga-input::placeholder{color:#95a5a6}.shaqra-dga-input:hover:not(:disabled){border-color:#34495e}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TextInputComponent, decorators: [{ type: Component, args: [{ selector: 'shaqra-dga-text-input', standalone: false, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextInputComponent), multi: true } ], template: "<!-- File: src/lib/components/text-input-component/text-input.component.html -->\r\n<div class=\"shaqra-dga-text-input-container\">\r\n <label *ngIf=\"label\" class=\"shaqra-dga-label\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"shaqra-dga-required\">*</span>\r\n </label>\r\n <input\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onBlur()\"\r\n class=\"shaqra-dga-input\"\r\n />\r\n</div>", styles: [".shaqra-dga-text-input-container{display:flex;flex-direction:column;margin-bottom:16px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.shaqra-dga-label{font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:6px;display:block}.shaqra-dga-required{color:#e74c3c;margin-left:2px}.shaqra-dga-input{padding:12px 16px;border:2px solid #bdc3c7;border-radius:8px;font-size:16px;transition:all .3s ease;outline:none;background-color:#fff;color:#2c3e50}.shaqra-dga-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.shaqra-dga-input:disabled{background-color:#ecf0f1;color:#7f8c8d;cursor:not-allowed}.shaqra-dga-input::placeholder{color:#95a5a6}.shaqra-dga-input:hover:not(:disabled){border-color:#34495e}\n"] }] }], propDecorators: { placeholder: [{ type: Input }], label: [{ type: Input }], disabled: [{ type: Input }], required: [{ type: Input }], type: [{ type: Input }], valueChange: [{ type: Output }] } }); // File: src/lib/components/button-component/button.component.ts class ButtonComponent { variant = 'primary'; size = 'medium'; disabled = false; loading = false; type = 'button'; clicked = new EventEmitter(); onClick() { if (!this.disabled && !this.loading) { this.clicked.emit(); } } get buttonClasses() { return [ 'shaqra-dga-button', `shaqra-dga-button--${this.variant}`, `shaqra-dga-button--${this.size}`, this.disabled ? 'shaqra-dga-button--disabled' : '', this.loading ? 'shaqra-dga-button--loading' : '' ].filter(Boolean).join(' '); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: ButtonComponent, isStandalone: false, selector: "shaqra-dga-button", inputs: { variant: "variant", size: "size", disabled: "disabled", loading: "loading", type: "type" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<!-- File: src/lib/components/button-component/button.component.html -->\r\n<button\r\n [type]=\"type\"\r\n [disabled]=\"disabled || loading\"\r\n [class]=\"buttonClasses\"\r\n (click)=\"onClick()\"\r\n>\r\n <span *ngIf=\"loading\" class=\"shaqra-dga-spinner\"></span>\r\n <span [class.shaqra-dga-button-content-hidden]=\"loading\">\r\n <ng-content></ng-content>\r\n </span>\r\n</button>", styles: [".shaqra-dga-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:600;text-align:center;cursor:pointer;transition:all .3s ease;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;outline:none}.shaqra-dga-button:focus{box-shadow:0 0 0 3px #3498db4d}.shaqra-dga-button--small{padding:8px 16px;font-size:14px;min-height:36px}.shaqra-dga-button--medium{padding:12px 24px;font-size:16px;min-height:44px}.shaqra-dga-button--large{padding:16px 32px;font-size:18px;min-height:52px}.shaqra-dga-button--primary{background-color:#3498db;color:#fff}.shaqra-dga-button--primary:hover:not(.shaqra-dga-button--disabled){background-color:#2980b9;transform:translateY(-1px)}.shaqra-dga-button--primary:active{transform:translateY(0)}.shaqra-dga-button--secondary{background-color:#ecf0f1;color:#2c3e50;border:2px solid #bdc3c7}.shaqra-dga-button--secondary:hover:not(.shaqra-dga-button--disabled){background-color:#d5dbdb;border-color:#95a5a6}.shaqra-dga-button--danger{background-color:#e74c3c;color:#fff}.shaqra-dga-button--danger:hover:not(.shaqra-dga-button--disabled){background-color:#c0392b;transform:translateY(-1px)}.shaqra-dga-button--danger:active{transform:translateY(0)}.shaqra-dga-button--disabled{opacity:.6;cursor:not-allowed;transform:none!important}.shaqra-dga-button--loading{cursor:wait}.shaqra-dga-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:shaqra-dga-spin 1s linear infinite;margin-right:8px}.shaqra-dga-button-content-hidden{visibility:hidden}@keyframes shaqra-dga-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ButtonComponent, decorators: [{ type: Component, args: [{ selector: 'shaqra-dga-button', standalone: false, template: "<!-- File: src/lib/components/button-component/button.component.html -->\r\n<button\r\n [type]=\"type\"\r\n [disabled]=\"disabled || loading\"\r\n [class]=\"buttonClasses\"\r\n (click)=\"onClick()\"\r\n>\r\n <span *ngIf=\"loading\" class=\"shaqra-dga-spinner\"></span>\r\n <span [class.shaqra-dga-button-content-hidden]=\"loading\">\r\n <ng-content></ng-content>\r\n </span>\r\n</button>", styles: [".shaqra-dga-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:600;text-align:center;cursor:pointer;transition:all .3s ease;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;outline:none}.shaqra-dga-button:focus{box-shadow:0 0 0 3px #3498db4d}.shaqra-dga-button--small{padding:8px 16px;font-size:14px;min-height:36px}.shaqra-dga-button--medium{padding:12px 24px;font-size:16px;min-height:44px}.shaqra-dga-button--large{padding:16px 32px;font-size:18px;min-height:52px}.shaqra-dga-button--primary{background-color:#3498db;color:#fff}.shaqra-dga-button--primary:hover:not(.shaqra-dga-button--disabled){background-color:#2980b9;transform:translateY(-1px)}.shaqra-dga-button--primary:active{transform:translateY(0)}.shaqra-dga-button--secondary{background-color:#ecf0f1;color:#2c3e50;border:2px solid #bdc3c7}.shaqra-dga-button--secondary:hover:not(.shaqra-dga-button--disabled){background-color:#d5dbdb;border-color:#95a5a6}.shaqra-dga-button--danger{background-color:#e74c3c;color:#fff}.shaqra-dga-button--danger:hover:not(.shaqra-dga-button--disabled){background-color:#c0392b;transform:translateY(-1px)}.shaqra-dga-button--danger:active{transform:translateY(0)}.shaqra-dga-button--disabled{opacity:.6;cursor:not-allowed;transform:none!important}.shaqra-dga-button--loading{cursor:wait}.shaqra-dga-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:shaqra-dga-spin 1s linear infinite;margin-right:8px}.shaqra-dga-button-content-hidden{visibility:hidden}@keyframes shaqra-dga-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }] }], propDecorators: { variant: [{ type: Input }], size: [{ type: Input }], disabled: [{ type: Input }], loading: [{ type: Input }], type: [{ type: Input }], clicked: [{ type: Output }] } }); // File: src/lib/shaqra-dga-platformscode-angular.component.ts class ShaqraDgaPlatformscodeAngularComponent { title = 'Shaqra DGA Component Library'; showDemo = true; onDemoButtonClick() { alert('Demo button clicked! The library is working correctly.'); console.log('Shaqra DGA Platform Code Angular - Demo button clicked'); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: ShaqraDgaPlatformscodeAngularComponent, isStandalone: false, selector: "lib-shaqra-dga-platformscode-angular", inputs: { title: "title", showDemo: "showDemo" }, ngImport: i0, template: ` <div class="shaqra-dga-library-container"> <h2 class="shaqra-dga-library-title">{{title}}</h2> <p class="shaqra-dga-library-description"> Welcome to Shaqra DGA Platformscode Angular Component Library </p> <div class="shaqra-dga-library-info"> <p>This library includes:</p> <ul class="shaqra-dga-component-list"> <li>shaqra-dga-text-input - Custom text input component</li> <li>shaqra-dga-button - Custom button component</li> <li>More components coming soon...</li> </ul> </div> <div class="shaqra-dga-library-demo" *ngIf="showDemo"> <h3>Demo:</h3> <shaqra-dga-text-input label="Sample Input" placeholder="Try typing here..."> </shaqra-dga-text-input> <shaqra-dga-button variant="primary" (clicked)="onDemoButtonClick()"> Demo Button </shaqra-dga-button> </div> </div> `, isInline: true, styles: [".shaqra-dga-library-container{padding:24px;border:2px solid #3498db;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:600px;margin:20px auto;box-shadow:0 4px 6px #0000001a}.shaqra-dga-library-title{color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 16px;text-align:center;border-bottom:3px solid #3498db;padding-bottom:12px}.shaqra-dga-library-description{color:#34495e;font-size:16px;text-align:center;margin-bottom:24px;font-weight:500}.shaqra-dga-library-info{background-color:#fff;padding:20px;border-radius:8px;border-left:4px solid #3498db;margin-bottom:20px}.shaqra-dga-library-info p{margin:0 0 12px;font-weight:600;color:#2c3e50}.shaqra-dga-component-list{margin:0;padding-left:20px;color:#34495e}.shaqra-dga-component-list li{margin-bottom:8px;font-family:Courier New,monospace;font-size:14px;background-color:#ecf0f1;padding:4px 8px;border-radius:4px;list-style-type:none;position:relative}.shaqra-dga-component-list li:before{content:\"\\1f4e6\";margin-right:8px}.shaqra-dga-library-demo{background-color:#fff;padding:20px;border-radius:8px;border:1px solid #bdc3c7}.shaqra-dga-library-demo h3{margin:0 0 16px;color:#2c3e50;font-size:18px}.shaqra-dga-library-demo shaqra-dga-button{margin-top:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextInputComponent, selector: "shaqra-dga-text-input", inputs: ["placeholder", "label", "disabled", "required", "type"], outputs: ["valueChange"] }, { kind: "component", type: ButtonComponent, selector: "shaqra-dga-button", inputs: ["variant", "size", "disabled", "loading", "type"], outputs: ["clicked"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularComponent, decorators: [{ type: Component, args: [{ selector: 'lib-shaqra-dga-platformscode-angular', standalone: false, template: ` <div class="shaqra-dga-library-container"> <h2 class="shaqra-dga-library-title">{{title}}</h2> <p class="shaqra-dga-library-description"> Welcome to Shaqra DGA Platformscode Angular Component Library </p> <div class="shaqra-dga-library-info"> <p>This library includes:</p> <ul class="shaqra-dga-component-list"> <li>shaqra-dga-text-input - Custom text input component</li> <li>shaqra-dga-button - Custom button component</li> <li>More components coming soon...</li> </ul> </div> <div class="shaqra-dga-library-demo" *ngIf="showDemo"> <h3>Demo:</h3> <shaqra-dga-text-input label="Sample Input" placeholder="Try typing here..."> </shaqra-dga-text-input> <shaqra-dga-button variant="primary" (clicked)="onDemoButtonClick()"> Demo Button </shaqra-dga-button> </div> </div> `, styles: [".shaqra-dga-library-container{padding:24px;border:2px solid #3498db;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:600px;margin:20px auto;box-shadow:0 4px 6px #0000001a}.shaqra-dga-library-title{color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 16px;text-align:center;border-bottom:3px solid #3498db;padding-bottom:12px}.shaqra-dga-library-description{color:#34495e;font-size:16px;text-align:center;margin-bottom:24px;font-weight:500}.shaqra-dga-library-info{background-color:#fff;padding:20px;border-radius:8px;border-left:4px solid #3498db;margin-bottom:20px}.shaqra-dga-library-info p{margin:0 0 12px;font-weight:600;color:#2c3e50}.shaqra-dga-component-list{margin:0;padding-left:20px;color:#34495e}.shaqra-dga-component-list li{margin-bottom:8px;font-family:Courier New,monospace;font-size:14px;background-color:#ecf0f1;padding:4px 8px;border-radius:4px;list-style-type:none;position:relative}.shaqra-dga-component-list li:before{content:\"\\1f4e6\";margin-right:8px}.shaqra-dga-library-demo{background-color:#fff;padding:20px;border-radius:8px;border:1px solid #bdc3c7}.shaqra-dga-library-demo h3{margin:0 0 16px;color:#2c3e50;font-size:18px}.shaqra-dga-library-demo shaqra-dga-button{margin-top:12px}\n"] }] }], propDecorators: { title: [{ type: Input }], showDemo: [{ type: Input }] } }); // File: src/lib/shaqra-dga-platformscode-angular.module.ts class ShaqraDgaPlatformscodeAngularModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularModule, declarations: [ShaqraDgaPlatformscodeAngularComponent, TextInputComponent, ButtonComponent], imports: [CommonModule, FormsModule], exports: [ShaqraDgaPlatformscodeAngularComponent, TextInputComponent, ButtonComponent] }); static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularModule, imports: [CommonModule, FormsModule] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShaqraDgaPlatformscodeAngularModule, decorators: [{ type: NgModule, args: [{ declarations: [ ShaqraDgaPlatformscodeAngularComponent, TextInputComponent, ButtonComponent ], imports: [ CommonModule, FormsModule, ], exports: [ ShaqraDgaPlatformscodeAngularComponent, TextInputComponent, ButtonComponent ] }] }] }); /* * Public API Surface of shaqra-dga-platformscode-angular */ // Core library exports /** * Generated bundle index. Do not edit. */ export { ButtonComponent, ShaqraDgaPlatformscodeAngularComponent, ShaqraDgaPlatformscodeAngularModule, ShaqraDgaPlatformscodeAngularService, TextInputComponent }; //# sourceMappingURL=shaqra-dga-platformscode-angular.mjs.map