@elite.framework/ng.core 1.0.65 → 2.0.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.
Files changed (148) hide show
  1. package/README.md +2 -22
  2. package/directives/README.md +3 -0
  3. package/fesm2022/{elite.framework-ng.core-src-lib-directives.mjs → elite.framework-ng.core-directives.mjs} +7 -7
  4. package/fesm2022/elite.framework-ng.core-directives.mjs.map +1 -0
  5. package/fesm2022/elite.framework-ng.core-models.mjs +47 -0
  6. package/fesm2022/elite.framework-ng.core-models.mjs.map +1 -0
  7. package/fesm2022/{elite.framework-ng.core-src-lib-pipes.mjs → elite.framework-ng.core-pipes.mjs} +7 -7
  8. package/fesm2022/elite.framework-ng.core-pipes.mjs.map +1 -0
  9. package/fesm2022/elite.framework-ng.core-providers.mjs +18 -0
  10. package/fesm2022/elite.framework-ng.core-providers.mjs.map +1 -0
  11. package/fesm2022/elite.framework-ng.core-services.mjs +509 -0
  12. package/fesm2022/elite.framework-ng.core-services.mjs.map +1 -0
  13. package/fesm2022/elite.framework-ng.core-tokens.mjs +17 -0
  14. package/fesm2022/elite.framework-ng.core-tokens.mjs.map +1 -0
  15. package/fesm2022/elite.framework-ng.core.mjs +7 -2239
  16. package/fesm2022/elite.framework-ng.core.mjs.map +1 -1
  17. package/index.d.ts +4 -648
  18. package/models/README.md +3 -0
  19. package/models/index.d.ts +135 -0
  20. package/package.json +26 -170
  21. package/pipes/README.md +3 -0
  22. package/providers/README.md +3 -0
  23. package/providers/index.d.ts +6 -0
  24. package/services/README.md +3 -0
  25. package/services/index.d.ts +250 -0
  26. package/tokens/README.md +3 -0
  27. package/tokens/index.d.ts +15 -0
  28. package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs +0 -204
  29. package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs.map +0 -1
  30. package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs +0 -132
  31. package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs.map +0 -1
  32. package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs +0 -76
  33. package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs.map +0 -1
  34. package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs +0 -172
  35. package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs.map +0 -1
  36. package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs +0 -794
  37. package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs.map +0 -1
  38. package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs +0 -110
  39. package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs.map +0 -1
  40. package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs +0 -130
  41. package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs.map +0 -1
  42. package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs +0 -50
  43. package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs.map +0 -1
  44. package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs +0 -154
  45. package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs.map +0 -1
  46. package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs +0 -24
  47. package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs.map +0 -1
  48. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs +0 -100
  49. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs.map +0 -1
  50. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs +0 -78
  51. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs.map +0 -1
  52. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs +0 -167
  53. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs.map +0 -1
  54. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs +0 -62
  55. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs.map +0 -1
  56. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs +0 -50
  57. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs.map +0 -1
  58. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs +0 -76
  59. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs.map +0 -1
  60. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs +0 -163
  61. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs.map +0 -1
  62. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs +0 -133
  63. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs.map +0 -1
  64. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs +0 -214
  65. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs.map +0 -1
  66. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs +0 -385
  67. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs.map +0 -1
  68. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs +0 -23
  69. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs.map +0 -1
  70. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs +0 -53
  71. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs.map +0 -1
  72. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs +0 -23
  73. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs.map +0 -1
  74. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs +0 -85
  75. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs.map +0 -1
  76. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs +0 -430
  77. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs.map +0 -1
  78. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs +0 -216
  79. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs.map +0 -1
  80. package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs +0 -18
  81. package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs.map +0 -1
  82. package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs +0 -195
  83. package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs.map +0 -1
  84. package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs +0 -94
  85. package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs.map +0 -1
  86. package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs +0 -55
  87. package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs.map +0 -1
  88. package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs +0 -112
  89. package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs.map +0 -1
  90. package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs +0 -297
  91. package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs.map +0 -1
  92. package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs +0 -135
  93. package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs.map +0 -1
  94. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs +0 -40
  95. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs.map +0 -1
  96. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs +0 -41
  97. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs.map +0 -1
  98. package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs +0 -45
  99. package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs.map +0 -1
  100. package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs +0 -192
  101. package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs.map +0 -1
  102. package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs +0 -44
  103. package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs.map +0 -1
  104. package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs +0 -174
  105. package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs.map +0 -1
  106. package/fesm2022/elite.framework-ng.core-src-lib-directives.mjs.map +0 -1
  107. package/fesm2022/elite.framework-ng.core-src-lib-pipes.mjs.map +0 -1
  108. package/src/lib/components/attachments/index.d.ts +0 -31
  109. package/src/lib/components/breadcrumb/index.d.ts +0 -10
  110. package/src/lib/components/color-picker/index.d.ts +0 -9
  111. package/src/lib/components/column-settings-popover/index.d.ts +0 -39
  112. package/src/lib/components/condition-editor/index.d.ts +0 -73
  113. package/src/lib/components/custom-switch/index.d.ts +0 -12
  114. package/src/lib/components/deactivation-reason/index.d.ts +0 -24
  115. package/src/lib/components/form-button/index.d.ts +0 -10
  116. package/src/lib/components/form-field/index.d.ts +0 -30
  117. package/src/lib/components/form-template/index.d.ts +0 -9
  118. package/src/lib/components/formly-avatar-image/index.d.ts +0 -11
  119. package/src/lib/components/formly-avatar-label/index.d.ts +0 -29
  120. package/src/lib/components/formly-button/index.d.ts +0 -13
  121. package/src/lib/components/formly-button-selector/index.d.ts +0 -28
  122. package/src/lib/components/formly-split-button/index.d.ts +0 -16
  123. package/src/lib/components/formly-username-with-domain/index.d.ts +0 -12
  124. package/src/lib/components/generic-autocomplete/index.d.ts +0 -34
  125. package/src/lib/components/generic-button/index.d.ts +0 -35
  126. package/src/lib/components/generic-card/index.d.ts +0 -90
  127. package/src/lib/components/generic-crud-table/index.d.ts +0 -120
  128. package/src/lib/components/generic-errormessage/index.d.ts +0 -10
  129. package/src/lib/components/generic-formly-fields/index.d.ts +0 -22
  130. package/src/lib/components/generic-loadingspinner/index.d.ts +0 -9
  131. package/src/lib/components/generic-search/index.d.ts +0 -29
  132. package/src/lib/components/generic-selector/index.d.ts +0 -66
  133. package/src/lib/components/generic-table/index.d.ts +0 -60
  134. package/src/lib/components/header-wrapper/index.d.ts +0 -8
  135. package/src/lib/components/icon-picker/index.d.ts +0 -23
  136. package/src/lib/components/input-switch/index.d.ts +0 -9
  137. package/src/lib/components/input-with-icon/index.d.ts +0 -10
  138. package/src/lib/components/label-type/index.d.ts +0 -19
  139. package/src/lib/components/odata-query-builder/index.d.ts +0 -81
  140. package/src/lib/components/repeat/index.d.ts +0 -17
  141. package/src/lib/components/sidebar-cards/index.d.ts +0 -18
  142. package/src/lib/components/sidebar-toggles/index.d.ts +0 -18
  143. package/src/lib/components/tabs/index.d.ts +0 -10
  144. package/src/lib/components/tag-type/index.d.ts +0 -27
  145. package/src/lib/components/text-editor/index.d.ts +0 -9
  146. package/src/lib/components/wrappers/index.d.ts +0 -24
  147. /package/{src/lib/directives → directives}/index.d.ts +0 -0
  148. /package/{src/lib/pipes → pipes}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"elite.framework-ng.core.mjs","sources":["../../../projects/core/src/lib/tokens/environment.token.ts","../../../projects/core/src/lib/tokens/options.token.ts","../../../projects/core/src/lib/directives/appAutofocus.ts","../../../projects/core/src/lib/directives/rtl-lang.ts","../../../projects/core/src/lib/pipes/tafkeet-pipe.ts","../../../projects/core/src/lib/pipes/time-ago.pipe.ts","../../../projects/core/src/lib/models/AttachmentDto.ts","../../../projects/core/src/lib/models/Common.ts","../../../projects/core/src/lib/models/rest.ts","../../../projects/core/src/lib/services/rest.service.ts","../../../projects/core/src/lib/services/base.service.ts","../../../projects/core/src/lib/services/generic.service.ts","../../../projects/core/src/lib/services/ssr-cookie.service.ts","../../../projects/core/src/lib/services/SwalService.service.ts","../../../projects/core/src/lib/providers/environment.provider.ts","../../../projects/core/src/lib/providers/public-api.ts","../../../projects/core/src/lib/components/input/src/input.type.ts","../../../projects/core/src/lib/components/input/src/input.config.ts","../../../projects/core/src/lib/components/form-field/src/form-field.wrapper.ts","../../../projects/core/src/lib/components/form-field/src/form-field.config.ts","../../../projects/core/src/lib/components/form-field/src/form-field.module.ts","../../../projects/core/src/lib/components/input/src/input.module.ts","../../../projects/core/src/lib/components/radio/src/radio.type.ts","../../../projects/core/src/lib/components/radio/src/radio.config.ts","../../../projects/core/src/lib/components/radio/src/radio.module.ts","../../../projects/core/src/lib/components/select/src/select.type.ts","../../../projects/core/src/lib/components/select/src/select.config.ts","../../../projects/core/src/lib/components/select/src/select.module.ts","../../../projects/core/src/lib/components/checkbox/src/checkbox.type.ts","../../../projects/core/src/lib/components/checkbox/src/checkbox.config.ts","../../../projects/core/src/lib/components/checkbox/src/checkbox.module.ts","../../../projects/core/src/lib/components/textarea/src/textarea.type.ts","../../../projects/core/src/lib/components/textarea/src/textarea.config.ts","../../../projects/core/src/lib/components/textarea/src/textarea.module.ts","../../../projects/core/src/lib/components/datepicker/src/datepicker.type.ts","../../../projects/core/src/lib/components/datepicker/src/datepicker.config.ts","../../../projects/core/src/lib/components/datepicker/src/datepicker.module.ts","../../../projects/core/src/lib/components/deactivation-reason/deactivation-reason.ts","../../../projects/core/src/lib/components/base-crud.ts","../../../projects/core/src/lib/components/formly-presets.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/elite.framework-ng.core.ts"],"sourcesContent":["\nimport { InjectionToken } from '@angular/core';\n\nexport const ENVIRONMENT = new InjectionToken<EnvironmentConfig>('ENVIRONMENT');\n\nexport interface EnvironmentConfig {\n production: boolean;\n apiUrl: string;\n [key: string]: any; // Optional extensibility\n}\n","import { InjectionToken } from '@angular/core';\nimport { Root } from '../models/Common';\n\nexport const CORE_OPTIONS = new InjectionToken<Root>('CORE_OPTIONS');\n\nexport function coreOptionsFactory({ ...options }: Root) {\n return {\n ...options,\n } as Root;\n}\n\n\n\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone:true\n})\nexport class AutofocusDirective implements OnChanges {\n @Input('appAutofocus') autoFocus: boolean | string = true;\n\n constructor(private el: ElementRef) {}\n\n ngOnChanges() {\n if (this.autoFocus === '' || this.autoFocus === true) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[appRtlLang]'\n})\nexport class RtlLang implements OnChanges{\n\n@Input('appRtlLang') lang: string = 'ar';\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const direction = this.lang === 'ar' ? 'rtl' : 'ltr';\n this.renderer.setStyle(this.el.nativeElement, 'direction', direction);\n }\n\n}\n","// tafqeet.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'tafqeet'\n})\nexport class TafqeetPipe implements PipeTransform {\n transform(value: number, currencyName: string = 'ريال سعودي'): string {\n if (value == null || isNaN(value)) return '';\n\n const [intPart, fracPart] = value.toFixed(2).split('.').map(Number);\n const intText = this.toArabicWords(intPart);\n const fracText = this.toArabicWords(fracPart);\n\n let result = `${intText} ${currencyName}`;\n if (fracPart > 0) {\n result += ` و${fracText} هللة`;\n }\n\n return result;\n }\n\n private toArabicWords(n: number): string {\n const units = [\n '', 'واحد', 'اثنان', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية', 'تسعة'\n ];\n const teens = [\n 'عشرة', 'أحد عشر', 'اثنا عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر',\n 'ستة عشر', 'سبعة عشر', 'ثمانية عشر', 'تسعة عشر'\n ];\n const tens = [\n '', '', 'عشرون', 'ثلاثون', 'أربعون', 'خمسون', 'ستون', 'سبعون', 'ثمانون', 'تسعون'\n ];\n const hundreds = [\n '', 'مائة', 'مائتان', 'ثلاثمائة', 'أربعمائة', 'خمسمائة', 'ستمائة', 'سبعمائة', 'ثمانمائة', 'تسعمائة'\n ];\n\n if (n === 0) return 'صفر';\n\n let words: string[] = [];\n\n if (n >= 100) {\n const h = Math.floor(n / 100);\n words.push(hundreds[h]);\n n %= 100;\n }\n\n if (n >= 10 && n < 20) {\n words.push(teens[n - 10]);\n } else {\n const t = Math.floor(n / 10);\n const u = n % 10;\n\n if (u > 0) {\n words.push(units[u]);\n }\n if (t > 0) {\n words.push(tens[t]);\n }\n }\n\n return words.reverse().filter(w => !!w).join(' و ');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DatePipe } from '@angular/common'; // لاستخدام DatePipe لتنسيق التاريخ الكامل\n\n@Pipe({\n name: 'timeAgoWithFullDate', // تغيير الاسم ليعكس وظيفته الشاملة\n pure: false // مهم لتحديث الـ Pipe بشكل متكرر\n})\nexport class TimeAgoWithFullDatePipe implements PipeTransform {\n\n constructor(private datePipe: DatePipe) {} // حقن DatePipe\n\n transform(value: Date | string | null): string {\n if (!value) return '';\n\n const date = typeof value === 'string' ? new Date(value) : value;\n const now = new Date();\n const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);\n\n let relativeTime: string;\n\n if (seconds < 10) { // في بضع ثوانٍ (لأن \"few seconds\" في Freshdesk تكون قصيرة جداً)\n relativeTime = 'منذ بضع ثوانٍ';\n } else if (seconds < 60) {\n relativeTime = `منذ ${seconds} ثانية`;\n } else if (seconds < 120) { // 1 to 2 minutes\n relativeTime = 'منذ دقيقة واحدة';\n } else if (seconds < 3600) { // less than 1 hour\n relativeTime = `منذ ${Math.floor(seconds / 60)} دقيقة`;\n } else if (seconds < 7200) { // 1 to 2 hours\n relativeTime = 'منذ ساعة واحدة';\n } else if (seconds < 86400) { // less than 24 hours\n relativeTime = `منذ ${Math.floor(seconds / 3600)} ساعة`;\n } else if (seconds < 172800) { // 1 to 2 days\n relativeTime = 'منذ يوم واحد';\n } else if (seconds < 2592000) { // less than 30 days (approx. 1 month)\n relativeTime = `منذ ${Math.floor(seconds / 86400)} يومًا`;\n } else {\n // For longer periods, Freshdesk typically just shows the full date\n // We'll still keep the 'منذ X' for now based on previous request,\n // but you might consider just returning the full date for older items.\n const months = Math.floor(seconds / 2592000); // 30 days * 24 hours * 60 minutes * 60 seconds\n if (months < 12) {\n relativeTime = `منذ ${months} شهرًا`;\n } else {\n relativeTime = `منذ ${Math.floor(months / 12)} سنة`;\n }\n }\n\n // تنسيق التاريخ الكامل بالضبط كما في Freshdesk: \"Sat, 26 Jul 2025 at 9:41 PM\"\n const fullDateFormatted = this.datePipe.transform(date, 'E, d MMM yyyy at h:mm a', 'en-US');\n\n // دمج الوقت النسبي مع التاريخ الكامل\n return `${relativeTime} (${fullDateFormatted})`;\n }\n}\n","\nexport class AttachmentDto {\n id?: number;\n binaryObjectId?: string;\n description?: string;\n mimeType?: string |any;\n fileName?: string;\n base64?: string;\n caption?: string;\n link?: string;\n}\n","export interface Root {\n // environment: Partial<Environment>;\n registerLocaleFn: (locale: string) => Promise<any>;\n skipGetAppConfiguration?: boolean;\n skipInitAuthService?: boolean;\n sendNullsAsQueryParam?: boolean;\n tenantKey?: string;\n // localizations?: Localization[];\n othersGroup?: string;\n dynamicLayouts?: Map<string, string>;\n disableProjectNameInTitle?: boolean;\n }\n\nexport class ListResultDto<T> {\n items?: T[];\n\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\n for (const key in initialValues) {\n if (checkHasProp(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultDto<T> extends ListResultDto<T> {\n totalCount?: number;\n\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\n super(initialValues);\n }\n}\n\nexport class GeneralResponse <T> {\n\n success?: boolean;\n\n result?: T;\n\n targetUrl?: string;\n\n // error?: IGeneralErrorInfo;\n error?: any;\n\n unAuthorizedRequest?: boolean;\n\n constructor() {\n }\n\n}\nexport function checkHasProp<T>(object: T, key: string | keyof T): key is keyof T {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\n","import { HttpHeaders, HttpParameterCodec, HttpParams } from '@angular/common/http';\n\nexport namespace Rest {\n export type Config = Partial<{\n apiName: string;\n skipHandleError: boolean;\n skipAddingHeader: boolean;\n observe: Observe;\n httpParamEncoder?: HttpParameterCodec;\n }>;\n\n export const enum Observe {\n Body = 'body',\n Events = 'events',\n Response = 'response',\n }\n\n export const enum ResponseType {\n ArrayBuffer = 'arraybuffer',\n Blob = 'blob',\n JSON = 'json',\n Text = 'text',\n }\n\n export type Params = HttpParams | { [param: string]: any };\n\n export interface Request<T> {\n body?: T;\n headers?:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n };\n method: string;\n params?: Params;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n url: string;\n withCredentials?: boolean;\n }\n}\n","import { HttpClient, HttpRequest, HttpParameterCodec, HttpParams } from \"@angular/common/http\";\nimport { Injectable, Inject, inject } from \"@angular/core\";\nimport { Observable, throwError, catchError } from \"rxjs\";\nimport { Root } from \"../models/Common\";\nimport { ENVIRONMENT } from \"../tokens/environment.token\";\nimport { CORE_OPTIONS } from \"../tokens/options.token\";\nimport { Rest } from \"../models/rest\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n private environment = inject(ENVIRONMENT);\n constructor(\n @Inject(CORE_OPTIONS) protected options: Root,\n protected http: HttpClient,\n // protected environment: EnvironmentService,\n // protected httpErrorReporter: HttpErrorReporterService,\n ) { }\n\n protected getApiFromStore(apiName: string | undefined): string {\n return this.environment.apiUrl;\n }\n\n handleError(err: any): Observable<any> {\n // this.httpErrorReporter.reportError(err);\n return throwError(() => err);\n }\n\n request<T, R>(\n request: HttpRequest<T> | Rest.Request<T>,\n config?: Rest.Config,\n api?: string,\n ): Observable<R> {\n // debugger\n config = config || ({} as Rest.Config);\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n const url = this.removeDuplicateSlashes( api + request.url);\n\n const httpClient: HttpClient = this.getHttpClient(config.skipAddingHeader ?? false);\n return httpClient\n .request<R>(method, url, {\n observe,\n ...(params && {\n params: this.getParams(params, config.httpParamEncoder),\n }),\n ...options,\n } as any)\n .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\n }\n private getHttpClient(isExternal: boolean) {\n return /* isExternal ? this.externalHttp : */ this.http;\n }\n\n private getParams(params: Rest.Params, encoder?: HttpParameterCodec): HttpParams {\n const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\n if (isUndefinedOrEmptyString(value)) return acc;\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\n acc[key] = value;\n return acc;\n }, {} as any);\n return encoder\n ? new HttpParams({ encoder, fromObject: filteredParams })\n : new HttpParams({ fromObject: filteredParams });\n }\n\n private removeDuplicateSlashes(url: string): string {\n return url.replace(/([^:]\\/)\\/+/g, '$1');\n }\n\n}\n\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\n return value === undefined || value === '';\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { PaginatedResult } from '../models/Paginated';\nimport { RestService } from './rest.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BaseService {\n apiName = '';\n moduleName = '';\n constructor(public restService: RestService) {}\n get = (id: string) =>\n this.restService.request<any, any>({\n method: 'GET',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n },\n { apiName: this.apiName });\n\n getList = (input:any, endpoint?: string ) => {\n\n const params = Object.keys(input).reduce((acc:any, key) => {\n acc[key] = input[key];\n return acc;\n }, {});\n\n const url = endpoint ? endpoint : `/${this.moduleName}/${this.apiName}`;\n\n return this.restService.request<any, PaginatedResult<any>>({\n method: 'GET',\n url: url,\n params: params,\n }, { apiName: this.apiName })\n .pipe(\n map(response => response)\n );\n };\n create = (input: any) =>\n this.restService.request<any, any>({\n method: 'POST',\n url: `/${this.moduleName}/${this.apiName}`,\n body: input,\n },\n { apiName: this.apiName });\n update = (id: string, input: any) =>\n this.restService.request<any, any>({\n method: 'PUT',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n body: input,\n },\n { apiName: this.apiName });\n\n delete = (id: string) =>\n this.restService.request<any, void>({\n method: 'DELETE',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n },\n { apiName: this.apiName });\n\n\n}\n","// src/app/services/generic.service.ts\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport { PaginatedResult } from '../models/Paginated';\nimport { CrudService } from './crud-service.interface';\n\n/**\n * GenericService<T, K>:\n * - T = نوع الكائن (Model)\n * - K = نوع المفتاح الأساسي (ID)، افتراضي number\n *\n * يحتوي على جميع دوال الـ CRUD القياسية للتوريث في الخدمات المتخصصة.\n */\nexport abstract class GenericService<T, K = number> implements CrudService<T, Record<string, any>> {\n /**\n * ✏️ على كل خدمة فرعية أن تعرّف هذا:\n * مثال: protected baseUrl = 'https://api.example.com/api/jobtyps';\n */\n protected abstract baseUrl: string;\n\n constructor(protected http: HttpClient) {}\n\n /**\n * جلب كل السجلات\n */\n getAll(): Observable<T[]> {\n // ملاحظة: يمكن إضافة معالج أخطاء مركزي هنا أو عبر Interceptor\n return this.http.get<T[]>(this.baseUrl);\n }\n\n /**\n * جلب سجل واحد بناءً على المعرف\n */\n\n getById(id: K): Observable<T> {\n // ملاحظة: تأكد أن الـ endpoint يدعم GET برقم المعرف\n return this.http.get<T>(`${this.baseUrl}/${id}`);\n }\n\n /**\n * إنشاء سجل جديد\n */\n create(item: Partial<T>): Observable<T> {\n\n // ملاحظة: استخدم Partial<T> للسماح ببعض الحقول الاختيارية\n return this.http.post<T>(this.baseUrl, item);\n }\n\n /**\n * تحديث سجل موجود\n */\n\n update(id: K, item: Partial<T>): Observable<T> {\n // ملاحظة: هنا نُعيد Observable<void> لأن API قد لا تُرجع الجسم نفسه\n return this.http.put<T>(`${this.baseUrl}`, item);\n }\n /**\n * حذف سجل\n */\n delete(id: K): Observable<void> {\n // ملاحظة: يُفضّل استخدام Confirm قبل الحذف في الواجهة\n return this.http.delete<void>(`${this.baseUrl}/${id}`);\n }\n\n\n\n /** endpoint قابل للتخصيص — يمكن للفرع override–ها */\n protected getPageUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * جلب صفحة من البيانات مع دعم الفلاتر والفرز\n * @param pageIndex صفر-based\n * @param pageSize عدد السجلات\n * @param filters كائن Partial<T> أو Record<string,any>\n * @param sort نص الفرز، مثلاً \"eiNa:desc\"\n */\n getPage(\n pageIndex: number,\n pageSize: number,\n filters?: Record<string, any>,\n sort?: string\n ): Observable<PaginatedResult<T>> {\n // debugger\n let params = new HttpParams()\n .set('pageIndex', pageIndex.toString())\n .set('pageSize', pageSize.toString());\n\n if (filters) {\n Object.entries(filters).forEach(([key, val]) => {\n if (val != null && val !== '') {\n params = params.set(key, val.toString());\n }\n });\n }\n\n if (sort) {\n params = params.set('sort', sort);\n }\n\n // return this.http\n // .get<T[]>(this.getPageUrl(), { params, observe: 'response' })\n // .pipe(\n // map((resp: HttpResponse<T[]>) => ({\n // items: resp.body || [],\n // totalCount: Number(resp.headers.get('X-Total-Count')) || resp.body?.length || 0\n // }))\n // );\n return this.http.get<PaginatedResult<T>>(\n this.getPageUrl(),\n { params }\n );\n }\n\n\n}\n","import { Request } from 'express';\nimport { Inject, Injectable, InjectionToken, Optional, PLATFORM_ID } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\n\n// Define the `Request` token\nexport const REQUEST = new InjectionToken<Request>('REQUEST');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SsrCookieService {\n private readonly documentIsAccessible: boolean;\n static initialUrl = '';\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n // Get the `PLATFORM_ID` so we can check if we're in a browser.\n @Inject(PLATFORM_ID) private platformId: any,\n @Optional() @Inject(REQUEST) private request: Request\n ) {\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\n SsrCookieService.initialUrl = this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n\n /**\n * Get cookie Regular Expression\n *\n * @param name Cookie name\n * @returns property RegExp\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static getCookieRegExp(name: string): RegExp {\n const escapedName: string = name.replace(/([\\[\\]\\{\\}\\(\\)\\|\\=\\;\\+\\?\\,\\.\\*\\^\\$])/gi, '\\\\$1');\n\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\n }\n\n /**\n * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @param encodedURIComponent A value representing an encoded URI component.\n *\n * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static safeDecodeURIComponent(encodedURIComponent: string): string {\n try {\n return decodeURIComponent(encodedURIComponent);\n } catch {\n // probably it is not uri encoded. return as is\n return encodedURIComponent;\n }\n }\n\n /**\n * Return `true` if {@link Document} is accessible, otherwise return `false`\n *\n * @param name Cookie name\n * @returns boolean - whether cookie with specified name exists\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n check(name: string): boolean {\n name = encodeURIComponent(name);\n const regExp: RegExp = SsrCookieService.getCookieRegExp(name);\n return regExp.test((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n }\n isDocumentIsAccessible(): boolean {\n return this.documentIsAccessible ;\n }\n get url(): string {\n return this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n\n /**\n * Get cookies by name\n *\n * @param name Cookie name\n * @returns property value\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n get(name: string): string {\n if (this.check(name)) {\n name = encodeURIComponent(name);\n\n const regExp: RegExp = SsrCookieService.getCookieRegExp(name);\n const result: RegExpExecArray |any= regExp.exec((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n\n return result[1] ? SsrCookieService.safeDecodeURIComponent(result[1]) : '';\n } else {\n return '';\n }\n }\n\n /**\n * Get all cookies in JSON format\n *\n * @returns all the cookies in json\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n getAll(): { [key: string]: string } {\n const cookies: { [key: string]: string } = {};\n const cookieString: any = this.documentIsAccessible ? this.document?.cookie : this.request?.headers.cookie;\n\n if (cookieString && cookieString !== '') {\n cookieString.split(';').forEach((currentCookie:any) => {\n const [cookieName, cookieValue] = currentCookie.split('=');\n cookies[SsrCookieService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] = SsrCookieService.safeDecodeURIComponent(cookieValue);\n });\n }\n\n return cookies;\n }\n\n /**\n * Set cookie based on provided information\n *\n * @param name Cookie name\n * @param value Cookie value\n * @param expires Number of days until the cookies expires or an actual `Date`\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Secure flag\n * @param sameSite OWASP same site token `Lax`, `None`, or `Strict`. Defaults to `Lax`\n * @param partitioned Partitioned flag\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n set(\n name: string,\n value: string,\n expires?: number | Date,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite?: 'Lax' | 'None' | 'Strict',\n partitioned?: boolean\n ): void;\n\n /**\n * Set cookie based on provided information\n *\n * Cookie's parameters:\n * <pre>\n * expires Number of days until the cookies expires or an actual `Date`\n * path Cookie path\n * domain Cookie domain\n * secure Cookie secure flag\n * sameSite OWASP same site token `Lax`, `None`, or `Strict`. Defaults to `Lax`\n * </pre>\n *\n * @param name Cookie name\n * @param value Cookie value\n * @param options Body with cookie's params\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n set(\n name: string,\n value: string,\n options?: {\n expires?: number | Date;\n path?: string;\n domain?: string;\n secure?: boolean;\n sameSite?: 'Lax' | 'None' | 'Strict';\n partitioned?: boolean;\n }\n ): void;\n\n set(\n name: string,\n value: string,\n expiresOrOptions?: number | Date | any,\n path?: string,\n domain?: string,\n secure?: boolean,\n sameSite?: 'Lax' | 'None' | 'Strict',\n partitioned?: boolean\n ): void {\n if (!this.documentIsAccessible) {\n return;\n }\n\n if (typeof expiresOrOptions === 'number' || expiresOrOptions instanceof Date || path || domain || secure || sameSite) {\n const optionsBody = {\n expires: expiresOrOptions,\n path,\n domain,\n secure,\n sameSite: sameSite ? sameSite : 'Lax',\n partitioned,\n };\n\n this.set(name, value, optionsBody);\n return;\n }\n\n let cookieString: string = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\n\n const options = expiresOrOptions ? expiresOrOptions : {};\n\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires: Date = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);\n\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\n } else {\n cookieString += 'expires=' + options.expires.toUTCString() + ';';\n }\n }\n\n if (options.path) {\n cookieString += 'path=' + options.path + ';';\n }\n\n if (options.domain) {\n cookieString += 'domain=' + options.domain + ';';\n }\n\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n console.warn(\n `[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +\n `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`\n );\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n\n cookieString += 'sameSite=' + options.sameSite + ';';\n\n if (options.partitioned) {\n cookieString += 'Partitioned;';\n }\n\n this.document.cookie = cookieString;\n }\n\n /**\n * Delete cookie by name\n *\n * @param name Cookie name\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Cookie secure flag\n * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n delete(name: string, path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\n if (!this.documentIsAccessible) {\n return;\n }\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n\n /**\n * Delete all cookies\n *\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Is the Cookie secure\n * @param sameSite Is the cookie same site\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n deleteAll(path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\n if (!this.documentIsAccessible) {\n return;\n }\n\n const cookies: any = this.getAll();\n\n for (const cookieName in cookies) {\n if (cookies.hasOwnProperty(cookieName)) {\n this.delete(cookieName, path, domain, secure, sameSite);\n }\n }\n }\n}\n","// app/shared/services/swal.service.ts\nimport { Injectable } from '@angular/core';\nimport Swal, {\n SweetAlertOptions,\n SweetAlertResult,\n SweetAlertIcon\n} from 'sweetalert2';\n\n@Injectable({ providedIn: 'root' })\nexport class SwalService {\n /** رسالة تأكيد قبل تنفيذ إجراء */\n confirm(\n title = 'هل أنت متأكد؟',\n text = 'لن يمكنك التراجع عن هذا الإجراء',\n confirmButtonText = 'نعم',\n cancelButtonText = 'إلغاء'\n ): Promise<SweetAlertResult> {\n return Swal.fire({\n icon: 'warning',\n title,\n text,\n showCancelButton: true,\n confirmButtonText,\n cancelButtonText,\n // reverseButtons: true,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n\n /** رسالة نجاح */\n success(\n title: string,\n text?: string,\n timer = 2000\n ): Promise<SweetAlertResult> {\n return Swal.fire({\n icon: 'success',\n title,\n text,\n timer,\n showConfirmButton: false,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n\n /** رسالة خطأ */\n error(\n title: string,\n text?: string,\n footer?: string\n ): Promise<SweetAlertResult> {\n return Swal.fire({\n icon: 'error',\n title,\n text,\n footer,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n\n /** رسالة معلومات */\n info(\n title: string,\n text?: string\n ): Promise<SweetAlertResult> {\n return Swal.fire({\n icon: 'info',\n title,\n text,\n });\n }\n\n /** عرض نافذة SweetAlert2 بأي خيارات تريد */\n alert(\n options: SweetAlertOptions\n ): Promise<SweetAlertResult> {\n return Swal.fire(options);\n }\n\n /** Toast بسيط قابل لإعادة الاستخدام */\n toast(\n title: string,\n icon: SweetAlertIcon = 'info',\n position: SweetAlertOptions['position'] = 'top-end',\n timer = 3000\n ): void {\n const Toast = Swal.mixin({\n toast: true,\n position,\n timer,\n showConfirmButton: false,\n });\n Toast.fire({ icon, title });\n }\n\n}\n","// core/providers/environment.provider.ts\nimport { ENVIRONMENT, EnvironmentConfig } from '../tokens/environment.token';\nimport { Provider } from '@angular/core';\n\nexport function provideEnvironmentConfig(config: EnvironmentConfig): Provider {\n return {\n provide: ENVIRONMENT,\n useValue: config\n };\n}\n","// export * from './formly.config';\r\nexport * from './environment.provider';\r\n","import { Component, ChangeDetectionStrategy, Type, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyFormFieldModule } from '@ngx-formly/primeng/form-field';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormlyFieldProps } from '../../form-field';\nimport { InputNumber } from 'primeng/inputnumber';\n\ninterface InputProps extends FormlyFieldProps {\n showButtons?: boolean;\n autofocus?: boolean;\n useGrouping?: boolean;\n}\n\nexport interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {\n type: 'input' | Type<FormlyFieldInput>;\n}\n\n@Component({\n selector: 'formly-field-primeng-input',\n template: `\n <input\n *ngIf=\"props.type !== 'number'; else numberTmp\"\n pInputText\n [type]=\"props['type'] || 'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\n class=\"w-full rounded-none block\"\n #inputElement\n />\n <ng-template #numberTmp>\n <p-inputNumber\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n class=\"w-full rounded-none block\"\n [min]=\"props['min'] || 0\"\n [showButtons]=\"props['showButtons'] ?? false\"\n buttonLayout=\"horizontal\"\n spinnerMode=\"horizontal\"\n [useGrouping]=\"props['useGrouping']\"\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\n #inputNumberElement>\n <ng-template #incrementbuttonicon>\n <span class=\"pi pi-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"pi pi-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyAttributes,\n InputTextModule,\n TranslateModule,\n InputNumber\n ]\n})\nexport class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> implements AfterViewInit {\n @ViewChild('inputElement') inputElement?: ElementRef<HTMLInputElement>;\n @ViewChild('inputNumberElement') inputNumberElement?: any; // p-inputNumber component reference\n\n ngAfterViewInit() {\n if (this.props.autofocus) {\n setTimeout(() => {\n if (this.props.type === 'number' && this.inputNumberElement?.el?.nativeElement) {\n // Focus for p-inputNumber\n this.inputNumberElement.el.nativeElement.querySelector('input')?.focus();\n } else if (this.inputElement?.nativeElement) {\n // Focus for regular input\n this.inputElement.nativeElement.focus();\n }\n });\n }\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldInput } from './input.type';\n\nexport function withFormlyFieldInput(): ConfigOption {\n return {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n { name: 'string', extends: 'input' },\n {\n name: 'number',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n {\n name: 'integer',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n ],\n };\n}\n","import { Component } from '@angular/core';\nimport {\n FieldWrapper,\n FormlyFieldConfig,\n FormlyFieldProps as CoreFormlyFieldProps\n} from '@ngx-formly/core';\n\nexport interface FormlyFieldProps extends CoreFormlyFieldProps {\n hideRequiredMarker?: boolean;\n hideLabel?: boolean;\n}\n\n@Component({\n selector: 'formly-wrapper-primeng-form-field',\n standalone: false,\n template: `\n <div class=\"p-field\">\n <!-- text-lg -->\n @if (props.label && props.hideLabel !== true) {\n <label [for]=\"id\" class=\"font-bold\">\n {{ props.label | translate }}\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"mb-2\"></div>\n <ng-container #fieldComponent></ng-container>\n\n @if (showError) {\n <small class=\"text-red-600 text-sm mt-1 block font-medium\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {}\n\n\n@Component({\n selector: 'formly-wrapper-primeng-form-field-no',\n standalone: false,\n template: `\n <div class=\"p-field\">\n <!-- text-lg -->\n @if (props.label && props.hideLabel !== true) {\n <label [for]=\"id\" class=\"font-bold\">\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <ng-container #fieldComponent></ng-container>\n\n @if (showError) {\n <small class=\"text-red-600 text-sm mt-1 block font-medium\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n `,\n})\nexport class FormlyWrapperFormFieldNo extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyWrapperFormField, FormlyWrapperFormFieldNo } from './form-field.wrapper';\n\nexport function withFormlyFormField(): ConfigOption {\n return {\n wrappers: [\n {\n name: 'form-field',\n component: FormlyWrapperFormField,\n },\n {\n name: 'form-field-no',\n component: FormlyWrapperFormFieldNo,\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule, LegacyFormlyValidationMessage, } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyWrapperFormField, FormlyWrapperFormFieldNo } from './form-field.wrapper';\nimport { withFormlyFormField } from './form-field.config';\nimport { TranslateModule, TranslatePipe } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n\n FormlyWrapperFormField,\n FormlyWrapperFormFieldNo,\n // FormlyFormFieldWrapperComponent,\n ],\n imports: [CommonModule, ReactiveFormsModule, FormlyModule.forChild(withFormlyFormField()),TranslateModule,TranslatePipe],\n exports:[FormlyWrapperFormField]\n})\nexport class FormlyFormFieldModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputTextModule } from 'primeng/inputtext';\n\nimport { FormlyFieldInput } from './input.type';\nimport { withFormlyFieldInput } from './input.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n// import { FormlyFormFieldModule } from '../../components/form-field';\n\n@NgModule({\n // declarations: [FormlyFieldInput],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n InputTextModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldInput()),\n ],\n})\nexport class FormlyInputModule {}\n","import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { FormlyFieldProps, FormlyFormFieldModule } from '../../form-field';\n\ntype RadioProps = FormlyFieldProps;\n\nexport interface FormlyRadioFieldConfig extends FormlyFieldConfig<RadioProps> {\n type: 'radio' | Type<FormlyFieldRadio>;\n}\n\n@Component({\n selector: 'formly-field-primeng-radio',\n template: `\n <div\n class=\"p-field-radiobutton\"\n *ngFor=\"let option of props.options | formlySelectOptions: field | async; let index = index\"\n >\n <p-radioButton\n [name]=\"field.name || id\"\n [formControl]=\"option.disabled ? disabledControl : formControl\"\n [value]=\"option.value\"\n [inputId]=\"id + index\"\n >\n </p-radioButton>\n <label [for]=\"id + index\" class=\"ml-2\">{{ option.label }}</label>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone:false\n})\nexport class FormlyFieldRadio extends FieldType<FieldTypeConfig<RadioProps>> {\n get disabledControl() {\n return new UntypedFormControl({ value: this.formControl.value, disabled: true });\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldRadio } from './radio.type';\n\nexport function withFormlyFieldRadio(): ConfigOption {\n return {\n types: [\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { FormlyFieldRadio } from './radio.type';\nimport { withFormlyFieldRadio } from './radio.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n\n@NgModule({\n declarations: [FormlyFieldRadio],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n RadioButtonModule,\n\n FormlyFormFieldModule,\n FormlySelectModule,\n FormlyModule.forChild(withFormlyFieldRadio()),\n ],\n})\nexport class FormlyRadioModule {}\n","import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldSelectProps } from '@ngx-formly/core/select';\nimport { Select, SelectModule } from 'primeng/select';\nimport { FormlyFieldProps, FormlyFormFieldModule } from '../../form-field';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { FormlySelectModule as FormlyCoreSelectModule } from '@ngx-formly/core/select';\nimport { TranslateModule } from '@ngx-translate/core';\n\ninterface SelectProps extends FormlyFieldProps, FormlyFieldSelectProps {\n appendTo?: Select['appendTo'];\n filter?: boolean;\n filterBy?: string;\n}\n\nexport interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps> {\n type: 'select' | Type<FormlyFieldSelect>;\n}\n\n@Component({\n selector: 'formly-field-primeng-select',\n template: `\n <p-select\n [options]=\"(props.options | formlySelectOptions: field | async) ?? []\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [showClear]=\"!props.required\"\n [appendTo]=\"props.appendTo\"\n [filter]=\"props.filter\"\n [filterBy]=\"props.filterBy ?? 'label'\"\n [optionLabel]=\"'label'\"\n [optionValue]=\"'value'\"\n (onChange)=\"props.change && props.change(field, $event)\"\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\n [styleClass]=\"'w-full rounded-none block'\"\n >\n <!-- Template for each option in the dropdown -->\n <ng-template let-option pTemplate=\"item\">\n <div class=\"flex items-center gap-2\">\n <!-- Example: add an icon if option has one -->\n @if (option.icon) {\n\n <i [class]=\"option.icon\"></i>\n }\n <span>{{ option.label | translate }}</span>\n <!-- Example: show description -->\n @if (option.description) {\n\n <small class=\"text-gray-500\"> - {{ option.description | translate}}</small>\n }\n </div>\n </ng-template>\n\n <!-- Template for selected value -->\n <ng-template let-selected pTemplate=\"selectedItem\">\n <div class=\"flex items-center gap-2\">\n @if (selected?.icon) {\n <i [class]=\"selected.icon\"></i>\n }\n <span>{{ selected?.label | translate}}</span>\n </div>\n </ng-template>\n </p-select>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone:true,\n imports:[CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,FormlyAttributes,SelectModule,FormlyCoreSelectModule,TranslateModule]\n\n})\nexport class FormlyFieldSelect extends FieldType<FieldTypeConfig<SelectProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldSelect } from './select.type';\n\nexport function withFormlyFieldSelect(): ConfigOption {\n return {\n types: [\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n { name: 'enum', extends: 'select' },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { SelectModule } from 'primeng/select';\nimport { FormlySelectModule as FormlyCoreSelectModule } from '@ngx-formly/core/select';\n\nimport { FormlyFieldSelect } from './select.type';\nimport { withFormlyFieldSelect } from './select.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n\n@NgModule({\n // declarations: [FormlyFieldSelect],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SelectModule,\n FormlyFormFieldModule,\n FormlyCoreSelectModule,\n FormlyModule.forChild(withFormlyFieldSelect()),\n ],\n})\nexport class FormlySelectModule {}\n","import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps as CheckboxProps, FormlyFormFieldModule } from '../../form-field';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { CheckboxModule } from 'primeng/checkbox';\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-primeng-checkbox',\n template: `\n <!-- <div class=\"p-field-checkbox flex items-center gap-1\">\n\n <p-checkbox\n [binary]=\"true\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [inputId]=\"id\"\n\n />\n <label [for]=\"id\" class=\"ml-2\">{{ (props['label'] ?? '') | translate}}</label>\n </div> -->\n\n <div class=\"flex items-center justify-end rtl:flex-row-reverse w-full px-2 py-1\" style=\" border-radius: var(--p-inputtext-border-radius);\">\n<!-- text-lg -->\n <label [for]=\"id\" class=\"font-bold text-gray-800 mr-2 whitespace-nowrap\">\n {{ (to.label ?? '') | translate }}\n </label>\n <p-checkbox\n [binary]=\"true\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [inputId]=\"id\"\n\n />\n</div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone:true,\n imports:[ CommonModule,ReactiveFormsModule,DatePickerModule,FormlyFormFieldModule,FormlyAttributes,TranslateModule,CheckboxModule]\n})\nexport class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<CheckboxProps>> {\n override defaultOptions = { props: { hideLabel: true } };\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\nexport function withFormlyFieldCheckbox(): ConfigOption {\n return {\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxModule } from 'primeng/checkbox';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\nimport { withFormlyFieldCheckbox } from './checkbox.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n\n@NgModule({\n // declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CheckboxModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldCheckbox()),\n ],\n})\nexport class FormlyCheckboxModule {}\n","import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps, FormlyFormFieldModule } from '../../form-field';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { SelectModule } from 'primeng/select';\nimport { TextareaModule } from 'primeng/textarea';\n\ninterface TextAreaProps extends FormlyFieldProps {}\n\nexport interface FormlyTextAreaFieldConfig extends FormlyFieldConfig<TextAreaProps> {\n type: 'textarea' | Type<FormlyFieldTextArea>;\n}\n\n@Component({\n selector: 'formly-field-primeng-textarea',\n template: ` <textarea [formControl]=\"formControl\" [formlyAttributes]=\"field\" class=\"w-full rounded-none block\" [placeholder]=\"(props['placeholder'] ?? '')| translate\" pInputTextarea></textarea> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone:true,\n imports:[\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyAttributes,\n SelectModule,\n TextareaModule,\n TranslateModule\n ]\n})\nexport class FormlyFieldTextArea extends FieldType<FieldTypeConfig<TextAreaProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldTextArea } from './textarea.type';\n\nexport function withFormlyFieldTextArea(): ConfigOption {\n return {\n types: [\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TextareaModule } from 'primeng/textarea';\nimport { FormlyFieldTextArea } from './textarea.type';\nimport { withFormlyFieldTextArea } from './textarea.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n\n@NgModule({\n // declarations: [FormlyFieldTextArea],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TextareaModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldTextArea()),\n ],\n})\nexport class FormlyTextAreaModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n Type,\n OnInit,\n} from '@angular/core';\nimport {\n FieldType,\n FieldTypeConfig,\n FormlyAttributes,\n FormlyFieldConfig,\n} from '@ngx-formly/core';\nimport { FormlyFieldProps, FormlyFormFieldModule } from '../../form-field';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { TranslateModule } from '@ngx-translate/core';\n\ninterface DatepickerProps extends FormlyFieldProps {\n defaultDate?: Date;\n dataType?: 'string' | 'date'; // default is 'string'\n dateFormat?: string;\n icon?: string;\n hourFormat?: string;\n timeOnly?: boolean;\n showTime?: boolean;\n showIcon?: boolean;\n showButtonBar?: boolean;\n showOtherMonths?: boolean;\n selectOtherMonths?: boolean;\n selectionMode?: 'multiple' | 'single' | 'range';\n numberOfMonths?: number;\n inline?: boolean;\n readonlyInput?: boolean;\n touchUI?: boolean;\n monthNavigator?: boolean;\n yearNavigator?: boolean;\n yearRange?: string;\n}\n\nexport interface FormlyDatepickerFieldConfig\n extends FormlyFieldConfig<DatepickerProps> {\n type: 'datepicker' | Type<FormlyFieldDatepicker>;\n}\n\n@Component({\n selector: 'formly-field-primeng-datepicker',\n template: `\n <p-datepicker\n [dataType]=\"props.dataType ?? 'string'\"\n [dateFormat]=\"props.dateFormat ?? (props.showTime ? 'yy-mm-dd' : 'yy-mm-dd')\"\n [hourFormat]=\"props.hourFormat || '12'\"\n [timeOnly]=\"props.timeOnly || false\"\n [icon]=\"props.icon\"\n [showTime]=\"props.showTime || false\"\n [showIcon]=\"props.showIcon || true\"\n [showButtonBar]=\"props.showButtonBar\"\n [showOtherMonths]=\"props.showOtherMonths\"\n [selectOtherMonths]=\"props.selectOtherMonths\"\n [selectionMode]=\"props.selectionMode || 'single'\"\n [numberOfMonths]=\"props.numberOfMonths || 0\"\n [inline]=\"props.inline\"\n [readonlyInput]=\"props.readonlyInput\"\n [touchUI]=\"props.touchUI\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"(props['placeholder'] ?? '') | translate\"\n [styleClass]=\"'w-full rounded-none block text-base'\"\n appendTo=\"body\"\n (onSelect)=\"onDateSelect($event)\"\n (onBlur)=\"onTouched()\"\n ></p-datepicker>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyAttributes,\n TranslateModule,\n ],\n})\nexport class FormlyFieldDatepicker extends FieldType<\n FieldTypeConfig<DatepickerProps>\n> implements OnInit {\n override defaultOptions?: Partial<FieldTypeConfig<DatepickerProps>> = {\n props: {\n numberOfMonths: 1,\n },\n };\n\n ngOnInit(): void {\n const value = this.formControl.value;\n\n // Convert incoming string to Date\n if (typeof value === 'string') {\n const parsed = new Date(value);\n if (!isNaN(parsed.getTime())) {\n this.formControl.setValue(parsed, { emitEvent: false });\n }\n }\n\n // Convert back to string when user selects date (if needed)\n this.formControl.valueChanges.subscribe(val => {\n if (val instanceof Date && this.props?.dataType === 'string') {\n const pad = (n: number) => n.toString().padStart(2, '0');\n\n const year = val.getFullYear();\n const month = pad(val.getMonth() + 1); // months are 0-based\n const day = pad(val.getDate());\n\n let result = `${year}-${month}-${day}`;\n\n if (this.props?.showTime) {\n const hours = pad(val.getHours());\n const minutes = pad(val.getMinutes());\n const seconds = pad(val.getSeconds());\n result += `T${hours}:${minutes}:${seconds}`;\n }\n\n if (this.formControl.value !== result) {\n this.formControl.setValue(result, { emitEvent: false });\n }\n }\n});\n\n }\n\n onDateSelect(date: Date) {\n if (this.props?.dataType === 'string') {\n const formatted =\n this.props.showTime === true\n ? this.toLocalDateTimeString(date)\n : this.toLocalDateOnlyString(date);\n\n this.formControl.setValue(formatted);\n } else {\n this.formControl.setValue(date);\n }\n }\n\n onTouched() {\n this.formControl.markAsTouched();\n }\n\n private toLocalDateOnlyString(date: Date): string {\n const pad = (n: number) => n.toString().padStart(2, '0');\n const year = date.getFullYear();\n const month = pad(date.getMonth() + 1);\n const day = pad(date.getDate());\n return `${year}-${month}-${day}`;\n}\n\n private toLocalDateTimeString(date: Date): string {\n const pad = (n: number) => n.toString().padStart(2, '0');\n const year = date.getFullYear();\n const month = pad(date.getMonth() + 1);\n const day = pad(date.getDate());\n const hours = pad(date.getHours());\n const minutes = pad(date.getMinutes());\n const seconds = pad(date.getSeconds());\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\n}\n}\n","import { FormlyFieldDatepicker } from './datepicker.type';\nimport { ConfigOption } from '@ngx-formly/core';\n\nexport function withFormlyFieldDatepicker(): ConfigOption {\n return {\n types: [\n {\n name: 'datepicker',\n component: FormlyFieldDatepicker,\n wrappers: ['form-field'],\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { FormlyFieldDatepicker } from './datepicker.type';\nimport { withFormlyFieldDatepicker } from './datepicker.config';\nimport { FormlyFormFieldModule } from '../../form-field';\n\n@NgModule({\n // declarations: [FormlyFieldDatepicker],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatepicker()),\n ],\n})\nexport class FormlyDatepickerModule {}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, OnDestroy } from '@angular/core';\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyForm } from '@ngx-formly/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'app-deactivation-reason-form',\n template: `\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" class=\"p-4 space-y-4\">\n <formly-form [form]=\"form\" [fields]=\"fields\" [model]=\"model\"></formly-form>\n\n\n <div class=\"bottom-0 left-0 right-0 bg-gray-200 border-t border-gray-400 px-4 py-3 flex justify-end gap-2\">\n\n <p-button\n [label]=\"( 'SAVE') | translate\"\n size=\"small\"\n [disabled]=\"form.invalid\"\n [type]=\"'submit'\">\n </p-button>\n\n <p-button\n [label]=\"'CANCEL' | translate \"\n severity=\"danger\"\n size=\"small\"\n (onClick)=\"ref.close(false)\">\n </p-button>\n\n </div>\n </form>\n `,\n imports:[FormlyForm,CommonModule,ReactiveFormsModule,FormsModule,TranslateModule,ButtonModule]\n})\nexport class DeactivationReasonFormComponent implements OnDestroy {\n form = new FormGroup({});\n model: any = {};\n fields: FormlyFieldConfig[];\n loading = false;\n errorMessage: string | null = null;\n private destroy$ = new Subject<void>();\n private idField: keyof any;\n constructor(\n public ref: DynamicDialogRef,\n public config: DynamicDialogConfig\n ) {\n this.model = config.data?.model || {};\n this.idField = this.config.data.idField;\n this.fields = [\n {\n key: 'deactivationReason',\n type: 'textarea',\n props: {\n label: 'DeactivationReason',\n placeholder: 'DeactivationReason',\n rows: 5,\n required: true,\n },\n },\n ];\n }\n\n\n onSubmit() {\n if (this.form.invalid) return;\n\n // this.loading = true;\n // this.errorMessage = null;\n\n const service = this.config.data.service;\n const id = (this.model as any)[this.idField] ;\n this.model.isActive = false;\n const operation$: Observable<any> = service.update(id, this.model);\n\n operation$.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.ref.close(this.model); // نجاح العملية\n },\n error: (err) => {\n this.loading = false;\n this.errorMessage = err.error?.message ||\n err.message ||\n 'حدث خطأ أثناء الحفظ. يرجى المحاولة مرة أخرى.';\n }\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","// src/app/shared/components/base-crud.component.ts\r\nimport { Directive, inject } from '@angular/core';\r\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DeactivationReasonFormComponent } from './deactivation-reason/deactivation-reason';\r\nimport { ActionDef } from '../models/Actiondef';\r\nimport { PaginatedResult } from '../models/Paginated';\r\nimport { BaseService } from '../services/base.service';\r\nimport { SwalService } from '../services/SwalService.service';\r\n\r\n@Directive()\r\nexport abstract class BaseCrud<T, F = any> {\r\n list: T[] = [];\r\n paginator: boolean = true;\r\n canLoad: boolean = true;\r\n loading: boolean = false;\r\n errorMsg: string = '';\r\n first: number = 0;\r\n rows: number = 10;\r\n totalRecords: number = 0;\r\n searchGlobal: string = '';\r\n sort?: string;\r\n pageFilters: Partial<F> = {};\r\n currentFilters: Partial<F> = {};\r\n mode: string ='';\r\n scrollHeight: string ='400px';\r\n private swalService = inject(SwalService);\r\n\r\n protected dialogRef!: DynamicDialogRef;\r\n\r\n\r\n // abstract service: CrudService<T, F>;\r\n abstract service: BaseService;\r\n abstract dialogService: DialogService;\r\n // abstract dialogComponent: any;\r\n // abstract columns: ColumnDef<T>[];\r\n abstract actions: ActionDef<T>[];\r\n\r\n // for generic dialog:\r\n abstract formFields: FormlyFieldConfig[];\r\n abstract idField: keyof T;\r\n dialogVisible: boolean = false;\r\n drawerVisible: boolean = false;\r\n selectedItem: T | any = null;\r\n defaultModel: T | any = null;\r\n // selectedItem: T | any = {};\r\n isViewMode = false;\r\n isEditMode = false;\r\n\r\n\r\n\r\n displayMode:\r\n | 'drawer' | 'dialog' | 'route'\r\n | Partial<Record<'add' | 'edit' | 'view', 'drawer' | 'dialog' | 'route'>>\r\n = 'drawer';\r\n\r\n private router= inject(Router);\r\n private route = inject(ActivatedRoute);\r\n\r\nloadPage(pageIndex: number, pageSize: number): void {\r\n if(this.canLoad){\r\n\r\n\r\n this.loading = true;\r\n var filters: Partial<F> = {\r\n maxResultCount:pageSize,\r\n skipCount:pageIndex,\r\n sorting:this.sort,\r\n ...this.currentFilters,\r\n ...this.pageFilters,\r\n ...(this.searchGlobal ? { filter: this.searchGlobal } : {}),\r\n };\r\n //\r\n this.service.getList(filters)\r\n .subscribe({\r\n next: (res: PaginatedResult<T>) => {\r\n //\r\n this.list = res.items;\r\n this.totalRecords = res.totalCount;\r\n this.loading = false;\r\n },\r\n error: err => {\r\n this.errorMsg = err.error?.message || err.message || 'خطأ في التحميل';\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n}\r\n\r\nonSearch(filters?: any): void {\r\n //\r\n if (filters && typeof filters === 'object' && !Array.isArray(filters)) {\r\n this.pageFilters = filters;\r\n } else {\r\n this.searchGlobal = filters;\r\n }\r\n\r\n this.loadPage(0, 10);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nonPageChange(event: { first?: number; rows?: number; sort?: string; filters?: Record<string, any> }): void {\r\n // فك المتغيّرات مع قيمة افتراضية لفلاتر\r\n const {\r\n first = this.first,\r\n rows = this.rows,\r\n sort = this.sort,\r\n filters = {}\r\n } = event;\r\n\r\n this.first = first;\r\n this.rows = rows;\r\n this.sort = sort;\r\n\r\n // const pageIndex = Math.floor(first / rows);\r\n const skipCount = first;\r\n const pageIndex = skipCount;\r\n\r\n // الوصول للفلتر العام عبر الصيغة المربعة\r\n const globalValue = filters['global'];\r\n this.searchGlobal = typeof globalValue === 'string' ? globalValue : '';\r\n\r\n // فلترة خاصة بحقل واحد\r\n // const fieldFilters = { ...filters };\r\n // delete fieldFilters['global'];\r\n // this.currentFilters = fieldFilters as Partial<F>;\r\n\r\n\r\n\r\n this.loadPage(pageIndex, rows);\r\n}\r\n\r\n\r\nprotected openEditor(item: T | null, mode: 'add' | 'edit' | 'view'): void {\r\n this.mode = mode;\r\n this.selectedItem = item ?? this.defaultModel ?? {};\r\n this.isEditMode = mode === 'edit';\r\n this.isViewMode = mode === 'view';\r\n\r\n // resolve displayMode (string or map)\r\n const modeConfig = typeof this.displayMode === 'string'\r\n ? this.displayMode\r\n : this.displayMode[mode] ?? 'drawer';\r\n\r\n switch (modeConfig) {\r\n case 'drawer':\r\n this.drawerVisible = true;\r\n break;\r\n\r\n case 'dialog':\r\n this.dialogVisible = true;\r\n break;\r\n\r\n case 'route':\r\n const id = item ? (item as any)[this.idField] : 'new';\r\n if(mode === 'add'){\r\n this.router.navigate([mode], { relativeTo: this.route });\r\n }\r\n else{\r\n this.router.navigate([id, mode], { relativeTo: this.route });\r\n }\r\n break;\r\n }\r\n}\r\n\r\nvisibleChange(value: boolean) {\r\n const modeConfig = typeof this.displayMode === 'string'\r\n ? this.displayMode\r\n : this.displayMode[this.mode as 'add' | 'edit' | 'view'] ?? 'drawer';\r\n\r\n if (modeConfig === 'dialog') {\r\n this.dialogVisible = value;\r\n } else if (modeConfig === 'drawer') {\r\n this.drawerVisible = value;\r\n } else {\r\n // route mode does not use drawer/dialog\r\n }\r\n}\r\n\r\n\r\n// onTableAction(event: { name: string; row: T | null }): void {\r\n// switch (event.name) {\r\n// case 'add': this.openDrawer(null,event.name); break;\r\n// case 'view': this.openDrawer(event.row!,event.name); break;\r\n// case 'edit': this.openDrawer(event.row!,event.name); break;\r\n// case 'delete': this.onDelete(event.row!);break;\r\n// case 'state': this.openDeactivationReason(event.row!);break;\r\n// }\r\n// }\r\n\r\nonTableAction(event: { name: string; row: T | null }): void {\r\n switch (event.name) {\r\n case 'add':\r\n case 'edit':\r\n case 'view':\r\n this.openEditor(event.row, event.name);\r\n break;\r\n case 'delete':\r\n this.onDelete(event.row!);\r\n break;\r\n case 'state':\r\n this.openDeactivationReason(event.row!);\r\n break;\r\n }\r\n}\r\n\r\n\r\nprotected openDrawer(item: T | null,mode:string): void {\r\n\r\n this.mode = mode;\r\n\r\n // this.drawerVisible = !this.drawerVisible;\r\n\r\n\r\n if (item == null) {\r\n\r\n this.selectedItem = this.defaultModel || {};\r\n }\r\n else{\r\n this.selectedItem = item;\r\n }\r\n\r\n if(mode == 'edit'){\r\n this.drawerVisible = true;\r\n this.isEditMode = true ;\r\n this.isViewMode = false ;\r\n // this.isEditMode = item !=null ;\r\n }\r\n if(mode == 'add'){\r\n this.drawerVisible = true;\r\n this.isViewMode = false ;\r\n this.isEditMode = false ;\r\n }\r\n if(mode == 'view'){\r\n // this.drawerVisible = true;\r\n this.dialogVisible = true;\r\n\r\n this.isViewMode = true ;\r\n this.isEditMode = false ;\r\n }\r\n}\r\n\r\n\r\nopenDeactivationReason(model: any) {\r\n\r\n this.selectedItem = model;\r\n if(this.selectedItem.isActive == true){\r\n\r\n\r\n const ref = this.dialogService.open(DeactivationReasonFormComponent, {\r\n header: 'السبب (في حال تم إيقافه)',\r\n width: '30vw',\r\n data: { model: { ...model },\r\n fields: this.formFields,\r\n service: this.service,\r\n idField: this.idField },\r\n });\r\n\r\n ref.onClose.subscribe((result) => {\r\n if (result) {\r\n this.selectedItem.isActive = false;\r\n this.selectedItem.deactivationReason = result.deactivationReason;\r\n // Optionally: save model via API\r\n }\r\n });\r\n}\r\nelse{\r\n this.selectedItem.isActive = true;\r\n this.selectedItem.deactivationReason = \"\";\r\n const id = (this.selectedItem as any)[this.idField] ;\r\n this.service.update(id, this.selectedItem).subscribe({\r\n next: () => {\r\n\r\n },\r\n error: (err) => {\r\n this.loading = false;\r\n\r\n }\r\n });\r\n}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n // onDelete(item: any): void {\r\n // if (!confirm('هل تريد الحذف فعلاً؟')) return;\r\n // const id = (item as any)[this.idField];\r\n // this.service.delete(id).subscribe(() => {\r\n // this.loadPage(0, this.rows);\r\n // });\r\n // }\r\n\r\n\r\nonDelete(item: any): void {\r\n const id = item[this.idField];\r\n\r\n this.swalService.confirm(\r\n 'تأكيد الحذف',\r\n 'هل تريد حذف هذا السجل فعلاً؟',\r\n 'نعم، احذف',\r\n 'إلغاء'\r\n ).then((result) => {\r\n if (result.isConfirmed) {\r\n this.service.delete(id).subscribe({\r\n next: () => {\r\n this.loadPage(0, this.rows);\r\n this.swalService.success('تم الحذف بنجاح');\r\n },\r\n error: (err: any) => {\r\n this.loading = false;\r\n\r\n const msg =\r\n err.error?.title ||\r\n err.message ||\r\n 'حدث خطأ أثناء الحفظ. يرجى المحاولة مرة أخرى.';\r\n\r\n // this.errorMessage = msg;\r\n\r\n // ❌ رسالة خطأ\r\n this.swalService.error('فشل الحذف', msg);\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\nget columns(): FormlyFieldConfig[] {\r\n const flattenFields = (fields: FormlyFieldConfig[]): FormlyFieldConfig[] => {\r\n return fields.flatMap(field => {\r\n // Check for nested group/panel\r\n if (field.fieldGroup?.length) {\r\n return flattenFields(field.fieldGroup);\r\n }\r\n\r\n // Skip fields with no props or table.hidden === true\r\n if (!field.props || field.props['table']?.hidden === true) {\r\n return [];\r\n }\r\n\r\n // Determine the column type: table.type > field.type > 'label-type'\r\n // const tableType = field.props['table']?.type || field.type || 'label-type';\r\n const tableType = field.props['table']?.type || 'label-type';\r\n\r\n //\r\n\r\n return [{\r\n type: tableType,\r\n key: field['key'], // always set key for table rendering\r\n props: {\r\n ...field.props, // base props\r\n ...field.props['table']?.props // table-specific overrides\r\n },\r\n expressions: field.props['table']?.expressions\r\n }];\r\n });\r\n };\r\n\r\n return flattenFields(this.formFields);\r\n}\r\n\r\n\r\nget filters(): FormlyFieldConfig[] {\r\n const flattenForFilter = (fields: FormlyFieldConfig[]): FormlyFieldConfig[] => {\r\n return fields.flatMap(field => {\r\n if (field.fieldGroup?.length) {\r\n // Recursively handle nested panels/groups\r\n return flattenForFilter(field.fieldGroup);\r\n }\r\n\r\n // Skip fields with no props or filter.hidden === true\r\n if (!field.props || field.props['filter']?.hidden === true) {\r\n return [];\r\n }\r\n\r\n return [field];\r\n });\r\n };\r\n\r\n return flattenForFilter(this.formFields);\r\n}\r\n\r\n}\r\n","import { FormlyFieldConfig } from \"@ngx-formly/core\";\nimport { Observable } from \"rxjs\";\n\nexport const DEFAULT_CONTROL_CLASS = [\n 'w-full',\n 'border',\n 'border-gray-300',\n 'rounded',\n 'focus:outline-none',\n 'focus:ring-2',\n 'focus:ring-green-400',\n].join(' ');\n\n\nexport interface SelectOption {\n label: string;\n value: any;\n icon?: string; // ← allow icon\n}\n\nexport function numberField(\n key: string,\n label: string,\n required = false,\n className = 'col-span-1',\n): FormlyFieldConfig {\n return {\n key,\n type: 'input',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n type:\"number\",\n label,\n required,\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n}\n\nexport function textField(\n key: string,\n label: string,\n required = false,\n className = 'col-span-1',\n // ✅ تم تغيير هذا البراميتر ليقبل خصائص إضافية لـ templateOptions\n extraTemplateOptions?: { [key: string]: any }\n): FormlyFieldConfig {\n return {\n key,\n type: 'advanced-input',\n className,\n wrappers: ['form-field'],\n props: {\n label,\n required,\n attributes: {\n class: DEFAULT_CONTROL_CLASS,\n },\n // ✅ دمج الخصائص الإضافية هنا\n ...extraTemplateOptions,\n },\n };\n}\n\nexport function textField2(\n key: string,\n label: string,\n required = false,\n className = 'col-span-1',\n expressions?: FormlyFieldConfig['expressions']\n): FormlyFieldConfig {\n return {\n key,\n type: 'input',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n required,\n attributes: {\n class: DEFAULT_CONTROL_CLASS,\n },\n // ✅ اضف disabled ليتضبب الحقل إذا كان readonly\n },\n expressions,\n };\n}\n\n\nexport function textareaField(\n key: string,\n label: string,\n rows = 3,\n className = 'col-span-1',\n): FormlyFieldConfig {\n return {\n key,\n type: 'textarea',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n rows,\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n}\n\n// formly-presets.ts\n\n export interface SelectFieldOptions {\n key: string;\n label: string;\n options?: SelectOption[] | Observable<SelectOption[]>;\n className?: string;\n defaultValue?: any;\n required?: boolean;\n fullWidth?: boolean;\n }\n\nexport function selectField({\n key,\n label,\n options = [],\n className,\n defaultValue,\n fullWidth = false,\n required = false,\n}: SelectFieldOptions): FormlyFieldConfig {\n const config: FormlyFieldConfig = {\n key,\n type: 'select',\n className: className ?? (fullWidth ? 'col-span-2' : 'col-span-1'),\n wrappers: ['form-field'],\n templateOptions: {\n label,\n options,\n required,\n placeholder: `اختر ${label}`,\n showClear: true,\n filter: true,\n appendTo: 'body',\n optionLabel: 'label',\n optionValue: 'value',\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n\n\n if (options !== undefined) {\n config.templateOptions!.options = options;\n }\n\n if (defaultValue !== undefined) {\n config.defaultValue = defaultValue;\n }\n\n return config;\n}\n\n\n\n// export function checkboxField(\n// key: string,\n// label: string,\n// required = false,\n// className = 'col-span-1',\n// useNumberMapping = false\n// ): FormlyFieldConfig {\n// const field: FormlyFieldConfig = {\n// key,\n// type: 'checkbox',\n// className,\n// wrappers: ['form-field'],\n// templateOptions: {\n// label,\n// required,\n// attributes: {\n// class: 'flex items-center gap-2',\n// },\n// },\n// };\n\n// if (useNumberMapping) {\n// field.hooks = {\n// onInit: (field) => {\n// // ✅ تهيئة القيمة داخل الفورم كنترول\n// const initialValue = field.model?.[key];\n// if (initialValue === 1 || initialValue === 2) {\n// field.formControl?.setValue(initialValue === 1, { emitEvent: false });\n// }\n\n// // ✅ تحويل عند تغيّر القيمة من الـ checkbox\n// field.formControl?.valueChanges.subscribe(val => {\n// const newValue = val ? 1 : 2;\n// if (field.model) {\n// field.model[key] = newValue;\n// }\n// });\n// }\n// };\n// }\n\n// return field;\n// }\n\n\n\n\nexport function checkboxField(\n key: string,\n label: string,\n required = false,\n className = 'col-span-1',\n): FormlyFieldConfig {\n return {\n key,\n type: 'checkbox',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n required,\n attributes: {\n class: 'flex items-center gap-2',\n },\n },\n hooks: {\n onInit: (field) => {\n const val = field.model?.[key];\n\n if (val === 1) {\n field.formControl?.setValue(true, { emitEvent: false });\n } else if (val === 2) {\n field.formControl?.setValue(false, { emitEvent: false });\n } else if (val === undefined) {\n field.model[key] = 2; // تعيين القيمة الافتراضية في الموديل\n field.formControl?.setValue(false, { emitEvent: false });\n } else {\n field.formControl?.setValue(false, { emitEvent: false });\n }\n\n field.formControl?.valueChanges.subscribe(val => {\n const newVal = val ? 1 : 2;\n if (field.model && field.model[key] !== newVal) {\n field.model[key] = newVal;\n }\n });\n }\n }\n };\n}\n","// export * from './lib/components';\n\nexport * from './lib/tokens';\nexport * from './lib/directives';\nexport * from './lib/pipes';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/providers';\n\n\nexport * from './lib/components/input';\nexport * from './lib/components/radio';\nexport * from './lib/components/select';\nexport * from './lib/components/checkbox';\nexport * from './lib/components/textarea';\nexport * from './lib/components/form-field';\nexport * from './lib/components/datepicker';\n\nexport * from './lib/components/base-crud';\nexport * from './lib/components/formly-presets';\n// export * from './lib/components/InputWithIconType';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.RestService","i2","FormlyFormFieldModule","i4","i3","FormlySelectModule","FormlyCoreSelectModule","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"elite.framework-ng.core.mjs","sources":["../tmp-esm2022/lib/ng.core/ng.core.js","../tmp-esm2022/elite.framework-ng.core.js"],"sourcesContent":["import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class NgCore {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: NgCore, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: NgCore, isStandalone: true, selector: \"lib-ng-core\", ngImport: i0, template: \"<p>NgCore works!</p>\\n\", styles: [\"\"] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: NgCore, decorators: [{\n type: Component,\n args: [{ selector: 'lib-ng-core', imports: [], template: \"<p>NgCore works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcuY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zcmMvbGliL25nLmNvcmUvbmcuY29yZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zcmMvbGliL25nLmNvcmUvbmcuY29yZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxNQUFNO3VHQUFOLE1BQU07MkZBQU4sTUFBTSx1RUNSbkIsd0JBQ0E7OzJGRE9hLE1BQU07a0JBTmxCLFNBQVM7K0JBQ0UsYUFBYSxXQUNkLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5nLWNvcmUnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nLmNvcmUuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uZy5jb3JlLmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIE5nQ29yZSB7fVxuIiwiPHA+TmdDb3JlIHdvcmtzITwvcD5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvc3JjL2VsaXRlLmZyYW1ld29yay1uZy5jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":";;;AAEO,MAAM,MAAM,CAAC;AACpB,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAChK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACjN;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAC/F,SAAS,CAAC,EAAE,CAAC;;ACTb;AACA;AACA;;;;"}