@elementar-rt/components 0.6.55
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/README.md +49 -0
- package/action-required/index.d.ts +13 -0
- package/alert/index.d.ts +51 -0
- package/announcement/index.d.ts +45 -0
- package/avatar/index.d.ts +67 -0
- package/block-loader/index.d.ts +21 -0
- package/block-state/index.d.ts +33 -0
- package/brand-colors/index.d.ts +27 -0
- package/breadcrumbs/index.d.ts +104 -0
- package/card-overlay/index.d.ts +20 -0
- package/carousel/index.d.ts +75 -0
- package/code-highlighter/index.d.ts +18 -0
- package/color-picker/index.d.ts +92 -0
- package/color-scheme/index.d.ts +44 -0
- package/command-bar/index.d.ts +28 -0
- package/comment-editor/index.d.ts +194 -0
- package/comparison-slider/index.d.ts +51 -0
- package/confirm/index.d.ts +35 -0
- package/content-fade/index.d.ts +17 -0
- package/cookie-popup/index.d.ts +41 -0
- package/core/index.d.ts +252 -0
- package/country-select/index.d.ts +76 -0
- package/crop/index.d.ts +59 -0
- package/currency-select/index.d.ts +78 -0
- package/dashboard/index.d.ts +48 -0
- package/data-view/index.d.ts +127 -0
- package/date-format-select/index.d.ts +56 -0
- package/divider/index.d.ts +13 -0
- package/drawer/index.d.ts +35 -0
- package/emoji-picker/index.d.ts +49 -0
- package/expand/index.d.ts +26 -0
- package/fesm2022/elementar-rt-components-action-required.mjs +30 -0
- package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-alert.mjs +139 -0
- package/fesm2022/elementar-rt-components-alert.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-announcement.mjs +73 -0
- package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-avatar.mjs +234 -0
- package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-block-loader.mjs +54 -0
- package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-block-state.mjs +75 -0
- package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-brand-colors.mjs +78 -0
- package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs +213 -0
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-card-overlay.mjs +55 -0
- package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-carousel.mjs +605 -0
- package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-code-highlighter.mjs +57 -0
- package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-color-picker.mjs +708 -0
- package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-color-scheme.mjs +106 -0
- package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-command-bar.mjs +59 -0
- package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-comment-editor.mjs +1039 -0
- package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-comparison-slider.mjs +193 -0
- package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-confirm.mjs +86 -0
- package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-content-fade.mjs +35 -0
- package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-cookie-popup.mjs +109 -0
- package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-core.mjs +837 -0
- package/fesm2022/elementar-rt-components-core.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-country-select.mjs +477 -0
- package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-crop.mjs +183 -0
- package/fesm2022/elementar-rt-components-crop.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-currency-select.mjs +384 -0
- package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-dashboard.mjs +96 -0
- package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-data-view.mjs +302 -0
- package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-date-format-select.mjs +136 -0
- package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-divider.mjs +31 -0
- package/fesm2022/elementar-rt-components-divider.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-drawer.mjs +131 -0
- package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-emoji-picker.mjs +249 -0
- package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-expand.mjs +60 -0
- package/fesm2022/elementar-rt-components-expand.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-filter-builder.mjs +333 -0
- package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs +123 -0
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs +22 -0
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs +40 -0
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs +17 -0
- package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs +17 -0
- package/fesm2022/elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs +33 -0
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs +38 -0
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs +39 -0
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs +24 -0
- package/fesm2022/elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs +37 -0
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs +35 -0
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs +22 -0
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer.mjs +321 -0
- package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-gauge.mjs +50 -0
- package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-icon.mjs +62 -0
- package/fesm2022/elementar-rt-components-icon.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-image-resizer.mjs +159 -0
- package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-image-viewer.mjs +349 -0
- package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-incidents.mjs +259 -0
- package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs +181 -0
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-input-mask.mjs +180 -0
- package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-input-validator.mjs +24 -0
- package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-kanban-board.mjs +156 -0
- package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-layout.mjs +188 -0
- package/fesm2022/elementar-rt-components-layout.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-logo.mjs +43 -0
- package/fesm2022/elementar-rt-components-logo.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-marquee.mjs +79 -0
- package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-micro-chart.mjs +950 -0
- package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-navigation.mjs +379 -0
- package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-notifications.mjs +190 -0
- package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-number-input.mjs +288 -0
- package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +455 -0
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-overlay.mjs +112 -0
- package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs +79 -0
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-panel.mjs +105 -0
- package/fesm2022/elementar-rt-components-panel.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-password-strength.mjs +474 -0
- package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-phone-input.mjs +637 -0
- package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-pin-input.mjs +197 -0
- package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-popover.mjs +262 -0
- package/fesm2022/elementar-rt-components-popover.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-radio-card.mjs +102 -0
- package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-rail-nav.mjs +84 -0
- package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-resizable-container.mjs +69 -0
- package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-screen-loader.mjs +27 -0
- package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-scroll-spy.mjs +165 -0
- package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-segmented.mjs +153 -0
- package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-side-panel.mjs +110 -0
- package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-sidebar.mjs +423 -0
- package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-signature-pad.mjs +452 -0
- package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-skeleton.mjs +56 -0
- package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-splash-screen.mjs +91 -0
- package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-stepper.mjs +194 -0
- package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-suggestions.mjs +76 -0
- package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-tab-panel.mjs +270 -0
- package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-text-editor.mjs +1025 -0
- package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +214 -0
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-timeline.mjs +122 -0
- package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-timezone-select.mjs +351 -0
- package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-upload.mjs +340 -0
- package/fesm2022/elementar-rt-components-upload.mjs.map +1 -0
- package/fesm2022/elementar-rt-components.mjs +6 -0
- package/fesm2022/elementar-rt-components.mjs.map +1 -0
- package/filter-builder/index.d.ts +107 -0
- package/form-renderer/index.d.ts +121 -0
- package/gauge/index.d.ts +21 -0
- package/icon/index.d.ts +17 -0
- package/image-resizer/index.d.ts +35 -0
- package/image-viewer/index.d.ts +63 -0
- package/incidents/index.d.ts +119 -0
- package/index.d.ts +2 -0
- package/inline-text-edit/index.d.ts +39 -0
- package/input-mask/index.d.ts +36 -0
- package/input-validator/index.d.ts +5 -0
- package/kanban-board/index.d.ts +68 -0
- package/layout/index.d.ts +75 -0
- package/logo/index.d.ts +21 -0
- package/marquee/index.d.ts +26 -0
- package/micro-chart/index.d.ts +193 -0
- package/navigation/index.d.ts +119 -0
- package/notifications/index.d.ts +84 -0
- package/number-input/index.d.ts +93 -0
- package/overlay/index.d.ts +12 -0
- package/overlay-scrollbar/index.d.ts +66 -0
- package/package.json +356 -0
- package/page-loading-bar/index.d.ts +20 -0
- package/panel/index.d.ts +43 -0
- package/password-strength/index.d.ts +109 -0
- package/phone-input/index.d.ts +94 -0
- package/pin-input/index.d.ts +48 -0
- package/popover/index.d.ts +75 -0
- package/radio-card/index.d.ts +37 -0
- package/rail-nav/index.d.ts +36 -0
- package/resizable-container/index.d.ts +21 -0
- package/screen-loader/index.d.ts +9 -0
- package/scroll-spy/index.d.ts +48 -0
- package/segmented/index.d.ts +54 -0
- package/side-panel/index.d.ts +42 -0
- package/sidebar/index.d.ts +143 -0
- package/signature-pad/index.d.ts +49 -0
- package/skeleton/index.d.ts +24 -0
- package/splash-screen/index.d.ts +31 -0
- package/stepper/index.d.ts +65 -0
- package/styles/_common.scss +776 -0
- package/styles/themes/cyan-orange.scss +41 -0
- package/styles/themes/default.scss +5 -0
- package/styles/themes/magenta-violet.scss +41 -0
- package/styles/themes/rose-red.scss +41 -0
- package/suggestions/index.d.ts +32 -0
- package/tab-panel/index.d.ts +96 -0
- package/text-editor/index.d.ts +191 -0
- package/thumbnail-maker/index.d.ts +35 -0
- package/timeline/index.d.ts +57 -0
- package/timezone-select/index.d.ts +72 -0
- package/upload/index.d.ts +134 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, Renderer2, signal, input, model, booleanAttribute, computed, viewChild, DestroyRef, effect, forwardRef, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/forms';
|
|
4
|
+
import { FormControl, NgControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
6
|
+
import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select';
|
|
7
|
+
import { Subject } from 'rxjs';
|
|
8
|
+
import { startWith } from 'rxjs/operators';
|
|
9
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
10
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
11
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
12
|
+
import { MatIconButton } from '@angular/material/button';
|
|
13
|
+
import { MatIcon } from '@angular/material/icon';
|
|
14
|
+
|
|
15
|
+
const currencies = [
|
|
16
|
+
{ "code": "AED", "name": "UAE Dirham", "symbol": "د.إ", "countryCode": "AE", "flag": "🇦🇪" },
|
|
17
|
+
{ "code": "AFN", "name": "Afghan Afghani", "symbol": "؋", "countryCode": "AF", "flag": "🇦🇫" },
|
|
18
|
+
{ "code": "ALL", "name": "Albanian Lek", "symbol": "L", "countryCode": "AL", "flag": "🇦🇱" },
|
|
19
|
+
{ "code": "AMD", "name": "Armenian Dram", "symbol": "֏", "countryCode": "AM", "flag": "🇦🇲" },
|
|
20
|
+
{ "code": "ANG", "name": "Netherlands Antillean Guilder", "symbol": "ƒ", "countryCode": "AN", "flag": "🇦🇳" },
|
|
21
|
+
{ "code": "AOA", "name": "Angolan Kwanza", "symbol": "Kz", "countryCode": "AO", "flag": "🇦🇴" },
|
|
22
|
+
{ "code": "ARS", "name": "Argentine Peso", "symbol": "$", "countryCode": "AR", "flag": "🇦🇷" },
|
|
23
|
+
{ "code": "AUD", "name": "Australian Dollar", "symbol": "$", "countryCode": "AU", "flag": "🇦🇺" },
|
|
24
|
+
{ "code": "AWG", "name": "Aruban Florin", "symbol": "ƒ", "countryCode": "AW", "flag": "🇦🇼" },
|
|
25
|
+
{ "code": "AZN", "name": "Azerbaijani Manat", "symbol": "₼", "countryCode": "AZ", "flag": "🇦🇿" },
|
|
26
|
+
{ "code": "BAM", "name": "Bosnia-Herzegovina Convertible Mark", "symbol": "KM", "countryCode": "BA", "flag": "🇧🇦" },
|
|
27
|
+
{ "code": "BBD", "name": "Barbadian Dollar", "symbol": "$", "countryCode": "BB", "flag": "🇧🇧" },
|
|
28
|
+
{ "code": "BDT", "name": "Bangladeshi Taka", "symbol": "৳", "countryCode": "BD", "flag": "🇧🇩" },
|
|
29
|
+
{ "code": "BGN", "name": "Bulgarian Lev", "symbol": "лв", "countryCode": "BG", "flag": "🇧🇬" },
|
|
30
|
+
{ "code": "BHD", "name": "Bahraini Dinar", "symbol": ".د.ب", "countryCode": "BH", "flag": "🇧🇭" },
|
|
31
|
+
{ "code": "BIF", "name": "Burundian Franc", "symbol": "FBu", "countryCode": "BI", "flag": "🇧🇮" },
|
|
32
|
+
{ "code": "BMD", "name": "Bermudan Dollar", "symbol": "$", "countryCode": "BM", "flag": "🇧🇲" },
|
|
33
|
+
{ "code": "BND", "name": "Brunei Dollar", "symbol": "$", "countryCode": "BN", "flag": "🇧🇳" },
|
|
34
|
+
{ "code": "BOB", "name": "Bolivian Boliviano", "symbol": "Bs.", "countryCode": "BO", "flag": "🇧🇴" },
|
|
35
|
+
{ "code": "BRL", "name": "Brazilian Real", "symbol": "R$", "countryCode": "BR", "flag": "🇧🇷" },
|
|
36
|
+
{ "code": "BSD", "name": "Bahamian Dollar", "symbol": "$", "countryCode": "BS", "flag": "🇧🇸" },
|
|
37
|
+
{ "code": "BTN", "name": "Bhutanese Ngultrum", "symbol": "Nu.", "countryCode": "BT", "flag": "🇧🇹" },
|
|
38
|
+
{ "code": "BWP", "name": "Botswanan Pula", "symbol": "P", "countryCode": "BW", "flag": "🇧🇼" },
|
|
39
|
+
{ "code": "BYN", "name": "Belarusian Ruble", "symbol": "Br", "countryCode": "BY", "flag": "🇧🇾" },
|
|
40
|
+
{ "code": "BZD", "name": "Belize Dollar", "symbol": "BZ$", "countryCode": "BZ", "flag": "🇧🇿" },
|
|
41
|
+
{ "code": "CAD", "name": "Canadian Dollar", "symbol": "$", "countryCode": "CA", "flag": "🇨🇦" },
|
|
42
|
+
{ "code": "CDF", "name": "Congolese Franc", "symbol": "FC", "countryCode": "CD", "flag": "🇨🇩" },
|
|
43
|
+
{ "code": "CHF", "name": "Swiss Franc", "symbol": "CHF", "countryCode": "CH", "flag": "🇨🇭" },
|
|
44
|
+
{ "code": "CLP", "name": "Chilean Peso", "symbol": "$", "countryCode": "CL", "flag": "🇨🇱" },
|
|
45
|
+
{ "code": "CNY", "name": "Chinese Yuan", "symbol": "¥", "countryCode": "CN", "flag": "🇨🇳" },
|
|
46
|
+
{ "code": "COP", "name": "Colombian Peso", "symbol": "$", "countryCode": "CO", "flag": "🇨🇴" },
|
|
47
|
+
{ "code": "CRC", "name": "Costa Rican Colón", "symbol": "₡", "countryCode": "CR", "flag": "🇨🇷" },
|
|
48
|
+
{ "code": "CUP", "name": "Cuban Peso", "symbol": "₱", "countryCode": "CU", "flag": "🇨🇺" },
|
|
49
|
+
{ "code": "CVE", "name": "Cape Verdean Escudo", "symbol": "$", "countryCode": "CV", "flag": "🇨🇻" },
|
|
50
|
+
{ "code": "CZK", "name": "Czech Koruna", "symbol": "Kč", "countryCode": "CZ", "flag": "🇨🇿" },
|
|
51
|
+
{ "code": "DJF", "name": "Djiboutian Franc", "symbol": "Fdj", "countryCode": "DJ", "flag": "🇩🇯" },
|
|
52
|
+
{ "code": "DKK", "name": "Danish Krone", "symbol": "kr", "countryCode": "DK", "flag": "🇩🇰" },
|
|
53
|
+
{ "code": "DOP", "name": "Dominican Peso", "symbol": "RD$", "countryCode": "DO", "flag": "🇩🇴" },
|
|
54
|
+
{ "code": "DZD", "name": "Algerian Dinar", "symbol": "د.ج", "countryCode": "DZ", "flag": "🇩🇿" },
|
|
55
|
+
{ "code": "EGP", "name": "Egyptian Pound", "symbol": "£", "countryCode": "EG", "flag": "🇪🇬" },
|
|
56
|
+
{ "code": "ERN", "name": "Eritrean Nakfa", "symbol": "Nfk", "countryCode": "ER", "flag": "🇪🇷" },
|
|
57
|
+
{ "code": "ETB", "name": "Ethiopian Birr", "symbol": "Br", "countryCode": "ET", "flag": "🇪🇹" },
|
|
58
|
+
{ "code": "EUR", "name": "Euro", "symbol": "€", "countryCode": "EU", "flag": "🇪🇺" },
|
|
59
|
+
{ "code": "FJD", "name": "Fijian Dollar", "symbol": "$", "countryCode": "FJ", "flag": "🇫🇯" },
|
|
60
|
+
{ "code": "FKP", "name": "Falkland Islands Pound", "symbol": "£", "countryCode": "FK", "flag": "🇫🇰" },
|
|
61
|
+
{ "code": "GBP", "name": "British Pound", "symbol": "£", "countryCode": "GB", "flag": "🇬🇧" },
|
|
62
|
+
{ "code": "GEL", "name": "Georgian Lari", "symbol": "₾", "countryCode": "GE", "flag": "🇬🇪" },
|
|
63
|
+
{ "code": "GHS", "name": "Ghanaian Cedi", "symbol": "GH₵", "countryCode": "GH", "flag": "🇬🇭" },
|
|
64
|
+
{ "code": "GIP", "name": "Gibraltar Pound", "symbol": "£", "countryCode": "GI", "flag": "🇬🇮" },
|
|
65
|
+
{ "code": "GMD", "name": "Gambian Dalasi", "symbol": "D", "countryCode": "GM", "flag": "🇬🇲" },
|
|
66
|
+
{ "code": "GNF", "name": "Guinean Franc", "symbol": "FG", "countryCode": "GN", "flag": "🇬🇳" },
|
|
67
|
+
{ "code": "GTQ", "name": "Guatemalan Quetzal", "symbol": "Q", "countryCode": "GT", "flag": "🇬🇹" },
|
|
68
|
+
{ "code": "GYD", "name": "Guyanaese Dollar", "symbol": "$", "countryCode": "GY", "flag": "🇬🇾" },
|
|
69
|
+
{ "code": "HKD", "name": "Hong Kong Dollar", "symbol": "$", "countryCode": "HK", "flag": "🇭🇰" },
|
|
70
|
+
{ "code": "HNL", "name": "Honduran Lempira", "symbol": "L", "countryCode": "HN", "flag": "🇭🇳" },
|
|
71
|
+
{ "code": "HRK", "name": "Croatian Kuna", "symbol": "kn", "countryCode": "HR", "flag": "🇭🇷" },
|
|
72
|
+
{ "code": "HTG", "name": "Haitian Gourde", "symbol": "G", "countryCode": "HT", "flag": "🇭🇹" },
|
|
73
|
+
{ "code": "HUF", "name": "Hungarian Forint", "symbol": "Ft", "countryCode": "HU", "flag": "🇭🇺" },
|
|
74
|
+
{ "code": "IDR", "name": "Indonesian Rupiah", "symbol": "Rp", "countryCode": "ID", "flag": "🇮🇩" },
|
|
75
|
+
{ "code": "ILS", "name": "Israeli New Shekel", "symbol": "₪", "countryCode": "IL", "flag": "🇮🇱" },
|
|
76
|
+
{ "code": "INR", "name": "Indian Rupee", "symbol": "₹", "countryCode": "IN", "flag": "🇮🇳" },
|
|
77
|
+
{ "code": "IQD", "name": "Iraqi Dinar", "symbol": "ع.د", "countryCode": "IQ", "flag": "🇮🇶" },
|
|
78
|
+
{ "code": "IRR", "name": "Iranian Rial", "symbol": "﷼", "countryCode": "IR", "flag": "🇮🇷" },
|
|
79
|
+
{ "code": "ISK", "name": "Icelandic Króna", "symbol": "kr", "countryCode": "IS", "flag": "🇮🇸" },
|
|
80
|
+
{ "code": "JMD", "name": "Jamaican Dollar", "symbol": "J$", "countryCode": "JM", "flag": "🇯🇲" },
|
|
81
|
+
{ "code": "JOD", "name": "Jordanian Dinar", "symbol": "JD", "countryCode": "JO", "flag": "🇯🇴" },
|
|
82
|
+
{ "code": "JPY", "name": "Japanese Yen", "symbol": "¥", "countryCode": "JP", "flag": "🇯🇵" },
|
|
83
|
+
{ "code": "KES", "name": "Kenyan Shilling", "symbol": "KSh", "countryCode": "KE", "flag": "🇰🇪" },
|
|
84
|
+
{ "code": "KGS", "name": "Kyrgystani Som", "symbol": "с", "countryCode": "KG", "flag": "🇰🇬" },
|
|
85
|
+
{ "code": "KHR", "name": "Cambodian Riel", "symbol": "៛", "countryCode": "KH", "flag": "🇰🇭" },
|
|
86
|
+
{ "code": "KMF", "name": "Comorian Franc", "symbol": "CF", "countryCode": "KM", "flag": "🇰🇲" },
|
|
87
|
+
{ "code": "KPW", "name": "North Korean Won", "symbol": "₩", "countryCode": "KP", "flag": "🇰🇵" },
|
|
88
|
+
{ "code": "KRW", "name": "South Korean Won", "symbol": "₩", "countryCode": "KR", "flag": "🇰🇷" },
|
|
89
|
+
{ "code": "KWD", "name": "Kuwaiti Dinar", "symbol": "د.ك", "countryCode": "KW", "flag": "🇰🇼" },
|
|
90
|
+
{ "code": "KYD", "name": "Cayman Islands Dollar", "symbol": "$", "countryCode": "KY", "flag": "🇰🇾" },
|
|
91
|
+
{ "code": "KZT", "name": "Kazakhstani Tenge", "symbol": "₸", "countryCode": "KZ", "flag": "🇰🇿" },
|
|
92
|
+
{ "code": "LAK", "name": "Laotian Kip", "symbol": "₭", "countryCode": "LA", "flag": "🇱🇦" },
|
|
93
|
+
{ "code": "LBP", "name": "Lebanese Pound", "symbol": "£", "countryCode": "LB", "flag": "🇱🇧" },
|
|
94
|
+
{ "code": "LKR", "name": "Sri Lankan Rupee", "symbol": "₨", "countryCode": "LK", "flag": "🇱🇰" },
|
|
95
|
+
{ "code": "LRD", "name": "Liberian Dollar", "symbol": "$", "countryCode": "LR", "flag": "🇱🇷" },
|
|
96
|
+
{ "code": "LSL", "name": "Lesotho Loti", "symbol": "L", "countryCode": "LS", "flag": "🇱🇸" },
|
|
97
|
+
{ "code": "LYD", "name": "Libyan Dinar", "symbol": "ل.د", "countryCode": "LY", "flag": "🇱🇾" },
|
|
98
|
+
{ "code": "MAD", "name": "Moroccan Dirham", "symbol": "د.م.", "countryCode": "MA", "flag": "🇲🇦" },
|
|
99
|
+
{ "code": "MDL", "name": "Moldovan Leu", "symbol": "L", "countryCode": "MD", "flag": "🇲🇩" },
|
|
100
|
+
{ "code": "MGA", "name": "Malagasy Ariary", "symbol": "Ar", "countryCode": "MG", "flag": "🇲🇬" },
|
|
101
|
+
{ "code": "MKD", "name": "Macedonian Denar", "symbol": "ден", "countryCode": "MK", "flag": "🇲🇰" },
|
|
102
|
+
{ "code": "MMK", "name": "Myanma Kyat", "symbol": "K", "countryCode": "MM", "flag": "🇲🇲" },
|
|
103
|
+
{ "code": "MNT", "name": "Mongolian Tugrik", "symbol": "₮", "countryCode": "MN", "flag": "🇲🇳" },
|
|
104
|
+
{ "code": "MOP", "name": "Macanese Pataca", "symbol": "MOP$", "countryCode": "MO", "flag": "🇲🇴" },
|
|
105
|
+
{ "code": "MRU", "name": "Mauritanian Ouguiya", "symbol": "UM", "countryCode": "MR", "flag": "🇲🇷" },
|
|
106
|
+
{ "code": "MUR", "name": "Mauritian Rupee", "symbol": "₨", "countryCode": "MU", "flag": "🇲🇺" },
|
|
107
|
+
{ "code": "MVR", "name": "Maldivian Rufiyaa", "symbol": ".ރ", "countryCode": "MV", "flag": "🇲🇻" },
|
|
108
|
+
{ "code": "MWK", "name": "Malawian Kwacha", "symbol": "MK", "countryCode": "MW", "flag": "🇲🇼" },
|
|
109
|
+
{ "code": "MXN", "name": "Mexican Peso", "symbol": "$", "countryCode": "MX", "flag": "🇲🇽" },
|
|
110
|
+
{ "code": "MYR", "name": "Malaysian Ringgit", "symbol": "RM", "countryCode": "MY", "flag": "🇲🇾" },
|
|
111
|
+
{ "code": "MZN", "name": "Mozambican Metical", "symbol": "MT", "countryCode": "MZ", "flag": "🇲🇿" },
|
|
112
|
+
{ "code": "NAD", "name": "Namibian Dollar", "symbol": "$", "countryCode": "NA", "flag": "🇳🇦" },
|
|
113
|
+
{ "code": "NGN", "name": "Nigerian Naira", "symbol": "₦", "countryCode": "NG", "flag": "🇳🇬" },
|
|
114
|
+
{ "code": "NIO", "name": "Nicaraguan Córdoba", "symbol": "C$", "countryCode": "NI", "flag": "🇳🇮" },
|
|
115
|
+
{ "code": "NOK", "name": "Norwegian Krone", "symbol": "kr", "countryCode": "NO", "flag": "🇳🇴" },
|
|
116
|
+
{ "code": "NPR", "name": "Nepalese Rupee", "symbol": "₨", "countryCode": "NP", "flag": "🇳🇵" },
|
|
117
|
+
{ "code": "NZD", "name": "New Zealand Dollar", "symbol": "$", "countryCode": "NZ", "flag": "🇳🇿" },
|
|
118
|
+
{ "code": "OMR", "name": "Omani Rial", "symbol": "ر.ع.", "countryCode": "OM", "flag": "🇴🇲" },
|
|
119
|
+
{ "code": "PAB", "name": "Panamanian Balboa", "symbol": "B/.", "countryCode": "PA", "flag": "🇵🇦" },
|
|
120
|
+
{ "code": "PEN", "name": "Peruvian Nuevo Sol", "symbol": "S/.", "countryCode": "PE", "flag": "🇵🇪" },
|
|
121
|
+
{ "code": "PGK", "name": "Papua New Guinean Kina", "symbol": "K", "countryCode": "PG", "flag": "🇵🇬" },
|
|
122
|
+
{ "code": "PHP", "name": "Philippine Peso", "symbol": "₱", "countryCode": "PH", "flag": "🇵🇭" },
|
|
123
|
+
{ "code": "PKR", "name": "Pakistani Rupee", "symbol": "₨", "countryCode": "PK", "flag": "🇵🇰" },
|
|
124
|
+
{ "code": "PLN", "name": "Polish Złoty", "symbol": "zł", "countryCode": "PL", "flag": "🇵🇱" },
|
|
125
|
+
{ "code": "PYG", "name": "Paraguayan Guarani", "symbol": "₲", "countryCode": "PY", "flag": "🇵🇾" },
|
|
126
|
+
{ "code": "QAR", "name": "Qatari Riyal", "symbol": "ر.ق", "countryCode": "QA", "flag": "🇶🇦" },
|
|
127
|
+
{ "code": "RON", "name": "Romanian Leu", "symbol": "lei", "countryCode": "RO", "flag": "🇷🇴" },
|
|
128
|
+
{ "code": "RSD", "name": "Serbian Dinar", "symbol": "дин.", "countryCode": "RS", "flag": "🇷🇸" },
|
|
129
|
+
{ "code": "RUB", "name": "Russian Ruble", "symbol": "₽", "countryCode": "RU", "flag": "🇷🇺" },
|
|
130
|
+
{ "code": "RWF", "name": "Rwandan Franc", "symbol": "R₣", "countryCode": "RW", "flag": "🇷🇼" },
|
|
131
|
+
{ "code": "SAR", "name": "Saudi Riyal", "symbol": "ر.س", "countryCode": "SA", "flag": "🇸🇦" },
|
|
132
|
+
{ "code": "SBD", "name": "Solomon Islands Dollar", "symbol": "$", "countryCode": "SB", "flag": "🇸🇧" },
|
|
133
|
+
{ "code": "SCR", "name": "Seychellois Rupee", "symbol": "₨", "countryCode": "SC", "flag": "🇸🇨" },
|
|
134
|
+
{ "code": "SDG", "name": "Sudanese Pound", "symbol": "ج.س.", "countryCode": "SD", "flag": "🇸🇩" },
|
|
135
|
+
{ "code": "SEK", "name": "Swedish Krona", "symbol": "kr", "countryCode": "SE", "flag": "🇸🇪" },
|
|
136
|
+
{ "code": "SGD", "name": "Singapore Dollar", "symbol": "$", "countryCode": "SG", "flag": "🇸🇬" },
|
|
137
|
+
{ "code": "SHP", "name": "Saint Helena Pound", "symbol": "£", "countryCode": "SH", "flag": "🇸🇭" },
|
|
138
|
+
{ "code": "SLL", "name": "Sierra Leonean Leone", "symbol": "Le", "countryCode": "SL", "flag": "🇸🇱" },
|
|
139
|
+
{ "code": "SOS", "name": "Somali Shilling", "symbol": "S", "countryCode": "SO", "flag": "🇸🇴" },
|
|
140
|
+
{ "code": "SRD", "name": "Surinamese Dollar", "symbol": "$", "countryCode": "SR", "flag": "🇸🇷" },
|
|
141
|
+
{ "code": "SSP", "name": "South Sudanese Pound", "symbol": "£", "countryCode": "SS", "flag": "🇸🇸" },
|
|
142
|
+
{ "code": "STN", "name": "São Tomé and Príncipe Dobra", "symbol": "Db", "countryCode": "ST", "flag": "🇸🇹" },
|
|
143
|
+
{ "code": "SVC", "name": "Salvadoran Colón", "symbol": "$", "countryCode": "SV", "flag": "🇸🇻" },
|
|
144
|
+
{ "code": "SYP", "name": "Syrian Pound", "symbol": "£", "countryCode": "SY", "flag": "🇸🇾" },
|
|
145
|
+
{ "code": "SZL", "name": "Swazi Lilangeni", "symbol": "L", "countryCode": "SZ", "flag": "🇸🇿" },
|
|
146
|
+
{ "code": "THB", "name": "Thai Baht", "symbol": "฿", "countryCode": "TH", "flag": "🇹🇭" },
|
|
147
|
+
{ "code": "TJS", "name": "Tajikistani Somoni", "symbol": "SM", "countryCode": "TJ", "flag": "🇹🇯" },
|
|
148
|
+
{ "code": "TMT", "name": "Turkmenistani Manat", "symbol": "T", "countryCode": "TM", "flag": "🇹🇲" },
|
|
149
|
+
{ "code": "TND", "name": "Tunisian Dinar", "symbol": "د.ت", "countryCode": "TN", "flag": "🇹🇳" },
|
|
150
|
+
{ "code": "TOP", "name": "Tongan Paʻanga", "symbol": "T$", "countryCode": "TO", "flag": "🇹🇴" },
|
|
151
|
+
{ "code": "TRY", "name": "Turkish Lira", "symbol": "₺", "countryCode": "TR", "flag": "🇹🇷" },
|
|
152
|
+
{ "code": "TTD", "name": "Trinidad and Tobago Dollar", "symbol": "TT$", "countryCode": "TT", "flag": "🇹🇹" },
|
|
153
|
+
{ "code": "TWD", "name": "New Taiwan Dollar", "symbol": "NT$", "countryCode": "TW", "flag": "🇹🇼" },
|
|
154
|
+
{ "code": "TZS", "name": "Tanzanian Shilling", "symbol": "TSh", "countryCode": "TZ", "flag": "🇹🇿" },
|
|
155
|
+
{ "code": "UAH", "name": "Ukrainian Hryvnia", "symbol": "₴", "countryCode": "UA", "flag": "🇺🇦" },
|
|
156
|
+
{ "code": "UGX", "name": "Ugandan Shilling", "symbol": "USh", "countryCode": "UG", "flag": "🇺🇬" },
|
|
157
|
+
{ "code": "USD", "name": "United States Dollar", "symbol": "$", "countryCode": "US", "flag": "🇺🇸" },
|
|
158
|
+
{ "code": "UYU", "name": "Uruguayan Peso", "symbol": "$U", "countryCode": "UY", "flag": "🇺🇾" },
|
|
159
|
+
{ "code": "UZS", "name": "Uzbekistani Som", "symbol": "сўм", "countryCode": "UZ", "flag": "🇺🇿" },
|
|
160
|
+
{ "code": "VEF", "name": "Venezuelan Bolívar Fuerte", "symbol": "Bs", "countryCode": "VE", "flag": "🇻🇪" },
|
|
161
|
+
{ "code": "VND", "name": "Vietnamese Dong", "symbol": "₫", "countryCode": "VN", "flag": "🇻🇳" },
|
|
162
|
+
{ "code": "VUV", "name": "Vanuatu Vatu", "symbol": "VT", "countryCode": "VU", "flag": "🇻🇺" },
|
|
163
|
+
{ "code": "WST", "name": "Samoan Tala", "symbol": "WS$", "countryCode": "WS", "flag": "🇼🇸" },
|
|
164
|
+
{ "code": "XAF", "name": "CFA Franc BEAC", "symbol": "FCFA", "countryCode": "CM", "flag": "🇨🇲" },
|
|
165
|
+
{ "code": "XCD", "name": "East Caribbean Dollar", "symbol": "$", "countryCode": "AG", "flag": "🇦🇬" },
|
|
166
|
+
{ "code": "XOF", "name": "CFA Franc BCEAO", "symbol": "CFA", "countryCode": "BJ", "flag": "🇧🇯" },
|
|
167
|
+
{ "code": "XPF", "name": "CFP Franc", "symbol": "₣", "countryCode": "PF", "flag": "🇵🇫" },
|
|
168
|
+
{ "code": "YER", "name": "Yemeni Rial", "symbol": "﷼", "countryCode": "YE", "flag": "🇾🇪" },
|
|
169
|
+
{ "code": "ZAR", "name": "South African Rand", "symbol": "R", "countryCode": "ZA", "flag": "🇿🇦" },
|
|
170
|
+
{ "code": "ZMW", "name": "Zambian Kwacha", "symbol": "ZK", "countryCode": "ZM", "flag": "🇿🇲" },
|
|
171
|
+
{ "code": "ZWL", "name": "Zimbabwean Dollar", "symbol": "$", "countryCode": "ZW", "flag": "🇿🇼" }
|
|
172
|
+
];
|
|
173
|
+
|
|
174
|
+
class CurrencySelectComponent {
|
|
175
|
+
_elementRef = inject(ElementRef);
|
|
176
|
+
_renderer = inject(Renderer2);
|
|
177
|
+
static nextId = 0;
|
|
178
|
+
id = `emr-currency-select-${CurrencySelectComponent.nextId++}`;
|
|
179
|
+
stateChanges = new Subject();
|
|
180
|
+
controlType = 'emr-currency-select';
|
|
181
|
+
autofilled;
|
|
182
|
+
_valueSignal = signal(null, ...(ngDevMode ? [{ debugName: "_valueSignal" }] : []));
|
|
183
|
+
_focusedSignal = signal(false, ...(ngDevMode ? [{ debugName: "_focusedSignal" }] : []));
|
|
184
|
+
_touched = false;
|
|
185
|
+
placeholderInputSignal = input('', ...(ngDevMode ? [{ debugName: "placeholderInputSignal", alias: 'placeholder' }] : [{ alias: 'placeholder' }]));
|
|
186
|
+
isRequiredSignal = model(false, ...(ngDevMode ? [{ debugName: "isRequiredSignal", alias: 'required' }] : [{ alias: 'required' }]));
|
|
187
|
+
isDisabledSignal = model(false, ...(ngDevMode ? [{ debugName: "isDisabledSignal", alias: 'disabled' }] : [{ alias: 'disabled' }]));
|
|
188
|
+
showCountryName = input(false, ...(ngDevMode ? [{ debugName: "showCountryName", transform: booleanAttribute }] : [{
|
|
189
|
+
transform: booleanAttribute
|
|
190
|
+
}]));
|
|
191
|
+
searchCtrl = new FormControl('');
|
|
192
|
+
searchText = toSignal(this.searchCtrl.valueChanges.pipe(startWith('')), { initialValue: '' });
|
|
193
|
+
internalCurrencies = currencies;
|
|
194
|
+
filteredCurrencies = computed(() => this._filterCurrencies(this.searchText()), ...(ngDevMode ? [{ debugName: "filteredCurrencies" }] : []));
|
|
195
|
+
selectedCurrencyDisplay = computed(() => {
|
|
196
|
+
return this.internalCurrencies.find(c => c.code === this._valueSignal());
|
|
197
|
+
}, ...(ngDevMode ? [{ debugName: "selectedCurrencyDisplay" }] : []));
|
|
198
|
+
matSelect = viewChild.required('matSelect');
|
|
199
|
+
searchInput = viewChild.required('searchInput');
|
|
200
|
+
fm = inject(FocusMonitor);
|
|
201
|
+
elRef = inject(ElementRef);
|
|
202
|
+
ngControl = inject(NgControl, { self: true, optional: true });
|
|
203
|
+
destroyRef = inject(DestroyRef);
|
|
204
|
+
onChangeFn = () => { };
|
|
205
|
+
onTouchedFn = () => { };
|
|
206
|
+
constructor() {
|
|
207
|
+
if (this.ngControl) {
|
|
208
|
+
this.ngControl.valueAccessor = this;
|
|
209
|
+
}
|
|
210
|
+
this.destroyRef.onDestroy(() => {
|
|
211
|
+
this.fm.stopMonitoring(this.elRef.nativeElement);
|
|
212
|
+
this.stateChanges.complete();
|
|
213
|
+
});
|
|
214
|
+
effect(() => {
|
|
215
|
+
this.onChangeFn(this._valueSignal());
|
|
216
|
+
});
|
|
217
|
+
effect(() => {
|
|
218
|
+
this._valueSignal();
|
|
219
|
+
this._focusedSignal();
|
|
220
|
+
this.isRequiredSignal();
|
|
221
|
+
this.isDisabledSignal();
|
|
222
|
+
this.placeholderInputSignal();
|
|
223
|
+
this.ngControl?.control?.status;
|
|
224
|
+
this.stateChanges.next();
|
|
225
|
+
});
|
|
226
|
+
effect(() => {
|
|
227
|
+
if (this.isDisabledSignal()) {
|
|
228
|
+
this.searchCtrl.disable({ emitEvent: false });
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
this.searchCtrl.enable({ emitEvent: false });
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
ngOnInit() {
|
|
236
|
+
if (this.ngControl?.control) {
|
|
237
|
+
const control = this.ngControl.control;
|
|
238
|
+
if (control.validator) {
|
|
239
|
+
const validator = control.validator({});
|
|
240
|
+
if (validator && validator['required']) {
|
|
241
|
+
this.isRequiredSignal.set(true);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
this.isDisabledSignal.set(control.disabled);
|
|
245
|
+
}
|
|
246
|
+
const formFieldElement = this._elementRef.nativeElement.closest('.mat-mdc-form-field');
|
|
247
|
+
if (formFieldElement) {
|
|
248
|
+
this._renderer.addClass(formFieldElement, 'mat-mdc-form-field-type-mat-select');
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
ngOnDestroy() {
|
|
252
|
+
}
|
|
253
|
+
get value() {
|
|
254
|
+
return this._valueSignal();
|
|
255
|
+
}
|
|
256
|
+
set value(val) {
|
|
257
|
+
this._valueSignal.set(val);
|
|
258
|
+
}
|
|
259
|
+
get focused() {
|
|
260
|
+
return this._focusedSignal();
|
|
261
|
+
}
|
|
262
|
+
get placeholder() {
|
|
263
|
+
return this.placeholderInputSignal();
|
|
264
|
+
}
|
|
265
|
+
set placeholder(plh) {
|
|
266
|
+
this.stateChanges.next();
|
|
267
|
+
}
|
|
268
|
+
get required() {
|
|
269
|
+
return this.isRequiredSignal();
|
|
270
|
+
}
|
|
271
|
+
set required(req) {
|
|
272
|
+
this.isRequiredSignal.set(coerceBooleanProperty(req));
|
|
273
|
+
}
|
|
274
|
+
get disabled() {
|
|
275
|
+
return this.isDisabledSignal();
|
|
276
|
+
}
|
|
277
|
+
set disabled(dis) {
|
|
278
|
+
this.isDisabledSignal.set(coerceBooleanProperty(dis));
|
|
279
|
+
}
|
|
280
|
+
get empty() {
|
|
281
|
+
return !this._valueSignal();
|
|
282
|
+
}
|
|
283
|
+
get shouldLabelFloat() {
|
|
284
|
+
return this._focusedSignal() || !this.empty;
|
|
285
|
+
}
|
|
286
|
+
get errorState() {
|
|
287
|
+
return !!(this.ngControl?.invalid && (this.ngControl?.touched || this._touched));
|
|
288
|
+
}
|
|
289
|
+
get touched() {
|
|
290
|
+
return this._touched;
|
|
291
|
+
}
|
|
292
|
+
setDescribedByIds(ids) {
|
|
293
|
+
const controlElement = this.elRef.nativeElement.querySelector('.select-trigger');
|
|
294
|
+
if (controlElement) {
|
|
295
|
+
controlElement.setAttribute('aria-describedby', ids.join(' '));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
onContainerClick() {
|
|
299
|
+
if (this.disabled) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
this._focusedSignal.set(true);
|
|
303
|
+
this.matSelect().onContainerClick();
|
|
304
|
+
}
|
|
305
|
+
writeValue(value) {
|
|
306
|
+
this._valueSignal.set(value);
|
|
307
|
+
}
|
|
308
|
+
registerOnChange(fn) {
|
|
309
|
+
this.onChangeFn = fn;
|
|
310
|
+
}
|
|
311
|
+
registerOnTouched(fn) {
|
|
312
|
+
this.onTouchedFn = () => {
|
|
313
|
+
this._touched = true;
|
|
314
|
+
fn();
|
|
315
|
+
this.stateChanges.next();
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
setDisabledState(isDisabled) {
|
|
319
|
+
this.disabled = isDisabled;
|
|
320
|
+
}
|
|
321
|
+
_filterCurrencies(searchText) {
|
|
322
|
+
const filterValue = (searchText || '').toLowerCase();
|
|
323
|
+
if (!filterValue) {
|
|
324
|
+
return [...this.internalCurrencies];
|
|
325
|
+
}
|
|
326
|
+
return this.internalCurrencies.filter((currency) => currency.name.toLowerCase().includes(filterValue) ||
|
|
327
|
+
currency.code.toLowerCase().includes(filterValue));
|
|
328
|
+
}
|
|
329
|
+
onSelectionChange(event) {
|
|
330
|
+
this.value = event.value;
|
|
331
|
+
this.onTouchedFn();
|
|
332
|
+
}
|
|
333
|
+
clearSearch(event) {
|
|
334
|
+
event.stopPropagation();
|
|
335
|
+
this.searchCtrl.setValue('');
|
|
336
|
+
this.searchInput().nativeElement.focus();
|
|
337
|
+
}
|
|
338
|
+
onSelectOpened() {
|
|
339
|
+
setTimeout(() => {
|
|
340
|
+
this.searchInput().nativeElement.focus();
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
onSelectClosed() {
|
|
344
|
+
this._focusedSignal.set(false);
|
|
345
|
+
this.searchCtrl.setValue('');
|
|
346
|
+
if (!this._touched) {
|
|
347
|
+
this.onTouchedFn();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CurrencySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
351
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: CurrencySelectComponent, isStandalone: true, selector: "emr-currency-select", inputs: { placeholderInputSignal: { classPropertyName: "placeholderInputSignal", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequiredSignal: { classPropertyName: "isRequiredSignal", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, isDisabledSignal: { classPropertyName: "isDisabledSignal", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showCountryName: { classPropertyName: "showCountryName", publicName: "showCountryName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isRequiredSignal: "requiredChange", isDisabledSignal: "disabledChange" }, host: { properties: { "class.floating": "shouldLabelFloat", "id": "id" }, classAttribute: "emr-currency-select" }, providers: [
|
|
352
|
+
{
|
|
353
|
+
provide: MatFormFieldControl,
|
|
354
|
+
useExisting: forwardRef(() => CurrencySelectComponent),
|
|
355
|
+
},
|
|
356
|
+
], viewQueries: [{ propertyName: "matSelect", first: true, predicate: ["matSelect"], descendants: true, isSignal: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }], exportAs: ["emrCurrencySelect"], ngImport: i0, template: "<mat-select\r\n #matSelect\r\n panelClass=\"emr-currency-select-panel\"\r\n [value]=\"value\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (opened)=\"onSelectOpened()\"\r\n (closed)=\"onSelectClosed()\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequiredSignal()\"\r\n [disabled]=\"isDisabledSignal()\">\r\n <mat-select-trigger class=\"select-trigger\">\r\n @let selectedCurrency = selectedCurrencyDisplay();\r\n @if (selectedCurrency) {\r\n <div class=\"flex items-center gap-2\">\r\n <span class=\"text-xl leading-[0]\">{{ selectedCurrency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code\">\r\n {{ selectedCurrency.code }}\r\n {{ selectedCurrency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ selectedCurrency.name }}\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!selectedCurrencyDisplay() && placeholder) {\r\n <div class=\"placeholder-text\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n </mat-select-trigger>\r\n\r\n <div class=\"px-3 py-3 rounded-t sticky -top-2 z-1 bg-[var(--mat-select-panel-background-color)]\">\r\n <input #searchInput\r\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [formControl]=\"searchCtrl\"\r\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\r\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\r\n @if (searchCtrl.value) {\r\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\r\n <button\r\n mat-icon-button\r\n (click)=\"clearSearch($event)\"\r\n class=\"clear-button\"\r\n type=\"button\"\r\n aria-label=\"Clear search\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @for (currency of filteredCurrencies(); track currency.code) {\r\n <mat-option [value]=\"currency.code\">\r\n <div class=\"flex items-center gap-2 h-full\">\r\n <span class=\"text-xl leading-[0]\">{{ currency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code uppercase\">\r\n {{ currency.code }}\r\n {{ currency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ currency.name }}\r\n }\r\n </div>\r\n </div>\r\n </mat-option>\r\n } @empty {\r\n @if (searchCtrl.value) {\r\n <div class=\"text-sm px-4 py-3\">\r\n <span i18n>Currency not found</span>.\r\n </div>\r\n }\r\n }\r\n</mat-select>\r\n", styles: [":host{display:block}:host .currency-code{text-transform:uppercase}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
357
|
+
}
|
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CurrencySelectComponent, decorators: [{
|
|
359
|
+
type: Component,
|
|
360
|
+
args: [{ selector: 'emr-currency-select', exportAs: 'emrCurrencySelect', providers: [
|
|
361
|
+
{
|
|
362
|
+
provide: MatFormFieldControl,
|
|
363
|
+
useExisting: forwardRef(() => CurrencySelectComponent),
|
|
364
|
+
},
|
|
365
|
+
], host: {
|
|
366
|
+
'class': 'emr-currency-select',
|
|
367
|
+
'[class.floating]': 'shouldLabelFloat',
|
|
368
|
+
'[id]': 'id',
|
|
369
|
+
}, imports: [
|
|
370
|
+
MatOption,
|
|
371
|
+
MatIcon,
|
|
372
|
+
MatIconButton,
|
|
373
|
+
MatSelect,
|
|
374
|
+
MatSelectTrigger,
|
|
375
|
+
ReactiveFormsModule
|
|
376
|
+
], template: "<mat-select\r\n #matSelect\r\n panelClass=\"emr-currency-select-panel\"\r\n [value]=\"value\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (opened)=\"onSelectOpened()\"\r\n (closed)=\"onSelectClosed()\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequiredSignal()\"\r\n [disabled]=\"isDisabledSignal()\">\r\n <mat-select-trigger class=\"select-trigger\">\r\n @let selectedCurrency = selectedCurrencyDisplay();\r\n @if (selectedCurrency) {\r\n <div class=\"flex items-center gap-2\">\r\n <span class=\"text-xl leading-[0]\">{{ selectedCurrency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code\">\r\n {{ selectedCurrency.code }}\r\n {{ selectedCurrency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ selectedCurrency.name }}\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!selectedCurrencyDisplay() && placeholder) {\r\n <div class=\"placeholder-text\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n </mat-select-trigger>\r\n\r\n <div class=\"px-3 py-3 rounded-t sticky -top-2 z-1 bg-[var(--mat-select-panel-background-color)]\">\r\n <input #searchInput\r\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [formControl]=\"searchCtrl\"\r\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\r\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\r\n @if (searchCtrl.value) {\r\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\r\n <button\r\n mat-icon-button\r\n (click)=\"clearSearch($event)\"\r\n class=\"clear-button\"\r\n type=\"button\"\r\n aria-label=\"Clear search\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @for (currency of filteredCurrencies(); track currency.code) {\r\n <mat-option [value]=\"currency.code\">\r\n <div class=\"flex items-center gap-2 h-full\">\r\n <span class=\"text-xl leading-[0]\">{{ currency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code uppercase\">\r\n {{ currency.code }}\r\n {{ currency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ currency.name }}\r\n }\r\n </div>\r\n </div>\r\n </mat-option>\r\n } @empty {\r\n @if (searchCtrl.value) {\r\n <div class=\"text-sm px-4 py-3\">\r\n <span i18n>Currency not found</span>.\r\n </div>\r\n }\r\n }\r\n</mat-select>\r\n", styles: [":host{display:block}:host .currency-code{text-transform:uppercase}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
|
|
377
|
+
}], ctorParameters: () => [], propDecorators: { placeholderInputSignal: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], isRequiredSignal: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }, { type: i0.Output, args: ["requiredChange"] }], isDisabledSignal: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], showCountryName: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCountryName", required: false }] }], matSelect: [{ type: i0.ViewChild, args: ['matSelect', { isSignal: true }] }], searchInput: [{ type: i0.ViewChild, args: ['searchInput', { isSignal: true }] }] } });
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Generated bundle index. Do not edit.
|
|
381
|
+
*/
|
|
382
|
+
|
|
383
|
+
export { CurrencySelectComponent, currencies };
|
|
384
|
+
//# sourceMappingURL=elementar-rt-components-currency-select.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-currency-select.mjs","sources":["../../../projects/components/currency-select/src/currencies.ts","../../../projects/components/currency-select/src/currency-select/currency-select.component.ts","../../../projects/components/currency-select/src/currency-select/currency-select.component.html","../../../projects/components/currency-select/elementar-rt-components-currency-select.ts"],"sourcesContent":["import { Currency } from './currency.interface';\r\n\r\nexport const currencies: Currency[] = [\r\n { \"code\": \"AED\", \"name\": \"UAE Dirham\", \"symbol\": \"د.إ\", \"countryCode\": \"AE\", \"flag\": \"🇦🇪\" },\r\n { \"code\": \"AFN\", \"name\": \"Afghan Afghani\", \"symbol\": \"؋\", \"countryCode\": \"AF\", \"flag\": \"🇦🇫\" },\r\n { \"code\": \"ALL\", \"name\": \"Albanian Lek\", \"symbol\": \"L\", \"countryCode\": \"AL\", \"flag\": \"🇦🇱\" },\r\n { \"code\": \"AMD\", \"name\": \"Armenian Dram\", \"symbol\": \"֏\", \"countryCode\": \"AM\", \"flag\": \"🇦🇲\" },\r\n { \"code\": \"ANG\", \"name\": \"Netherlands Antillean Guilder\", \"symbol\": \"ƒ\", \"countryCode\": \"AN\", \"flag\": \"🇦🇳\" },\r\n { \"code\": \"AOA\", \"name\": \"Angolan Kwanza\", \"symbol\": \"Kz\", \"countryCode\": \"AO\", \"flag\": \"🇦🇴\" },\r\n { \"code\": \"ARS\", \"name\": \"Argentine Peso\", \"symbol\": \"$\", \"countryCode\": \"AR\", \"flag\": \"🇦🇷\" },\r\n { \"code\": \"AUD\", \"name\": \"Australian Dollar\", \"symbol\": \"$\", \"countryCode\": \"AU\", \"flag\": \"🇦🇺\" },\r\n { \"code\": \"AWG\", \"name\": \"Aruban Florin\", \"symbol\": \"ƒ\", \"countryCode\": \"AW\", \"flag\": \"🇦🇼\" },\r\n { \"code\": \"AZN\", \"name\": \"Azerbaijani Manat\", \"symbol\": \"₼\", \"countryCode\": \"AZ\", \"flag\": \"🇦🇿\" },\r\n { \"code\": \"BAM\", \"name\": \"Bosnia-Herzegovina Convertible Mark\", \"symbol\": \"KM\", \"countryCode\": \"BA\", \"flag\": \"🇧🇦\" },\r\n { \"code\": \"BBD\", \"name\": \"Barbadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BB\", \"flag\": \"🇧🇧\" },\r\n { \"code\": \"BDT\", \"name\": \"Bangladeshi Taka\", \"symbol\": \"৳\", \"countryCode\": \"BD\", \"flag\": \"🇧🇩\" },\r\n { \"code\": \"BGN\", \"name\": \"Bulgarian Lev\", \"symbol\": \"лв\", \"countryCode\": \"BG\", \"flag\": \"🇧🇬\" },\r\n { \"code\": \"BHD\", \"name\": \"Bahraini Dinar\", \"symbol\": \".د.ب\", \"countryCode\": \"BH\", \"flag\": \"🇧🇭\" },\r\n { \"code\": \"BIF\", \"name\": \"Burundian Franc\", \"symbol\": \"FBu\", \"countryCode\": \"BI\", \"flag\": \"🇧🇮\" },\r\n { \"code\": \"BMD\", \"name\": \"Bermudan Dollar\", \"symbol\": \"$\", \"countryCode\": \"BM\", \"flag\": \"🇧🇲\" },\r\n { \"code\": \"BND\", \"name\": \"Brunei Dollar\", \"symbol\": \"$\", \"countryCode\": \"BN\", \"flag\": \"🇧🇳\" },\r\n { \"code\": \"BOB\", \"name\": \"Bolivian Boliviano\", \"symbol\": \"Bs.\", \"countryCode\": \"BO\", \"flag\": \"🇧🇴\" },\r\n { \"code\": \"BRL\", \"name\": \"Brazilian Real\", \"symbol\": \"R$\", \"countryCode\": \"BR\", \"flag\": \"🇧🇷\" },\r\n { \"code\": \"BSD\", \"name\": \"Bahamian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BS\", \"flag\": \"🇧🇸\" },\r\n { \"code\": \"BTN\", \"name\": \"Bhutanese Ngultrum\", \"symbol\": \"Nu.\", \"countryCode\": \"BT\", \"flag\": \"🇧🇹\" },\r\n { \"code\": \"BWP\", \"name\": \"Botswanan Pula\", \"symbol\": \"P\", \"countryCode\": \"BW\", \"flag\": \"🇧🇼\" },\r\n { \"code\": \"BYN\", \"name\": \"Belarusian Ruble\", \"symbol\": \"Br\", \"countryCode\": \"BY\", \"flag\": \"🇧🇾\" },\r\n { \"code\": \"BZD\", \"name\": \"Belize Dollar\", \"symbol\": \"BZ$\", \"countryCode\": \"BZ\", \"flag\": \"🇧🇿\" },\r\n { \"code\": \"CAD\", \"name\": \"Canadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"CA\", \"flag\": \"🇨🇦\" },\r\n { \"code\": \"CDF\", \"name\": \"Congolese Franc\", \"symbol\": \"FC\", \"countryCode\": \"CD\", \"flag\": \"🇨🇩\" },\r\n { \"code\": \"CHF\", \"name\": \"Swiss Franc\", \"symbol\": \"CHF\", \"countryCode\": \"CH\", \"flag\": \"🇨🇭\" },\r\n { \"code\": \"CLP\", \"name\": \"Chilean Peso\", \"symbol\": \"$\", \"countryCode\": \"CL\", \"flag\": \"🇨🇱\" },\r\n { \"code\": \"CNY\", \"name\": \"Chinese Yuan\", \"symbol\": \"¥\", \"countryCode\": \"CN\", \"flag\": \"🇨🇳\" },\r\n { \"code\": \"COP\", \"name\": \"Colombian Peso\", \"symbol\": \"$\", \"countryCode\": \"CO\", \"flag\": \"🇨🇴\" },\r\n { \"code\": \"CRC\", \"name\": \"Costa Rican Colón\", \"symbol\": \"₡\", \"countryCode\": \"CR\", \"flag\": \"🇨🇷\" },\r\n { \"code\": \"CUP\", \"name\": \"Cuban Peso\", \"symbol\": \"₱\", \"countryCode\": \"CU\", \"flag\": \"🇨🇺\" },\r\n { \"code\": \"CVE\", \"name\": \"Cape Verdean Escudo\", \"symbol\": \"$\", \"countryCode\": \"CV\", \"flag\": \"🇨🇻\" },\r\n { \"code\": \"CZK\", \"name\": \"Czech Koruna\", \"symbol\": \"Kč\", \"countryCode\": \"CZ\", \"flag\": \"🇨🇿\" },\r\n { \"code\": \"DJF\", \"name\": \"Djiboutian Franc\", \"symbol\": \"Fdj\", \"countryCode\": \"DJ\", \"flag\": \"🇩🇯\" },\r\n { \"code\": \"DKK\", \"name\": \"Danish Krone\", \"symbol\": \"kr\", \"countryCode\": \"DK\", \"flag\": \"🇩🇰\" },\r\n { \"code\": \"DOP\", \"name\": \"Dominican Peso\", \"symbol\": \"RD$\", \"countryCode\": \"DO\", \"flag\": \"🇩🇴\" },\r\n { \"code\": \"DZD\", \"name\": \"Algerian Dinar\", \"symbol\": \"د.ج\", \"countryCode\": \"DZ\", \"flag\": \"🇩🇿\" },\r\n { \"code\": \"EGP\", \"name\": \"Egyptian Pound\", \"symbol\": \"£\", \"countryCode\": \"EG\", \"flag\": \"🇪🇬\" },\r\n { \"code\": \"ERN\", \"name\": \"Eritrean Nakfa\", \"symbol\": \"Nfk\", \"countryCode\": \"ER\", \"flag\": \"🇪🇷\" },\r\n { \"code\": \"ETB\", \"name\": \"Ethiopian Birr\", \"symbol\": \"Br\", \"countryCode\": \"ET\", \"flag\": \"🇪🇹\" },\r\n { \"code\": \"EUR\", \"name\": \"Euro\", \"symbol\": \"€\", \"countryCode\": \"EU\", \"flag\": \"🇪🇺\" },\r\n { \"code\": \"FJD\", \"name\": \"Fijian Dollar\", \"symbol\": \"$\", \"countryCode\": \"FJ\", \"flag\": \"🇫🇯\" },\r\n { \"code\": \"FKP\", \"name\": \"Falkland Islands Pound\", \"symbol\": \"£\", \"countryCode\": \"FK\", \"flag\": \"🇫🇰\" },\r\n { \"code\": \"GBP\", \"name\": \"British Pound\", \"symbol\": \"£\", \"countryCode\": \"GB\", \"flag\": \"🇬🇧\" },\r\n { \"code\": \"GEL\", \"name\": \"Georgian Lari\", \"symbol\": \"₾\", \"countryCode\": \"GE\", \"flag\": \"🇬🇪\" },\r\n { \"code\": \"GHS\", \"name\": \"Ghanaian Cedi\", \"symbol\": \"GH₵\", \"countryCode\": \"GH\", \"flag\": \"🇬🇭\" },\r\n { \"code\": \"GIP\", \"name\": \"Gibraltar Pound\", \"symbol\": \"£\", \"countryCode\": \"GI\", \"flag\": \"🇬🇮\" },\r\n { \"code\": \"GMD\", \"name\": \"Gambian Dalasi\", \"symbol\": \"D\", \"countryCode\": \"GM\", \"flag\": \"🇬🇲\" },\r\n { \"code\": \"GNF\", \"name\": \"Guinean Franc\", \"symbol\": \"FG\", \"countryCode\": \"GN\", \"flag\": \"🇬🇳\" },\r\n { \"code\": \"GTQ\", \"name\": \"Guatemalan Quetzal\", \"symbol\": \"Q\", \"countryCode\": \"GT\", \"flag\": \"🇬🇹\" },\r\n { \"code\": \"GYD\", \"name\": \"Guyanaese Dollar\", \"symbol\": \"$\", \"countryCode\": \"GY\", \"flag\": \"🇬🇾\" },\r\n { \"code\": \"HKD\", \"name\": \"Hong Kong Dollar\", \"symbol\": \"$\", \"countryCode\": \"HK\", \"flag\": \"🇭🇰\" },\r\n { \"code\": \"HNL\", \"name\": \"Honduran Lempira\", \"symbol\": \"L\", \"countryCode\": \"HN\", \"flag\": \"🇭🇳\" },\r\n { \"code\": \"HRK\", \"name\": \"Croatian Kuna\", \"symbol\": \"kn\", \"countryCode\": \"HR\", \"flag\": \"🇭🇷\" },\r\n { \"code\": \"HTG\", \"name\": \"Haitian Gourde\", \"symbol\": \"G\", \"countryCode\": \"HT\", \"flag\": \"🇭🇹\" },\r\n { \"code\": \"HUF\", \"name\": \"Hungarian Forint\", \"symbol\": \"Ft\", \"countryCode\": \"HU\", \"flag\": \"🇭🇺\" },\r\n { \"code\": \"IDR\", \"name\": \"Indonesian Rupiah\", \"symbol\": \"Rp\", \"countryCode\": \"ID\", \"flag\": \"🇮🇩\" },\r\n { \"code\": \"ILS\", \"name\": \"Israeli New Shekel\", \"symbol\": \"₪\", \"countryCode\": \"IL\", \"flag\": \"🇮🇱\" },\r\n { \"code\": \"INR\", \"name\": \"Indian Rupee\", \"symbol\": \"₹\", \"countryCode\": \"IN\", \"flag\": \"🇮🇳\" },\r\n { \"code\": \"IQD\", \"name\": \"Iraqi Dinar\", \"symbol\": \"ع.د\", \"countryCode\": \"IQ\", \"flag\": \"🇮🇶\" },\r\n { \"code\": \"IRR\", \"name\": \"Iranian Rial\", \"symbol\": \"﷼\", \"countryCode\": \"IR\", \"flag\": \"🇮🇷\" },\r\n { \"code\": \"ISK\", \"name\": \"Icelandic Króna\", \"symbol\": \"kr\", \"countryCode\": \"IS\", \"flag\": \"🇮🇸\" },\r\n { \"code\": \"JMD\", \"name\": \"Jamaican Dollar\", \"symbol\": \"J$\", \"countryCode\": \"JM\", \"flag\": \"🇯🇲\" },\r\n { \"code\": \"JOD\", \"name\": \"Jordanian Dinar\", \"symbol\": \"JD\", \"countryCode\": \"JO\", \"flag\": \"🇯🇴\" },\r\n { \"code\": \"JPY\", \"name\": \"Japanese Yen\", \"symbol\": \"¥\", \"countryCode\": \"JP\", \"flag\": \"🇯🇵\" },\r\n { \"code\": \"KES\", \"name\": \"Kenyan Shilling\", \"symbol\": \"KSh\", \"countryCode\": \"KE\", \"flag\": \"🇰🇪\" },\r\n { \"code\": \"KGS\", \"name\": \"Kyrgystani Som\", \"symbol\": \"с\", \"countryCode\": \"KG\", \"flag\": \"🇰🇬\" },\r\n { \"code\": \"KHR\", \"name\": \"Cambodian Riel\", \"symbol\": \"៛\", \"countryCode\": \"KH\", \"flag\": \"🇰🇭\" },\r\n { \"code\": \"KMF\", \"name\": \"Comorian Franc\", \"symbol\": \"CF\", \"countryCode\": \"KM\", \"flag\": \"🇰🇲\" },\r\n { \"code\": \"KPW\", \"name\": \"North Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KP\", \"flag\": \"🇰🇵\" },\r\n { \"code\": \"KRW\", \"name\": \"South Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KR\", \"flag\": \"🇰🇷\" },\r\n { \"code\": \"KWD\", \"name\": \"Kuwaiti Dinar\", \"symbol\": \"د.ك\", \"countryCode\": \"KW\", \"flag\": \"🇰🇼\" },\r\n { \"code\": \"KYD\", \"name\": \"Cayman Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"KY\", \"flag\": \"🇰🇾\" },\r\n { \"code\": \"KZT\", \"name\": \"Kazakhstani Tenge\", \"symbol\": \"₸\", \"countryCode\": \"KZ\", \"flag\": \"🇰🇿\" },\r\n { \"code\": \"LAK\", \"name\": \"Laotian Kip\", \"symbol\": \"₭\", \"countryCode\": \"LA\", \"flag\": \"🇱🇦\" },\r\n { \"code\": \"LBP\", \"name\": \"Lebanese Pound\", \"symbol\": \"£\", \"countryCode\": \"LB\", \"flag\": \"🇱🇧\" },\r\n { \"code\": \"LKR\", \"name\": \"Sri Lankan Rupee\", \"symbol\": \"₨\", \"countryCode\": \"LK\", \"flag\": \"🇱🇰\" },\r\n { \"code\": \"LRD\", \"name\": \"Liberian Dollar\", \"symbol\": \"$\", \"countryCode\": \"LR\", \"flag\": \"🇱🇷\" },\r\n { \"code\": \"LSL\", \"name\": \"Lesotho Loti\", \"symbol\": \"L\", \"countryCode\": \"LS\", \"flag\": \"🇱🇸\" },\r\n { \"code\": \"LYD\", \"name\": \"Libyan Dinar\", \"symbol\": \"ل.د\", \"countryCode\": \"LY\", \"flag\": \"🇱🇾\" },\r\n { \"code\": \"MAD\", \"name\": \"Moroccan Dirham\", \"symbol\": \"د.م.\", \"countryCode\": \"MA\", \"flag\": \"🇲🇦\" },\r\n { \"code\": \"MDL\", \"name\": \"Moldovan Leu\", \"symbol\": \"L\", \"countryCode\": \"MD\", \"flag\": \"🇲🇩\" },\r\n { \"code\": \"MGA\", \"name\": \"Malagasy Ariary\", \"symbol\": \"Ar\", \"countryCode\": \"MG\", \"flag\": \"🇲🇬\" },\r\n { \"code\": \"MKD\", \"name\": \"Macedonian Denar\", \"symbol\": \"ден\", \"countryCode\": \"MK\", \"flag\": \"🇲🇰\" },\r\n { \"code\": \"MMK\", \"name\": \"Myanma Kyat\", \"symbol\": \"K\", \"countryCode\": \"MM\", \"flag\": \"🇲🇲\" },\r\n { \"code\": \"MNT\", \"name\": \"Mongolian Tugrik\", \"symbol\": \"₮\", \"countryCode\": \"MN\", \"flag\": \"🇲🇳\" },\r\n { \"code\": \"MOP\", \"name\": \"Macanese Pataca\", \"symbol\": \"MOP$\", \"countryCode\": \"MO\", \"flag\": \"🇲🇴\" },\r\n { \"code\": \"MRU\", \"name\": \"Mauritanian Ouguiya\", \"symbol\": \"UM\", \"countryCode\": \"MR\", \"flag\": \"🇲🇷\" },\r\n { \"code\": \"MUR\", \"name\": \"Mauritian Rupee\", \"symbol\": \"₨\", \"countryCode\": \"MU\", \"flag\": \"🇲🇺\" },\r\n { \"code\": \"MVR\", \"name\": \"Maldivian Rufiyaa\", \"symbol\": \".ރ\", \"countryCode\": \"MV\", \"flag\": \"🇲🇻\" },\r\n { \"code\": \"MWK\", \"name\": \"Malawian Kwacha\", \"symbol\": \"MK\", \"countryCode\": \"MW\", \"flag\": \"🇲🇼\" },\r\n { \"code\": \"MXN\", \"name\": \"Mexican Peso\", \"symbol\": \"$\", \"countryCode\": \"MX\", \"flag\": \"🇲🇽\" },\r\n { \"code\": \"MYR\", \"name\": \"Malaysian Ringgit\", \"symbol\": \"RM\", \"countryCode\": \"MY\", \"flag\": \"🇲🇾\" },\r\n { \"code\": \"MZN\", \"name\": \"Mozambican Metical\", \"symbol\": \"MT\", \"countryCode\": \"MZ\", \"flag\": \"🇲🇿\" },\r\n { \"code\": \"NAD\", \"name\": \"Namibian Dollar\", \"symbol\": \"$\", \"countryCode\": \"NA\", \"flag\": \"🇳🇦\" },\r\n { \"code\": \"NGN\", \"name\": \"Nigerian Naira\", \"symbol\": \"₦\", \"countryCode\": \"NG\", \"flag\": \"🇳🇬\" },\r\n { \"code\": \"NIO\", \"name\": \"Nicaraguan Córdoba\", \"symbol\": \"C$\", \"countryCode\": \"NI\", \"flag\": \"🇳🇮\" },\r\n { \"code\": \"NOK\", \"name\": \"Norwegian Krone\", \"symbol\": \"kr\", \"countryCode\": \"NO\", \"flag\": \"🇳🇴\" },\r\n { \"code\": \"NPR\", \"name\": \"Nepalese Rupee\", \"symbol\": \"₨\", \"countryCode\": \"NP\", \"flag\": \"🇳🇵\" },\r\n { \"code\": \"NZD\", \"name\": \"New Zealand Dollar\", \"symbol\": \"$\", \"countryCode\": \"NZ\", \"flag\": \"🇳🇿\" },\r\n { \"code\": \"OMR\", \"name\": \"Omani Rial\", \"symbol\": \"ر.ع.\", \"countryCode\": \"OM\", \"flag\": \"🇴🇲\" },\r\n { \"code\": \"PAB\", \"name\": \"Panamanian Balboa\", \"symbol\": \"B/.\", \"countryCode\": \"PA\", \"flag\": \"🇵🇦\" },\r\n { \"code\": \"PEN\", \"name\": \"Peruvian Nuevo Sol\", \"symbol\": \"S/.\", \"countryCode\": \"PE\", \"flag\": \"🇵🇪\" },\r\n { \"code\": \"PGK\", \"name\": \"Papua New Guinean Kina\", \"symbol\": \"K\", \"countryCode\": \"PG\", \"flag\": \"🇵🇬\" },\r\n { \"code\": \"PHP\", \"name\": \"Philippine Peso\", \"symbol\": \"₱\", \"countryCode\": \"PH\", \"flag\": \"🇵🇭\" },\r\n { \"code\": \"PKR\", \"name\": \"Pakistani Rupee\", \"symbol\": \"₨\", \"countryCode\": \"PK\", \"flag\": \"🇵🇰\" },\r\n { \"code\": \"PLN\", \"name\": \"Polish Złoty\", \"symbol\": \"zł\", \"countryCode\": \"PL\", \"flag\": \"🇵🇱\" },\r\n { \"code\": \"PYG\", \"name\": \"Paraguayan Guarani\", \"symbol\": \"₲\", \"countryCode\": \"PY\", \"flag\": \"🇵🇾\" },\r\n { \"code\": \"QAR\", \"name\": \"Qatari Riyal\", \"symbol\": \"ر.ق\", \"countryCode\": \"QA\", \"flag\": \"🇶🇦\" },\r\n { \"code\": \"RON\", \"name\": \"Romanian Leu\", \"symbol\": \"lei\", \"countryCode\": \"RO\", \"flag\": \"🇷🇴\" },\r\n { \"code\": \"RSD\", \"name\": \"Serbian Dinar\", \"symbol\": \"дин.\", \"countryCode\": \"RS\", \"flag\": \"🇷🇸\" },\r\n { \"code\": \"RUB\", \"name\": \"Russian Ruble\", \"symbol\": \"₽\", \"countryCode\": \"RU\", \"flag\": \"🇷🇺\" },\r\n { \"code\": \"RWF\", \"name\": \"Rwandan Franc\", \"symbol\": \"R₣\", \"countryCode\": \"RW\", \"flag\": \"🇷🇼\" },\r\n { \"code\": \"SAR\", \"name\": \"Saudi Riyal\", \"symbol\": \"ر.س\", \"countryCode\": \"SA\", \"flag\": \"🇸🇦\" },\r\n { \"code\": \"SBD\", \"name\": \"Solomon Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"SB\", \"flag\": \"🇸🇧\" },\r\n { \"code\": \"SCR\", \"name\": \"Seychellois Rupee\", \"symbol\": \"₨\", \"countryCode\": \"SC\", \"flag\": \"🇸🇨\" },\r\n { \"code\": \"SDG\", \"name\": \"Sudanese Pound\", \"symbol\": \"ج.س.\", \"countryCode\": \"SD\", \"flag\": \"🇸🇩\" },\r\n { \"code\": \"SEK\", \"name\": \"Swedish Krona\", \"symbol\": \"kr\", \"countryCode\": \"SE\", \"flag\": \"🇸🇪\" },\r\n { \"code\": \"SGD\", \"name\": \"Singapore Dollar\", \"symbol\": \"$\", \"countryCode\": \"SG\", \"flag\": \"🇸🇬\" },\r\n { \"code\": \"SHP\", \"name\": \"Saint Helena Pound\", \"symbol\": \"£\", \"countryCode\": \"SH\", \"flag\": \"🇸🇭\" },\r\n { \"code\": \"SLL\", \"name\": \"Sierra Leonean Leone\", \"symbol\": \"Le\", \"countryCode\": \"SL\", \"flag\": \"🇸🇱\" },\r\n { \"code\": \"SOS\", \"name\": \"Somali Shilling\", \"symbol\": \"S\", \"countryCode\": \"SO\", \"flag\": \"🇸🇴\" },\r\n { \"code\": \"SRD\", \"name\": \"Surinamese Dollar\", \"symbol\": \"$\", \"countryCode\": \"SR\", \"flag\": \"🇸🇷\" },\r\n { \"code\": \"SSP\", \"name\": \"South Sudanese Pound\", \"symbol\": \"£\", \"countryCode\": \"SS\", \"flag\": \"🇸🇸\" },\r\n { \"code\": \"STN\", \"name\": \"São Tomé and Príncipe Dobra\", \"symbol\": \"Db\", \"countryCode\": \"ST\", \"flag\": \"🇸🇹\" },\r\n { \"code\": \"SVC\", \"name\": \"Salvadoran Colón\", \"symbol\": \"$\", \"countryCode\": \"SV\", \"flag\": \"🇸🇻\" },\r\n { \"code\": \"SYP\", \"name\": \"Syrian Pound\", \"symbol\": \"£\", \"countryCode\": \"SY\", \"flag\": \"🇸🇾\" },\r\n { \"code\": \"SZL\", \"name\": \"Swazi Lilangeni\", \"symbol\": \"L\", \"countryCode\": \"SZ\", \"flag\": \"🇸🇿\" },\r\n { \"code\": \"THB\", \"name\": \"Thai Baht\", \"symbol\": \"฿\", \"countryCode\": \"TH\", \"flag\": \"🇹🇭\" },\r\n { \"code\": \"TJS\", \"name\": \"Tajikistani Somoni\", \"symbol\": \"SM\", \"countryCode\": \"TJ\", \"flag\": \"🇹🇯\" },\r\n { \"code\": \"TMT\", \"name\": \"Turkmenistani Manat\", \"symbol\": \"T\", \"countryCode\": \"TM\", \"flag\": \"🇹🇲\" },\r\n { \"code\": \"TND\", \"name\": \"Tunisian Dinar\", \"symbol\": \"د.ت\", \"countryCode\": \"TN\", \"flag\": \"🇹🇳\" },\r\n { \"code\": \"TOP\", \"name\": \"Tongan Paʻanga\", \"symbol\": \"T$\", \"countryCode\": \"TO\", \"flag\": \"🇹🇴\" },\r\n { \"code\": \"TRY\", \"name\": \"Turkish Lira\", \"symbol\": \"₺\", \"countryCode\": \"TR\", \"flag\": \"🇹🇷\" },\r\n { \"code\": \"TTD\", \"name\": \"Trinidad and Tobago Dollar\", \"symbol\": \"TT$\", \"countryCode\": \"TT\", \"flag\": \"🇹🇹\" },\r\n { \"code\": \"TWD\", \"name\": \"New Taiwan Dollar\", \"symbol\": \"NT$\", \"countryCode\": \"TW\", \"flag\": \"🇹🇼\" },\r\n { \"code\": \"TZS\", \"name\": \"Tanzanian Shilling\", \"symbol\": \"TSh\", \"countryCode\": \"TZ\", \"flag\": \"🇹🇿\" },\r\n { \"code\": \"UAH\", \"name\": \"Ukrainian Hryvnia\", \"symbol\": \"₴\", \"countryCode\": \"UA\", \"flag\": \"🇺🇦\" },\r\n { \"code\": \"UGX\", \"name\": \"Ugandan Shilling\", \"symbol\": \"USh\", \"countryCode\": \"UG\", \"flag\": \"🇺🇬\" },\r\n { \"code\": \"USD\", \"name\": \"United States Dollar\", \"symbol\": \"$\", \"countryCode\": \"US\", \"flag\": \"🇺🇸\" },\r\n { \"code\": \"UYU\", \"name\": \"Uruguayan Peso\", \"symbol\": \"$U\", \"countryCode\": \"UY\", \"flag\": \"🇺🇾\" },\r\n { \"code\": \"UZS\", \"name\": \"Uzbekistani Som\", \"symbol\": \"сўм\", \"countryCode\": \"UZ\", \"flag\": \"🇺🇿\" },\r\n { \"code\": \"VEF\", \"name\": \"Venezuelan Bolívar Fuerte\", \"symbol\": \"Bs\", \"countryCode\": \"VE\", \"flag\": \"🇻🇪\" },\r\n { \"code\": \"VND\", \"name\": \"Vietnamese Dong\", \"symbol\": \"₫\", \"countryCode\": \"VN\", \"flag\": \"🇻🇳\" },\r\n { \"code\": \"VUV\", \"name\": \"Vanuatu Vatu\", \"symbol\": \"VT\", \"countryCode\": \"VU\", \"flag\": \"🇻🇺\" },\r\n { \"code\": \"WST\", \"name\": \"Samoan Tala\", \"symbol\": \"WS$\", \"countryCode\": \"WS\", \"flag\": \"🇼🇸\" },\r\n { \"code\": \"XAF\", \"name\": \"CFA Franc BEAC\", \"symbol\": \"FCFA\", \"countryCode\": \"CM\", \"flag\": \"🇨🇲\" },\r\n { \"code\": \"XCD\", \"name\": \"East Caribbean Dollar\", \"symbol\": \"$\", \"countryCode\": \"AG\", \"flag\": \"🇦🇬\" },\r\n { \"code\": \"XOF\", \"name\": \"CFA Franc BCEAO\", \"symbol\": \"CFA\", \"countryCode\": \"BJ\", \"flag\": \"🇧🇯\" },\r\n { \"code\": \"XPF\", \"name\": \"CFP Franc\", \"symbol\": \"₣\", \"countryCode\": \"PF\", \"flag\": \"🇵🇫\" },\r\n { \"code\": \"YER\", \"name\": \"Yemeni Rial\", \"symbol\": \"﷼\", \"countryCode\": \"YE\", \"flag\": \"🇾🇪\" },\r\n { \"code\": \"ZAR\", \"name\": \"South African Rand\", \"symbol\": \"R\", \"countryCode\": \"ZA\", \"flag\": \"🇿🇦\" },\r\n { \"code\": \"ZMW\", \"name\": \"Zambian Kwacha\", \"symbol\": \"ZK\", \"countryCode\": \"ZM\", \"flag\": \"🇿🇲\" },\r\n { \"code\": \"ZWL\", \"name\": \"Zimbabwean Dollar\", \"symbol\": \"$\", \"countryCode\": \"ZW\", \"flag\": \"🇿🇼\" }\r\n];\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ElementRef,\r\n forwardRef,\r\n inject,\r\n signal,\r\n computed,\r\n effect,\r\n model,\r\n input,\r\n DestroyRef, viewChild, Renderer2, booleanAttribute,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NgControl,\r\n FormControl,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatOption, MatSelect, MatSelectChange, MatSelectTrigger } from '@angular/material/select';\r\nimport { Subject } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { MatIconButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Currency } from '../currency.interface';\r\nimport { currencies } from '../currencies';\r\n\r\n@Component({\r\n selector: 'emr-currency-select',\r\n exportAs: 'emrCurrencySelect',\r\n templateUrl: './currency-select.component.html',\r\n styleUrl: './currency-select.component.scss',\r\n providers: [\r\n {\r\n provide: MatFormFieldControl,\r\n useExisting: forwardRef(() => CurrencySelectComponent),\r\n },\r\n ],\r\n host: {\r\n 'class': 'emr-currency-select',\r\n '[class.floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n },\r\n imports: [\r\n MatOption,\r\n MatIcon,\r\n MatIconButton,\r\n MatSelect,\r\n MatSelectTrigger,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class CurrencySelectComponent\r\n implements\r\n OnInit,\r\n OnDestroy,\r\n ControlValueAccessor,\r\n MatFormFieldControl<string | null>\r\n{\r\n private _elementRef = inject(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n\r\n static nextId = 0;\r\n id = `emr-currency-select-${CurrencySelectComponent.nextId++}`;\r\n\r\n readonly stateChanges = new Subject<void>();\r\n controlType = 'emr-currency-select';\r\n autofilled?: boolean;\r\n\r\n private readonly _valueSignal = signal<string | null>(null);\r\n private readonly _focusedSignal = signal(false);\r\n private _touched = false;\r\n\r\n placeholderInputSignal = input<string>('', { alias: 'placeholder' });\r\n isRequiredSignal = model<boolean>(false, { alias: 'required' });\r\n isDisabledSignal = model<boolean>(false, { alias: 'disabled' });\r\n\r\n showCountryName = input(false, {\r\n transform: booleanAttribute\r\n });\r\n\r\n readonly searchCtrl = new FormControl('');\r\n private readonly searchText = toSignal(this.searchCtrl.valueChanges.pipe(startWith('')), { initialValue: '' });\r\n\r\n readonly internalCurrencies: Currency[] = currencies;\r\n\r\n readonly filteredCurrencies = computed(() => this._filterCurrencies(this.searchText()));\r\n readonly selectedCurrencyDisplay = computed(() => {\r\n return this.internalCurrencies.find(c => c.code === this._valueSignal());\r\n });\r\n\r\n readonly matSelect = viewChild.required<MatSelect>('matSelect');\r\n readonly searchInput = viewChild.required<ElementRef<HTMLInputElement>>('searchInput');\r\n\r\n private readonly fm = inject(FocusMonitor);\r\n private readonly elRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n public readonly ngControl = inject(NgControl, { self: true, optional: true });\r\n private readonly destroyRef = inject(DestroyRef);\r\n\r\n private onChangeFn: (value: string | null) => void = () => {};\r\n private onTouchedFn: () => void = () => {};\r\n\r\n constructor() {\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n\r\n this.destroyRef.onDestroy(() => {\r\n this.fm.stopMonitoring(this.elRef.nativeElement);\r\n this.stateChanges.complete();\r\n });\r\n\r\n effect(() => {\r\n this.onChangeFn(this._valueSignal());\r\n });\r\n\r\n effect(() => {\r\n this._valueSignal();\r\n this._focusedSignal();\r\n this.isRequiredSignal();\r\n this.isDisabledSignal();\r\n this.placeholderInputSignal();\r\n this.ngControl?.control?.status;\r\n this.stateChanges.next();\r\n });\r\n\r\n effect(() => {\r\n if (this.isDisabledSignal()) {\r\n this.searchCtrl.disable({ emitEvent: false });\r\n } else {\r\n this.searchCtrl.enable({ emitEvent: false });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ngControl?.control) {\r\n const control = this.ngControl.control;\r\n\r\n if (control.validator) {\r\n const validator = control.validator({} as any);\r\n if (validator && validator['required']) {\r\n this.isRequiredSignal.set(true);\r\n }\r\n }\r\n\r\n this.isDisabledSignal.set(control.disabled);\r\n }\r\n\r\n const formFieldElement = this._elementRef.nativeElement.closest('.mat-mdc-form-field');\r\n\r\n if (formFieldElement) {\r\n this._renderer.addClass(formFieldElement, 'mat-mdc-form-field-type-mat-select');\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n get value(): string | null {\r\n return this._valueSignal();\r\n }\r\n set value(val: string | null) {\r\n this._valueSignal.set(val);\r\n }\r\n\r\n get focused(): boolean {\r\n return this._focusedSignal();\r\n }\r\n\r\n get placeholder(): string {\r\n return this.placeholderInputSignal();\r\n }\r\n set placeholder(plh: string) {\r\n this.stateChanges.next();\r\n }\r\n\r\n get required(): boolean {\r\n return this.isRequiredSignal();\r\n }\r\n set required(req: boolean) {\r\n this.isRequiredSignal.set(coerceBooleanProperty(req));\r\n }\r\n\r\n get disabled(): boolean {\r\n return this.isDisabledSignal();\r\n }\r\n set disabled(dis: boolean) {\r\n this.isDisabledSignal.set(coerceBooleanProperty(dis));\r\n }\r\n\r\n get empty(): boolean {\r\n return !this._valueSignal();\r\n }\r\n\r\n get shouldLabelFloat(): boolean {\r\n return this._focusedSignal() || !this.empty;\r\n }\r\n\r\n get errorState(): boolean {\r\n return !!(this.ngControl?.invalid && (this.ngControl?.touched || this._touched));\r\n }\r\n\r\n get touched(): boolean {\r\n return this._touched;\r\n }\r\n\r\n setDescribedByIds(ids: string[]): void {\r\n const controlElement = this.elRef.nativeElement.querySelector('.select-trigger');\r\n\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n\r\n onContainerClick(): void {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n this._focusedSignal.set(true);\r\n this.matSelect().onContainerClick();\r\n }\r\n\r\n writeValue(value: string | null): void {\r\n this._valueSignal.set(value);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeFn = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedFn = () => {\r\n this._touched = true;\r\n fn();\r\n this.stateChanges.next();\r\n };\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n private _filterCurrencies(searchText: string | null): Currency[] {\r\n const filterValue = (searchText || '').toLowerCase();\r\n if (!filterValue) {\r\n return [...this.internalCurrencies];\r\n }\r\n return this.internalCurrencies.filter((currency) =>\r\n currency.name.toLowerCase().includes(filterValue) ||\r\n currency.code.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n onSelectionChange(event: MatSelectChange): void {\r\n this.value = event.value;\r\n this.onTouchedFn();\r\n }\r\n\r\n clearSearch(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.searchCtrl.setValue('');\r\n this.searchInput().nativeElement.focus();\r\n }\r\n\r\n onSelectOpened(): void {\r\n setTimeout(() => {\r\n this.searchInput().nativeElement.focus();\r\n });\r\n }\r\n\r\n onSelectClosed(): void {\r\n this._focusedSignal.set(false);\r\n this.searchCtrl.setValue('');\r\n\r\n if (!this._touched) {\r\n this.onTouchedFn();\r\n }\r\n }\r\n}\r\n","<mat-select\r\n #matSelect\r\n panelClass=\"emr-currency-select-panel\"\r\n [value]=\"value\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (opened)=\"onSelectOpened()\"\r\n (closed)=\"onSelectClosed()\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequiredSignal()\"\r\n [disabled]=\"isDisabledSignal()\">\r\n <mat-select-trigger class=\"select-trigger\">\r\n @let selectedCurrency = selectedCurrencyDisplay();\r\n @if (selectedCurrency) {\r\n <div class=\"flex items-center gap-2\">\r\n <span class=\"text-xl leading-[0]\">{{ selectedCurrency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code\">\r\n {{ selectedCurrency.code }}\r\n {{ selectedCurrency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ selectedCurrency.name }}\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (!selectedCurrencyDisplay() && placeholder) {\r\n <div class=\"placeholder-text\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n </mat-select-trigger>\r\n\r\n <div class=\"px-3 py-3 rounded-t sticky -top-2 z-1 bg-[var(--mat-select-panel-background-color)]\">\r\n <input #searchInput\r\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [formControl]=\"searchCtrl\"\r\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\r\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\r\n @if (searchCtrl.value) {\r\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\r\n <button\r\n mat-icon-button\r\n (click)=\"clearSearch($event)\"\r\n class=\"clear-button\"\r\n type=\"button\"\r\n aria-label=\"Clear search\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @for (currency of filteredCurrencies(); track currency.code) {\r\n <mat-option [value]=\"currency.code\">\r\n <div class=\"flex items-center gap-2 h-full\">\r\n <span class=\"text-xl leading-[0]\">{{ currency.flag }}</span>\r\n <div>\r\n <span class=\"currency-code uppercase\">\r\n {{ currency.code }}\r\n {{ currency.symbol }}\r\n </span>\r\n @if (showCountryName()) {\r\n – {{ currency.name }}\r\n }\r\n </div>\r\n </div>\r\n </mat-option>\r\n } @empty {\r\n @if (searchCtrl.value) {\r\n <div class=\"text-sm px-4 py-3\">\r\n <span i18n>Currency not found</span>.\r\n </div>\r\n }\r\n }\r\n</mat-select>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|