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
JavaScript
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