@@ -173,6 +173,12 @@ <h3>Metadata</h3>
173173 </ tr >
174174
175175
176+ < tr >
177+ < td class ="col-md-3 "> imports</ td >
178+ < td class ="col-md-9 ">
179+ < code > CommonModule</ code >
180+ </ td >
181+ </ tr >
176182
177183
178184
@@ -228,6 +234,9 @@ <h6><b>Inputs</b></h6>
228234 < li >
229235 < a href ="#label " > label</ a >
230236 </ li >
237+ < li >
238+ < a href ="#labelAlignment " > labelAlignment</ a >
239+ </ li >
231240 </ ul >
232241 </ td >
233242 </ tr >
@@ -269,16 +278,54 @@ <h3 id="inputs">Inputs</h3>
269278 < i > Type : </ i > < code > < a href ="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string " target ="_blank " > string</ a > </ code >
270279
271280 </ td >
281+ </ tr >
282+ < tr >
283+ < td class ="col-md-4 ">
284+ < i > Default value : </ i > < code > ''</ code >
285+ </ td >
272286 </ tr >
273287 < tr >
274288 < td class ="col-md-2 " colspan ="2 ">
275- < div class ="io-line "> Defined in < a href ="" data-line ="22 " class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:22 </ a > </ div >
289+ < div class ="io-line "> Defined in < a href ="" data-line ="23 " class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:23 </ a > </ div >
276290 </ td >
277291 </ tr >
278292 < tr >
279293 < td class ="col-md-4 ">
280294 < div class ="io-description "> < p > The label text displayed in the form modal.</ p >
281295< p > This property should be provided by the parent component.</ p >
296+ </ div >
297+ </ td >
298+ </ tr >
299+ </ tbody >
300+ </ table >
301+ < table class ="table table-sm table-bordered ">
302+ < tbody >
303+ < tr >
304+ < td class ="col-md-4 ">
305+ < a name ="labelAlignment "> </ a >
306+ < b > labelAlignment</ b >
307+ </ td >
308+ </ tr >
309+ < tr >
310+ < td class ="col-md-4 ">
311+ < i > Type : </ i > < code > "left" | "center" | "right"</ code >
312+
313+ </ td >
314+ </ tr >
315+ < tr >
316+ < td class ="col-md-4 ">
317+ < i > Default value : </ i > < code > 'left'</ code >
318+ </ td >
319+ </ tr >
320+ < tr >
321+ < td class ="col-md-2 " colspan ="2 ">
322+ < div class ="io-line "> Defined in < a href ="" data-line ="29 " class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:29</ a > </ div >
323+ </ td >
324+ </ tr >
325+ < tr >
326+ < td class ="col-md-4 ">
327+ < div class ="io-description "> < p > Alignment of the label text: 'left', 'center', or 'right'.</ p >
328+ < p > Default is 'left'.</ p >
282329</ div >
283330 </ td >
284331 </ tr >
@@ -303,7 +350,7 @@ <h3 id="outputs">Outputs</h3>
303350 </ tr >
304351 < tr >
305352 < td class ="col-md-2 " colspan ="2 ">
306- < div class ="io-line "> Defined in < a href ="" data-line ="30 " class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:30 </ a > </ div >
353+ < div class ="io-line "> Defined in < a href ="" data-line ="37 " class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:37 </ a > </ div >
307354 </ td >
308355 </ tr >
309356 < tr >
@@ -344,8 +391,8 @@ <h3 id="methods">
344391
345392 < tr >
346393 < td class ="col-md-4 ">
347- < div class ="io-line "> Defined in < a href ="" data-line ="38 "
348- class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:38 </ a > </ div >
394+ < div class ="io-line "> Defined in < a href ="" data-line ="45 "
395+ class ="link-to-prism "> src/app/component/form-model/form-model.component.ts:45 </ a > </ div >
349396 </ td >
350397 </ tr >
351398
@@ -371,7 +418,8 @@ <h3 id="methods">
371418
372419
373420 < div class ="tab-pane fade tab-source-code " id ="source ">
374- < pre class ="line-numbers compodoc-sourcecode "> < code class ="language-typescript "> import { Component, EventEmitter, Input, Output } from '@angular/core';
421+ < pre class ="line-numbers compodoc-sourcecode "> < code class ="language-typescript "> import { CommonModule } from '@angular/common';
422+ import { Component, EventEmitter, Input, Output } from '@angular/core';
375423
376424/**
377425 * A reusable modal component for forms.
@@ -381,7 +429,7 @@ <h3 id="methods">
381429 */
382430@Component({
383431 selector: 'app-form-model',
384- imports: [],
432+ imports: [CommonModule ],
385433 templateUrl: './form-model.component.html',
386434 styleUrl: './form-model.component.css'
387435})
@@ -392,7 +440,13 @@ <h3 id="methods">
392440 *
393441 * This property should be provided by the parent component.
394442 */
395- @Input() label!: string;
443+ @Input() label: string = '';
444+
445+ /** Alignment of the label text: 'left', 'center', or 'right'.
446+ *
447+ * Default is 'left'.
448+ */
449+ @Input() labelAlignment: 'left' | 'center' | 'right' = 'left';
396450
397451 /**
398452 * Event emitted when the modal is closed.
@@ -417,14 +471,25 @@ <h3 id="methods">
417471 </ div >
418472
419473 < div class ="tab-pane fade " id ="templateData ">
420- < pre class ="line-numbers "> < code class ="language-html "> <div class="fixed inset-0 bg-black bg-opacity-40 z-50 flex items-center justify-center">
421- <div class="bg-[var(--color-bg)] p-6 rounded-xl w-11/12 md:w-1/2 max-h-[70vh] flex flex-col shadow-xl">
422- <div class="flex justify-between items-center mb-3">
474+ < pre class ="line-numbers "> < code class ="language-html "> <div class="fixed inset-0 bg-black bg-opacity-40 flex items-center justify-center" [ngStyle]="{ 'z-index': '99'}">
475+ <div class="bg-[var(--color-bg)] p-6 rounded-xl w-11/12 md:w-1/3 flex flex-col shadow-xl relative">
476+
477+ <!-- Header with dynamic text alignment -->
478+ <div class="mb-3" [ngClass]="{
479+ 'text-left': labelAlignment === 'left',
480+ 'text-center': labelAlignment === 'center',
481+ 'text-right': labelAlignment === 'right'
482+ }">
423483 <h2 class="text-lg font-bold text-[var(--color-text)]">
424484 {{ label }}
425485 </h2>
426- <button (click)="closeModel()" class="text-[var(--color-red)] font-bold text-xl">&times;</button>
427486 </div>
487+
488+ <!-- Close Button (absolute top-right) -->
489+ <button (click)="closeModel()" class="absolute top-4 right-4 text-[var(--color-red)] font-bold text-xl">
490+ &times;
491+ </button>
492+
428493 <ng-content></ng-content>
429494 </div>
430495</div></ code > </ pre >
@@ -456,7 +521,7 @@ <h3 id="methods">
456521< script src ="../js/libs/htmlparser.js "> </ script >
457522< script src ="../js/libs/deep-iterator.js "> </ script >
458523< script >
459- var COMPONENT_TEMPLATE = '<div><div class="fixed inset-0 bg-black bg-opacity-40 z-50 flex items-center justify-center"> <div class="bg-[var(--color-bg)] p-6 rounded-xl w-11/12 md:w-1/2 max-h-[70vh] flex flex-col shadow-xl"> <div class="flex justify-between items -center mb-3 "> <h2 class="text-lg font-bold text-[var(--color-text)]"> {{ label }} </h2> < button (click)="closeModel()" class="text-[var(--color-red)] font-bold text-xl">×</button> </div > <ng-content></ng-content> </div></div></div>'
524+ var COMPONENT_TEMPLATE = '<div><div class="fixed inset-0 bg-black bg-opacity-40 flex items-center justify-center" [ngStyle]="{ \'z-index\': \'99\'}" > <div class="bg-[var(--color-bg)] p-6 rounded-xl w-11/12 md:w-1/3 flex flex-col shadow-xl relative "> <!-- Header with dynamic text alignment --> < div class="mb-3" [ngClass]="{ \'text-left\': labelAlignment === \'left\', \'text -center\': labelAlignment === \'center\', \'text-right\': labelAlignment === \'right\' } "> <h2 class="text-lg font-bold text-[var(--color-text)]"> {{ label }} </h2> </div> <!-- Close Button (absolute top-right) --> < button (click)="closeModel()" class="absolute top-4 right-4 text-[var(--color-red)] font-bold text-xl"> × </button > <ng-content></ng-content> </div></div></div>'
460525 var COMPONENTS = [ { 'name' : 'AddExpenseComponent' , 'selector' : 'app-add-expense' } , { 'name' : 'AiComponent' , 'selector' : 'app-ai' } , { 'name' : 'AppComponent' , 'selector' : 'app-root' } , { 'name' : 'BudgetComponent' , 'selector' : 'app-budget' } , { 'name' : 'CalendarComponent' , 'selector' : 'app-calendar' } , { 'name' : 'CategoryDropdownComponent' , 'selector' : 'app-category-dropdown' } , { 'name' : 'DownloadComponentComponent' , 'selector' : 'app-download-component' } , { 'name' : 'ExpenseDetailsModalComponent' , 'selector' : 'app-expense-details-modal' } , { 'name' : 'ExpenseListComponent' , 'selector' : 'app-expense-list' } , { 'name' : 'FooterComponent' , 'selector' : 'app-footer' } , { 'name' : 'FormModelComponent' , 'selector' : 'app-form-model' } , { 'name' : 'GlobalLoaderComponent' , 'selector' : 'app-global-loader' } , { 'name' : 'GraphsComponent' , 'selector' : 'app-graphs' } , { 'name' : 'HamburgerMenuComponent' , 'selector' : 'app-hamburger-menu' } , { 'name' : 'HomeComponent' , 'selector' : 'app-home' } , { 'name' : 'InstallAppPopupComponentComponent' , 'selector' : 'app-install-app-popup-component' } , { 'name' : 'ListExpensesComponent' , 'selector' : 'app-list-expenses' } , { 'name' : 'MusicComponent' , 'selector' : 'app-music' } , { 'name' : 'NavbarComponent' , 'selector' : 'app-navbar' } , { 'name' : 'PieChartComponent' , 'selector' : 'app-pie-chart' } , { 'name' : 'SearchButtonComponent' , 'selector' : 'app-search-button' } , { 'name' : 'SettingItemComponent' , 'selector' : 'app-setting-item' } , { 'name' : 'SettingsComponent' , 'selector' : 'app-settings' } , { 'name' : 'SidebarComponent' , 'selector' : 'app-sidebar' } , { 'name' : 'TemplatePlaygroundComponent' , 'selector' : 'template-playground-root' } , { 'name' : 'ToastComponent' , 'selector' : 'app-toast' } ] ;
461526 var DIRECTIVES = [ ] ;
462527 var ACTUAL_COMPONENT = { 'name' : 'FormModelComponent' } ;
0 commit comments