@ncim/sdk 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{ncim-sdk-ncim-sdk-Cxn6UL5k.mjs → ncim-sdk-ncim-sdk-DmQ2diWe.mjs} +962 -955
- package/fesm2022/ncim-sdk-ncim-sdk-DmQ2diWe.mjs.map +1 -0
- package/fesm2022/{ncim-sdk-sso-callback-fr4RiMHN.mjs → ncim-sdk-sso-callback-BKf_tW_o.mjs} +2 -2
- package/fesm2022/{ncim-sdk-sso-callback-fr4RiMHN.mjs.map → ncim-sdk-sso-callback-BKf_tW_o.mjs.map} +1 -1
- package/fesm2022/{ncim-sdk-sso-error-zjdDcsz_.mjs → ncim-sdk-sso-error-DvXH8oug.mjs} +2 -2
- package/fesm2022/{ncim-sdk-sso-error-zjdDcsz_.mjs.map → ncim-sdk-sso-error-DvXH8oug.mjs.map} +1 -1
- package/fesm2022/ncim-sdk-ui.mjs +954 -978
- package/fesm2022/ncim-sdk-ui.mjs.map +1 -1
- package/fesm2022/ncim-sdk.mjs +1 -1
- package/package.json +1 -1
- package/types/ncim-sdk-features.d.ts +1 -1
- package/types/ncim-sdk-ui.d.ts +84 -92
- package/types/ncim-sdk.d.ts +87 -92
- package/fesm2022/ncim-sdk-ncim-sdk-Cxn6UL5k.mjs.map +0 -1
package/fesm2022/ncim-sdk.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { i as NcimCore, d as NcimFeatures, e as NcimState, f as NcimUI } from './ncim-sdk-ncim-sdk-
|
|
1
|
+
export { i as NcimCore, d as NcimFeatures, e as NcimState, f as NcimUI } from './ncim-sdk-ncim-sdk-DmQ2diWe.mjs';
|
|
2
2
|
//# sourceMappingURL=ncim-sdk.mjs.map
|
package/package.json
CHANGED
|
@@ -792,7 +792,7 @@ declare class NewTicketDialog {
|
|
|
792
792
|
private readonly translate;
|
|
793
793
|
readonly visible: _angular_core.InputSignal<boolean>;
|
|
794
794
|
readonly visibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
795
|
-
readonly view: _angular_core.WritableSignal<"
|
|
795
|
+
readonly view: _angular_core.WritableSignal<"form" | "success">;
|
|
796
796
|
readonly attachedFiles: _angular_core.WritableSignal<File[]>;
|
|
797
797
|
readonly ticketNumber: _angular_core.WritableSignal<string>;
|
|
798
798
|
readonly submitted: _angular_core.WritableSignal<boolean>;
|
package/types/ncim-sdk-ui.d.ts
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef, AfterContentInit,
|
|
2
|
+
import { AfterViewInit, DestroyRef, ElementRef, AfterContentInit, OnDestroy, TemplateRef } from '@angular/core';
|
|
3
3
|
import { IconName, InputType, TrendDirection, MarkerStatus, MapLegendStatus } from './ncim-sdk-core';
|
|
4
|
-
import { PopupModalBase as PopupModalBase$1 } from './ncim-sdk-ui';
|
|
5
4
|
import { ControlValueAccessor, FormControl, FormGroup, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
6
|
-
import { QuickFilterTag as QuickFilterTag$1 } from './ncim-sdk-ui';
|
|
7
|
-
import { SelectOption as SelectOption$1 } from './ncim-sdk-ui';
|
|
8
|
-
import { InputFilter as InputFilter$1 } from './ncim-sdk-ui';
|
|
9
5
|
import * as _libs_core from './ncim-sdk-core';
|
|
10
6
|
import { ExportPdfOptions } from './ncim-sdk-core';
|
|
11
7
|
import { ViolationFine, ViolationBusiness, ViolationCorrectionPeriod } from './ncim-sdk-core';
|
|
12
8
|
import { EChartsOption } from 'echarts';
|
|
13
|
-
import { MapMarkerData as MapMarkerData$1 } from './ncim-sdk-ui';
|
|
14
9
|
import { TranslateService } from '@ngx-translate/core';
|
|
15
10
|
import { MenuItem } from 'primeng/api';
|
|
16
|
-
import { BreadcrumbItem as BreadcrumbItem$1 } from './ncim-sdk-ui';
|
|
17
|
-
import { AccordionItem as AccordionItem$1 } from './ncim-sdk-ui';
|
|
18
11
|
import { ButtonSeverity } from 'primeng/button';
|
|
19
12
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
20
|
-
import { Popup as Popup$1 } from './ncim-sdk-ui';
|
|
21
13
|
import { LoadingService } from './ncim-sdk-core';
|
|
22
14
|
|
|
23
15
|
interface NavItem {
|
|
@@ -73,7 +65,56 @@ declare class Sidebar {
|
|
|
73
65
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sidebar, "ncim-sidebar", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "notificationCount": { "alias": "notificationCount"; "required": false; "isSignal": true; }; "userAvatar": { "alias": "userAvatar"; "required": false; "isSignal": true; }; "showCompleteTraining": { "alias": "showCompleteTraining"; "required": false; "isSignal": true; }; "showAppsMenu": { "alias": "showAppsMenu"; "required": false; "isSignal": true; }; "activeActionId": { "alias": "activeActionId"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "panelOpen": { "alias": "panelOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "panelOpen": "panelOpenChange"; "footerActionClick": "footerActionClick"; "menuToggle": "menuToggle"; }, never, never, true, never>;
|
|
74
66
|
}
|
|
75
67
|
|
|
76
|
-
declare class
|
|
68
|
+
declare class Popup {
|
|
69
|
+
readonly open: _angular_core.InputSignal<boolean>;
|
|
70
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
71
|
+
readonly footerBorder: _angular_core.InputSignal<boolean>;
|
|
72
|
+
readonly footerStyle: _angular_core.InputSignal<boolean>;
|
|
73
|
+
readonly showCloseButton: _angular_core.InputSignal<boolean>;
|
|
74
|
+
readonly showBackButton: _angular_core.InputSignal<boolean>;
|
|
75
|
+
readonly largeHeader: _angular_core.InputSignal<boolean>;
|
|
76
|
+
readonly closeOnBackdropClick: _angular_core.InputSignal<boolean>;
|
|
77
|
+
readonly size: _angular_core.InputSignal<"small" | "medium" | "large" | "extra-large">;
|
|
78
|
+
readonly width: _angular_core.InputSignal<string>;
|
|
79
|
+
readonly dismissed: _angular_core.OutputEmitterRef<void>;
|
|
80
|
+
readonly backClicked: _angular_core.OutputEmitterRef<void>;
|
|
81
|
+
protected readonly titleId: string;
|
|
82
|
+
protected readonly dialogStyle: _angular_core.Signal<{
|
|
83
|
+
width: string;
|
|
84
|
+
maxWidth: string;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* Guard against double-emission: when the close button is clicked,
|
|
88
|
+
* `close()` emits `dismissed` directly. PrimeNG then hides the dialog
|
|
89
|
+
* and fires `onHide` — we skip that second emission.
|
|
90
|
+
*/
|
|
91
|
+
private _closedByButton;
|
|
92
|
+
/** Called by the × button in the header. */
|
|
93
|
+
close(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Called by PrimeNG when the dialog hides — covers dismissableMask
|
|
96
|
+
* (backdrop click) and ESC key. The close-button path is guarded above.
|
|
97
|
+
*/
|
|
98
|
+
onHide(): void;
|
|
99
|
+
back(): void;
|
|
100
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Popup, never>;
|
|
101
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Popup, "ncim-popup", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "footerBorder": { "alias": "footerBorder"; "required": false; "isSignal": true; }; "footerStyle": { "alias": "footerStyle"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "showBackButton": { "alias": "showBackButton"; "required": false; "isSignal": true; }; "largeHeader": { "alias": "largeHeader"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "backClicked": "backClicked"; }, never, ["[subTitle]", "*", "[popupFooter]"], true, never>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare abstract class PopupModalBase<T = unknown> implements AfterViewInit {
|
|
105
|
+
protected readonly destroyRef: DestroyRef;
|
|
106
|
+
readonly modalData: _angular_core.WritableSignal<T | null>;
|
|
107
|
+
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
108
|
+
readonly popup: _angular_core.Signal<Popup>;
|
|
109
|
+
readonly dismissed: _angular_core.OutputEmitterRef<void>;
|
|
110
|
+
openModal(data?: T): void;
|
|
111
|
+
closeModal(): void;
|
|
112
|
+
ngAfterViewInit(): void;
|
|
113
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopupModalBase<any>, never>;
|
|
114
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopupModalBase<any>, "ng-component", never, {}, { "dismissed": "dismissed"; }, never, never, true, never>;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
declare class LogoutModal extends PopupModalBase {
|
|
77
118
|
readonly confirmed: _angular_core.OutputEmitterRef<void>;
|
|
78
119
|
protected onConfirm(): void;
|
|
79
120
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LogoutModal, never>;
|
|
@@ -180,7 +221,7 @@ declare class OtpInput implements ControlValueAccessor {
|
|
|
180
221
|
}
|
|
181
222
|
|
|
182
223
|
declare class NcimButton {
|
|
183
|
-
readonly variant: _angular_core.InputSignal<"primary" | "black" | "neutral" | "secondary" | "transparent" | "outline"
|
|
224
|
+
readonly variant: _angular_core.InputSignal<"link" | "primary" | "black" | "neutral" | "secondary" | "transparent" | "outline">;
|
|
184
225
|
readonly type: _angular_core.InputSignal<"button" | "submit">;
|
|
185
226
|
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
186
227
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -206,7 +247,7 @@ interface StepItem {
|
|
|
206
247
|
}
|
|
207
248
|
declare class Stepper {
|
|
208
249
|
readonly steps: _angular_core.InputSignal<StepItem[]>;
|
|
209
|
-
readonly variant: _angular_core.InputSignal<"
|
|
250
|
+
readonly variant: _angular_core.InputSignal<"steps" | "progress" | "pills">;
|
|
210
251
|
readonly linear: _angular_core.InputSignal<boolean>;
|
|
211
252
|
readonly width: _angular_core.InputSignal<number>;
|
|
212
253
|
readonly stepChange: _angular_core.OutputEmitterRef<string>;
|
|
@@ -221,7 +262,7 @@ declare class RegisterLayout {
|
|
|
221
262
|
readonly sidebarDescription: _angular_core.InputSignal<string>;
|
|
222
263
|
readonly sidebarImage: _angular_core.InputSignal<string>;
|
|
223
264
|
readonly steps: _angular_core.InputSignal<StepItem[]>;
|
|
224
|
-
readonly stepperVariant: _angular_core.InputSignal<"
|
|
265
|
+
readonly stepperVariant: _angular_core.InputSignal<"steps" | "progress">;
|
|
225
266
|
readonly linear: _angular_core.InputSignal<boolean>;
|
|
226
267
|
readonly stepChange: _angular_core.OutputEmitterRef<string>;
|
|
227
268
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RegisterLayout, never>;
|
|
@@ -379,7 +420,7 @@ interface TabItem {
|
|
|
379
420
|
declare class Tabs {
|
|
380
421
|
readonly items: _angular_core.InputSignal<TabItem[]>;
|
|
381
422
|
readonly activeId: _angular_core.InputSignal<string>;
|
|
382
|
-
readonly variant: _angular_core.InputSignal<"
|
|
423
|
+
readonly variant: _angular_core.InputSignal<"pills" | "default" | "underline">;
|
|
383
424
|
readonly size: _angular_core.InputSignal<"small" | "medium" | "large">;
|
|
384
425
|
readonly justify: _angular_core.InputSignal<"start" | "end" | "center" | "between">;
|
|
385
426
|
readonly tabChange: _angular_core.OutputEmitterRef<string>;
|
|
@@ -468,14 +509,14 @@ declare class FormInput implements ControlValueAccessor {
|
|
|
468
509
|
readonly isDate: _angular_core.Signal<boolean>;
|
|
469
510
|
readonly isDateTime: _angular_core.Signal<boolean>;
|
|
470
511
|
readonly isDatePicker: _angular_core.Signal<boolean>;
|
|
471
|
-
readonly datePickerAppendTo: _angular_core.Signal<"body" |
|
|
512
|
+
readonly datePickerAppendTo: _angular_core.Signal<HTMLElement | "body" | "self" | null | undefined>;
|
|
472
513
|
readonly isTextarea: _angular_core.Signal<boolean>;
|
|
473
514
|
readonly isCheckboxRadio: _angular_core.Signal<boolean>;
|
|
474
515
|
readonly maxLength: _angular_core.Signal<10 | 255>;
|
|
475
516
|
readonly inputType: _angular_core.Signal<InputType | "tel" | "datetime-local">;
|
|
476
517
|
readonly inputMode: _angular_core.Signal<"numeric" | "tel" | null>;
|
|
477
518
|
readonly autocomplete: _angular_core.Signal<"off" | "tel">;
|
|
478
|
-
readonly inputFilter: _angular_core.Signal<"
|
|
519
|
+
readonly inputFilter: _angular_core.Signal<"numeric" | "phone" | "noComma" | null>;
|
|
479
520
|
private static readonly ERROR_MAP;
|
|
480
521
|
readonly errorKey: _angular_core.Signal<string>;
|
|
481
522
|
readonly showError: _angular_core.Signal<boolean>;
|
|
@@ -524,6 +565,20 @@ declare class FormMultiSelect {
|
|
|
524
565
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormMultiSelect, "ncim-form-multi-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; }, never, never, true, never>;
|
|
525
566
|
}
|
|
526
567
|
|
|
568
|
+
/** A single active filter tag (e.g. "الحالة (1): جسيمة") */
|
|
569
|
+
interface QuickFilterTag {
|
|
570
|
+
/** Filter label (e.g. "الحالة", "المدينة") */
|
|
571
|
+
label: string;
|
|
572
|
+
/** Number of selected items */
|
|
573
|
+
count: number;
|
|
574
|
+
/** Display value for single-value tags */
|
|
575
|
+
value: string;
|
|
576
|
+
/** Individual display values for multi-value tags — renders separate removable badges */
|
|
577
|
+
values?: string[];
|
|
578
|
+
/** Optional key for removal */
|
|
579
|
+
key?: string;
|
|
580
|
+
}
|
|
581
|
+
|
|
527
582
|
type FilterFieldType = 'text' | 'select' | 'multiselect' | 'date' | 'datetime' | 'date-range' | 'number' | 'search' | 'checkbox' | 'radio' | 'checkbox-search' | 'divider';
|
|
528
583
|
interface FilterFieldConfig {
|
|
529
584
|
/** Unique key — maps directly to the signal model property */
|
|
@@ -541,7 +596,7 @@ interface FilterFieldConfig {
|
|
|
541
596
|
/** Icon position — defaults to 'end' */
|
|
542
597
|
iconPosition?: 'start' | 'end';
|
|
543
598
|
/** Options list — required when type === 'select' | 'multiselect' | 'checkbox' | 'checkbox-search' | 'radio' */
|
|
544
|
-
options?: SelectOption
|
|
599
|
+
options?: SelectOption[];
|
|
545
600
|
/**
|
|
546
601
|
* CSS track size for this field's column.
|
|
547
602
|
* Used only in auto layout (when FilterFormConfig.columns is NOT set).
|
|
@@ -566,7 +621,7 @@ interface FilterFieldConfig {
|
|
|
566
621
|
/** Name attribute for radio groups — auto-generated if omitted */
|
|
567
622
|
radioName?: string;
|
|
568
623
|
/** Optional input filter override (e.g. 'noComma' for search fields). */
|
|
569
|
-
inputFilter?: InputFilter
|
|
624
|
+
inputFilter?: InputFilter;
|
|
570
625
|
}
|
|
571
626
|
interface FilterFormConfig {
|
|
572
627
|
/** All field definitions */
|
|
@@ -613,7 +668,7 @@ declare class FilterForm implements OnDestroy {
|
|
|
613
668
|
readonly hasActiveFilters: _angular_core.Signal<boolean>;
|
|
614
669
|
readonly fieldStringValues: _angular_core.Signal<Record<string, string>>;
|
|
615
670
|
readonly fieldMultiValues: _angular_core.Signal<Record<string, string[]>>;
|
|
616
|
-
readonly activeFilterTags: _angular_core.Signal<QuickFilterTag
|
|
671
|
+
readonly activeFilterTags: _angular_core.Signal<QuickFilterTag[]>;
|
|
617
672
|
private _debounceTimer;
|
|
618
673
|
constructor();
|
|
619
674
|
ngOnDestroy(): void;
|
|
@@ -627,7 +682,7 @@ declare class FilterForm implements OnDestroy {
|
|
|
627
682
|
onSubmit(): void;
|
|
628
683
|
onReset(): void;
|
|
629
684
|
onClearAll(): void;
|
|
630
|
-
onFilterTagClick(tag: QuickFilterTag
|
|
685
|
+
onFilterTagClick(tag: QuickFilterTag): void;
|
|
631
686
|
private defaultFor;
|
|
632
687
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterForm, never>;
|
|
633
688
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterForm, "ncim-filter-form", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "quickFilterTitle": { "alias": "quickFilterTitle"; "required": false; "isSignal": true; }; "quickFilterCounter": { "alias": "quickFilterCounter"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "filterSubmit": "filterSubmit"; "filterReset": "filterReset"; "saveFilterClick": "saveFilterClick"; }, never, never, true, never>;
|
|
@@ -788,7 +843,7 @@ declare class StatsAnalyticsCard {
|
|
|
788
843
|
readonly chartShowArea: _angular_core.InputSignal<boolean>;
|
|
789
844
|
/** Sparkline ↔ text gap: `sm` 12px (first KPI card), `md` 16px (second). */
|
|
790
845
|
readonly surfaceGap: _angular_core.InputSignal<"sm" | "md">;
|
|
791
|
-
readonly trendIcon: _angular_core.Signal<"trend-
|
|
846
|
+
readonly trendIcon: _angular_core.Signal<"trend-up-arrow" | "trend-down-arrow">;
|
|
792
847
|
readonly showChart: _angular_core.Signal<boolean>;
|
|
793
848
|
/** Mutable series for `ncim-sparkline` — satisfies template assignability to `number[]`. */
|
|
794
849
|
readonly sparklineData: _angular_core.Signal<number[]>;
|
|
@@ -1439,7 +1494,7 @@ declare class CategoryTile {
|
|
|
1439
1494
|
readonly label: _angular_core.InputSignal<string>;
|
|
1440
1495
|
readonly routerLink: _angular_core.InputSignal<string | undefined>;
|
|
1441
1496
|
readonly description: _angular_core.InputSignal<string | null>;
|
|
1442
|
-
readonly variant: _angular_core.InputSignal<"
|
|
1497
|
+
readonly variant: _angular_core.InputSignal<"wide" | "narrow">;
|
|
1443
1498
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CategoryTile, never>;
|
|
1444
1499
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CategoryTile, "ncim-category-tile", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1445
1500
|
}
|
|
@@ -1786,7 +1841,7 @@ declare class StoreLocations {
|
|
|
1786
1841
|
readonly zoom: _angular_core.InputSignal<number>;
|
|
1787
1842
|
readonly centerLat: _angular_core.InputSignal<number>;
|
|
1788
1843
|
readonly centerLng: _angular_core.InputSignal<number>;
|
|
1789
|
-
readonly markers: _angular_core.InputSignal<MapMarkerData
|
|
1844
|
+
readonly markers: _angular_core.InputSignal<MapMarkerData[]>;
|
|
1790
1845
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StoreLocations, never>;
|
|
1791
1846
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StoreLocations, "ncim-store-locations", never, { "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "centerLat": { "alias": "centerLat"; "required": false; "isSignal": true; }; "centerLng": { "alias": "centerLng"; "required": false; "isSignal": true; }; "markers": { "alias": "markers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1792
1847
|
}
|
|
@@ -2047,7 +2102,7 @@ declare class Breadcrumb {
|
|
|
2047
2102
|
declare class PageHeader {
|
|
2048
2103
|
readonly titleKey: _angular_core.InputSignal<string>;
|
|
2049
2104
|
readonly title: _angular_core.InputSignal<string>;
|
|
2050
|
-
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem
|
|
2105
|
+
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
2051
2106
|
readonly showBreadcrumb: _angular_core.InputSignal<boolean>;
|
|
2052
2107
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageHeader, never>;
|
|
2053
2108
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageHeader, "ncim-page-header", never, { "titleKey": { "alias": "titleKey"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "breadcrumbItems": { "alias": "breadcrumbItems"; "required": false; "isSignal": true; }; "showBreadcrumb": { "alias": "showBreadcrumb"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -2129,7 +2184,7 @@ declare class ArticleDetail {
|
|
|
2129
2184
|
readonly videoSrc: _angular_core.InputSignal<string>;
|
|
2130
2185
|
readonly titleKey: _angular_core.InputSignal<string>;
|
|
2131
2186
|
readonly contentKey: _angular_core.InputSignal<string>;
|
|
2132
|
-
readonly accordionItems: _angular_core.InputSignal<AccordionItem
|
|
2187
|
+
readonly accordionItems: _angular_core.InputSignal<AccordionItem[]>;
|
|
2133
2188
|
readonly accordionTitleKey: _angular_core.InputSignal<string>;
|
|
2134
2189
|
readonly feedback: _angular_core.OutputEmitterRef<"yes" | "no">;
|
|
2135
2190
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleDetail, never>;
|
|
@@ -2165,7 +2220,7 @@ declare class ArticleSidebar {
|
|
|
2165
2220
|
|
|
2166
2221
|
declare class CardsListPage {
|
|
2167
2222
|
readonly titleKey: _angular_core.InputSignal<string>;
|
|
2168
|
-
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem
|
|
2223
|
+
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
2169
2224
|
readonly items: _angular_core.InputSignal<NavCardItem[]>;
|
|
2170
2225
|
readonly getItemRoute: _angular_core.InputSignal<(slug: string) => string[]>;
|
|
2171
2226
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardsListPage, never>;
|
|
@@ -2174,10 +2229,10 @@ declare class CardsListPage {
|
|
|
2174
2229
|
|
|
2175
2230
|
declare class ArticlePage {
|
|
2176
2231
|
readonly titleKey: _angular_core.InputSignal<string>;
|
|
2177
|
-
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem
|
|
2232
|
+
readonly breadcrumbItems: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
2178
2233
|
readonly videoSrc: _angular_core.InputSignal<string>;
|
|
2179
2234
|
readonly contentKey: _angular_core.InputSignal<string>;
|
|
2180
|
-
readonly accordionItems: _angular_core.InputSignal<AccordionItem
|
|
2235
|
+
readonly accordionItems: _angular_core.InputSignal<AccordionItem[]>;
|
|
2181
2236
|
readonly accordionTitleKey: _angular_core.InputSignal<string>;
|
|
2182
2237
|
readonly resources: _angular_core.InputSignal<ResourceItem[]>;
|
|
2183
2238
|
readonly relatedItems: _angular_core.InputSignal<RelatedCardItem[]>;
|
|
@@ -2564,56 +2619,7 @@ declare class FeedbackSection {
|
|
|
2564
2619
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackSection, "ncim-feedback-section", never, { "questionKey": { "alias": "questionKey"; "required": false; "isSignal": true; }; "yesKey": { "alias": "yesKey"; "required": false; "isSignal": true; }; "noKey": { "alias": "noKey"; "required": false; "isSignal": true; }; }, { "feedback": "feedback"; }, never, never, true, never>;
|
|
2565
2620
|
}
|
|
2566
2621
|
|
|
2567
|
-
declare class
|
|
2568
|
-
readonly open: _angular_core.InputSignal<boolean>;
|
|
2569
|
-
readonly title: _angular_core.InputSignal<string>;
|
|
2570
|
-
readonly footerBorder: _angular_core.InputSignal<boolean>;
|
|
2571
|
-
readonly footerStyle: _angular_core.InputSignal<boolean>;
|
|
2572
|
-
readonly showCloseButton: _angular_core.InputSignal<boolean>;
|
|
2573
|
-
readonly showBackButton: _angular_core.InputSignal<boolean>;
|
|
2574
|
-
readonly largeHeader: _angular_core.InputSignal<boolean>;
|
|
2575
|
-
readonly closeOnBackdropClick: _angular_core.InputSignal<boolean>;
|
|
2576
|
-
readonly size: _angular_core.InputSignal<"small" | "medium" | "large" | "extra-large">;
|
|
2577
|
-
readonly width: _angular_core.InputSignal<string>;
|
|
2578
|
-
readonly dismissed: _angular_core.OutputEmitterRef<void>;
|
|
2579
|
-
readonly backClicked: _angular_core.OutputEmitterRef<void>;
|
|
2580
|
-
protected readonly titleId: string;
|
|
2581
|
-
protected readonly dialogStyle: _angular_core.Signal<{
|
|
2582
|
-
width: string;
|
|
2583
|
-
maxWidth: string;
|
|
2584
|
-
}>;
|
|
2585
|
-
/**
|
|
2586
|
-
* Guard against double-emission: when the close button is clicked,
|
|
2587
|
-
* `close()` emits `dismissed` directly. PrimeNG then hides the dialog
|
|
2588
|
-
* and fires `onHide` — we skip that second emission.
|
|
2589
|
-
*/
|
|
2590
|
-
private _closedByButton;
|
|
2591
|
-
/** Called by the × button in the header. */
|
|
2592
|
-
close(): void;
|
|
2593
|
-
/**
|
|
2594
|
-
* Called by PrimeNG when the dialog hides — covers dismissableMask
|
|
2595
|
-
* (backdrop click) and ESC key. The close-button path is guarded above.
|
|
2596
|
-
*/
|
|
2597
|
-
onHide(): void;
|
|
2598
|
-
back(): void;
|
|
2599
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Popup, never>;
|
|
2600
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Popup, "ncim-popup", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "footerBorder": { "alias": "footerBorder"; "required": false; "isSignal": true; }; "footerStyle": { "alias": "footerStyle"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "showBackButton": { "alias": "showBackButton"; "required": false; "isSignal": true; }; "largeHeader": { "alias": "largeHeader"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "backClicked": "backClicked"; }, never, ["[subTitle]", "*", "[popupFooter]"], true, never>;
|
|
2601
|
-
}
|
|
2602
|
-
|
|
2603
|
-
declare abstract class PopupModalBase<T = unknown> implements AfterViewInit {
|
|
2604
|
-
protected readonly destroyRef: DestroyRef;
|
|
2605
|
-
readonly modalData: _angular_core.WritableSignal<T | null>;
|
|
2606
|
-
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
2607
|
-
readonly popup: _angular_core.Signal<Popup$1>;
|
|
2608
|
-
readonly dismissed: _angular_core.OutputEmitterRef<void>;
|
|
2609
|
-
openModal(data?: T): void;
|
|
2610
|
-
closeModal(): void;
|
|
2611
|
-
ngAfterViewInit(): void;
|
|
2612
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopupModalBase<any>, never>;
|
|
2613
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopupModalBase<any>, "ng-component", never, {}, { "dismissed": "dismissed"; }, never, never, true, never>;
|
|
2614
|
-
}
|
|
2615
|
-
|
|
2616
|
-
declare class SaveFilterPopup extends PopupModalBase$1 {
|
|
2622
|
+
declare class SaveFilterPopup extends PopupModalBase {
|
|
2617
2623
|
readonly mode: _angular_core.InputSignal<"edit" | "add">;
|
|
2618
2624
|
readonly initialTitle: _angular_core.InputSignal<string>;
|
|
2619
2625
|
readonly saveLoading: _angular_core.InputSignal<boolean>;
|
|
@@ -2636,20 +2642,6 @@ declare class SaveFilterPopup extends PopupModalBase$1 {
|
|
|
2636
2642
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SaveFilterPopup, "ncim-save-filter-popup", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "initialTitle": { "alias": "initialTitle"; "required": false; "isSignal": true; }; "saveLoading": { "alias": "saveLoading"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "deleted": "deleted"; }, never, never, true, never>;
|
|
2637
2643
|
}
|
|
2638
2644
|
|
|
2639
|
-
/** A single active filter tag (e.g. "الحالة (1): جسيمة") */
|
|
2640
|
-
interface QuickFilterTag {
|
|
2641
|
-
/** Filter label (e.g. "الحالة", "المدينة") */
|
|
2642
|
-
label: string;
|
|
2643
|
-
/** Number of selected items */
|
|
2644
|
-
count: number;
|
|
2645
|
-
/** Display value for single-value tags */
|
|
2646
|
-
value: string;
|
|
2647
|
-
/** Individual display values for multi-value tags — renders separate removable badges */
|
|
2648
|
-
values?: string[];
|
|
2649
|
-
/** Optional key for removal */
|
|
2650
|
-
key?: string;
|
|
2651
|
-
}
|
|
2652
|
-
|
|
2653
2645
|
declare class QuickFilterBar {
|
|
2654
2646
|
readonly activeFilters: _angular_core.InputSignal<QuickFilterTag[]>;
|
|
2655
2647
|
readonly showSaveFilter: _angular_core.InputSignal<boolean>;
|