@ngstarter-ui/components 21.0.18 → 21.0.19

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 (71) hide show
  1. package/ai/component-registry.json +25 -11
  2. package/fesm2022/ngstarter-ui-components-chips.mjs +72 -38
  3. package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
  4. package/fesm2022/ngstarter-ui-components-color-picker.mjs +1 -1
  5. package/fesm2022/ngstarter-ui-components-color-picker.mjs.map +1 -1
  6. package/fesm2022/ngstarter-ui-components-comment-editor.mjs +2 -2
  7. package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
  8. package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs} +2 -2
  9. package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs.map → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map} +1 -1
  10. package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs} +3 -3
  11. package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs.map → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map} +1 -1
  12. package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs} +2 -2
  13. package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map} +1 -1
  14. package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs} +3 -3
  15. package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs.map → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map} +1 -1
  16. package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs} +2 -2
  17. package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs.map → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map} +1 -1
  18. package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs} +13 -13
  19. package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs.map → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map} +1 -1
  20. package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs} +2 -2
  21. package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map} +1 -1
  22. package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs} +2 -2
  23. package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map} +1 -1
  24. package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs} +2 -2
  25. package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs.map → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map} +1 -1
  26. package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs} +3 -3
  27. package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs.map → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map} +1 -1
  28. package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
  29. package/fesm2022/ngstarter-ui-components-country-select.mjs +1 -1
  30. package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
  31. package/fesm2022/ngstarter-ui-components-currency-select.mjs +1 -1
  32. package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -1
  33. package/fesm2022/ngstarter-ui-components-date-format-select.mjs +1 -1
  34. package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -1
  35. package/fesm2022/ngstarter-ui-components-filter-builder.mjs +1 -1
  36. package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
  37. package/fesm2022/ngstarter-ui-components-form-field.mjs +9 -9
  38. package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
  39. package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs} +3 -3
  40. package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map +1 -0
  41. package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs} +2 -2
  42. package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map} +1 -1
  43. package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs} +2 -2
  44. package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs.map → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map} +1 -1
  45. package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-Dvg--xrB.mjs → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs} +2 -2
  46. package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-Dvg--xrB.mjs.map → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map} +1 -1
  47. package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs} +2 -2
  48. package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map} +1 -1
  49. package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs} +2 -2
  50. package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map} +1 -1
  51. package/fesm2022/ngstarter-ui-components-form-renderer.mjs +6 -6
  52. package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
  53. package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
  54. package/fesm2022/ngstarter-ui-components-paginator.mjs +1 -1
  55. package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
  56. package/fesm2022/ngstarter-ui-components-panel.mjs +8 -4
  57. package/fesm2022/ngstarter-ui-components-panel.mjs.map +1 -1
  58. package/fesm2022/ngstarter-ui-components-pin-input.mjs +1 -1
  59. package/fesm2022/ngstarter-ui-components-pin-input.mjs.map +1 -1
  60. package/fesm2022/ngstarter-ui-components-select.mjs +19 -4
  61. package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
  62. package/fesm2022/ngstarter-ui-components-text-editor.mjs +2 -2
  63. package/fesm2022/ngstarter-ui-components-text-editor.mjs.map +1 -1
  64. package/fesm2022/ngstarter-ui-components-timezone-select.mjs +1 -1
  65. package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -1
  66. package/package.json +1 -1
  67. package/types/ngstarter-ui-components-chips.d.ts +15 -6
  68. package/types/ngstarter-ui-components-form-field.d.ts +3 -2
  69. package/types/ngstarter-ui-components-panel.d.ts +3 -1
  70. package/types/ngstarter-ui-components-select.d.ts +5 -1
  71. package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-currency-select.mjs","sources":["../../../projects/components/currency-select/src/currencies.ts","../../../projects/components/currency-select/src/currency-select/currency-select.ts","../../../projects/components/currency-select/src/currency-select/currency-select.html","../../../projects/components/currency-select/ngstarter-ui-components-currency-select.ts"],"sourcesContent":["import { Currency } from './currency.interface';\n\nexport const currencies: Currency[] = [\n { \"code\": \"AED\", \"name\": \"UAE Dirham\", \"symbol\": \"د.إ\", \"countryCode\": \"AE\", \"flag\": \"🇦🇪\" },\n { \"code\": \"AFN\", \"name\": \"Afghan Afghani\", \"symbol\": \"؋\", \"countryCode\": \"AF\", \"flag\": \"🇦🇫\" },\n { \"code\": \"ALL\", \"name\": \"Albanian Lek\", \"symbol\": \"L\", \"countryCode\": \"AL\", \"flag\": \"🇦🇱\" },\n { \"code\": \"AMD\", \"name\": \"Armenian Dram\", \"symbol\": \"֏\", \"countryCode\": \"AM\", \"flag\": \"🇦🇲\" },\n { \"code\": \"ANG\", \"name\": \"Netherlands Antillean Guilder\", \"symbol\": \"ƒ\", \"countryCode\": \"AN\", \"flag\": \"🇦🇳\" },\n { \"code\": \"AOA\", \"name\": \"Angolan Kwanza\", \"symbol\": \"Kz\", \"countryCode\": \"AO\", \"flag\": \"🇦🇴\" },\n { \"code\": \"ARS\", \"name\": \"Argentine Peso\", \"symbol\": \"$\", \"countryCode\": \"AR\", \"flag\": \"🇦🇷\" },\n { \"code\": \"AUD\", \"name\": \"Australian Dollar\", \"symbol\": \"$\", \"countryCode\": \"AU\", \"flag\": \"🇦🇺\" },\n { \"code\": \"AWG\", \"name\": \"Aruban Florin\", \"symbol\": \"ƒ\", \"countryCode\": \"AW\", \"flag\": \"🇦🇼\" },\n { \"code\": \"AZN\", \"name\": \"Azerbaijani Manat\", \"symbol\": \"₼\", \"countryCode\": \"AZ\", \"flag\": \"🇦🇿\" },\n { \"code\": \"BAM\", \"name\": \"Bosnia-Herzegovina Convertible Mark\", \"symbol\": \"KM\", \"countryCode\": \"BA\", \"flag\": \"🇧🇦\" },\n { \"code\": \"BBD\", \"name\": \"Barbadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BB\", \"flag\": \"🇧🇧\" },\n { \"code\": \"BDT\", \"name\": \"Bangladeshi Taka\", \"symbol\": \"৳\", \"countryCode\": \"BD\", \"flag\": \"🇧🇩\" },\n { \"code\": \"BGN\", \"name\": \"Bulgarian Lev\", \"symbol\": \"лв\", \"countryCode\": \"BG\", \"flag\": \"🇧🇬\" },\n { \"code\": \"BHD\", \"name\": \"Bahraini Dinar\", \"symbol\": \".د.ب\", \"countryCode\": \"BH\", \"flag\": \"🇧🇭\" },\n { \"code\": \"BIF\", \"name\": \"Burundian Franc\", \"symbol\": \"FBu\", \"countryCode\": \"BI\", \"flag\": \"🇧🇮\" },\n { \"code\": \"BMD\", \"name\": \"Bermudan Dollar\", \"symbol\": \"$\", \"countryCode\": \"BM\", \"flag\": \"🇧🇲\" },\n { \"code\": \"BND\", \"name\": \"Brunei Dollar\", \"symbol\": \"$\", \"countryCode\": \"BN\", \"flag\": \"🇧🇳\" },\n { \"code\": \"BOB\", \"name\": \"Bolivian Boliviano\", \"symbol\": \"Bs.\", \"countryCode\": \"BO\", \"flag\": \"🇧🇴\" },\n { \"code\": \"BRL\", \"name\": \"Brazilian Real\", \"symbol\": \"R$\", \"countryCode\": \"BR\", \"flag\": \"🇧🇷\" },\n { \"code\": \"BSD\", \"name\": \"Bahamian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BS\", \"flag\": \"🇧🇸\" },\n { \"code\": \"BTN\", \"name\": \"Bhutanese Ngultrum\", \"symbol\": \"Nu.\", \"countryCode\": \"BT\", \"flag\": \"🇧🇹\" },\n { \"code\": \"BWP\", \"name\": \"Botswanan Pula\", \"symbol\": \"P\", \"countryCode\": \"BW\", \"flag\": \"🇧🇼\" },\n { \"code\": \"BYN\", \"name\": \"Belarusian Ruble\", \"symbol\": \"Br\", \"countryCode\": \"BY\", \"flag\": \"🇧🇾\" },\n { \"code\": \"BZD\", \"name\": \"Belize Dollar\", \"symbol\": \"BZ$\", \"countryCode\": \"BZ\", \"flag\": \"🇧🇿\" },\n { \"code\": \"CAD\", \"name\": \"Canadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"CA\", \"flag\": \"🇨🇦\" },\n { \"code\": \"CDF\", \"name\": \"Congolese Franc\", \"symbol\": \"FC\", \"countryCode\": \"CD\", \"flag\": \"🇨🇩\" },\n { \"code\": \"CHF\", \"name\": \"Swiss Franc\", \"symbol\": \"CHF\", \"countryCode\": \"CH\", \"flag\": \"🇨🇭\" },\n { \"code\": \"CLP\", \"name\": \"Chilean Peso\", \"symbol\": \"$\", \"countryCode\": \"CL\", \"flag\": \"🇨🇱\" },\n { \"code\": \"CNY\", \"name\": \"Chinese Yuan\", \"symbol\": \"¥\", \"countryCode\": \"CN\", \"flag\": \"🇨🇳\" },\n { \"code\": \"COP\", \"name\": \"Colombian Peso\", \"symbol\": \"$\", \"countryCode\": \"CO\", \"flag\": \"🇨🇴\" },\n { \"code\": \"CRC\", \"name\": \"Costa Rican Colón\", \"symbol\": \"₡\", \"countryCode\": \"CR\", \"flag\": \"🇨🇷\" },\n { \"code\": \"CUP\", \"name\": \"Cuban Peso\", \"symbol\": \"₱\", \"countryCode\": \"CU\", \"flag\": \"🇨🇺\" },\n { \"code\": \"CVE\", \"name\": \"Cape Verdean Escudo\", \"symbol\": \"$\", \"countryCode\": \"CV\", \"flag\": \"🇨🇻\" },\n { \"code\": \"CZK\", \"name\": \"Czech Koruna\", \"symbol\": \"Kč\", \"countryCode\": \"CZ\", \"flag\": \"🇨🇿\" },\n { \"code\": \"DJF\", \"name\": \"Djiboutian Franc\", \"symbol\": \"Fdj\", \"countryCode\": \"DJ\", \"flag\": \"🇩🇯\" },\n { \"code\": \"DKK\", \"name\": \"Danish Krone\", \"symbol\": \"kr\", \"countryCode\": \"DK\", \"flag\": \"🇩🇰\" },\n { \"code\": \"DOP\", \"name\": \"Dominican Peso\", \"symbol\": \"RD$\", \"countryCode\": \"DO\", \"flag\": \"🇩🇴\" },\n { \"code\": \"DZD\", \"name\": \"Algerian Dinar\", \"symbol\": \"د.ج\", \"countryCode\": \"DZ\", \"flag\": \"🇩🇿\" },\n { \"code\": \"EGP\", \"name\": \"Egyptian Pound\", \"symbol\": \"£\", \"countryCode\": \"EG\", \"flag\": \"🇪🇬\" },\n { \"code\": \"ERN\", \"name\": \"Eritrean Nakfa\", \"symbol\": \"Nfk\", \"countryCode\": \"ER\", \"flag\": \"🇪🇷\" },\n { \"code\": \"ETB\", \"name\": \"Ethiopian Birr\", \"symbol\": \"Br\", \"countryCode\": \"ET\", \"flag\": \"🇪🇹\" },\n { \"code\": \"EUR\", \"name\": \"Euro\", \"symbol\": \"€\", \"countryCode\": \"EU\", \"flag\": \"🇪🇺\" },\n { \"code\": \"FJD\", \"name\": \"Fijian Dollar\", \"symbol\": \"$\", \"countryCode\": \"FJ\", \"flag\": \"🇫🇯\" },\n { \"code\": \"FKP\", \"name\": \"Falkland Islands Pound\", \"symbol\": \"£\", \"countryCode\": \"FK\", \"flag\": \"🇫🇰\" },\n { \"code\": \"GBP\", \"name\": \"British Pound\", \"symbol\": \"£\", \"countryCode\": \"GB\", \"flag\": \"🇬🇧\" },\n { \"code\": \"GEL\", \"name\": \"Georgian Lari\", \"symbol\": \"₾\", \"countryCode\": \"GE\", \"flag\": \"🇬🇪\" },\n { \"code\": \"GHS\", \"name\": \"Ghanaian Cedi\", \"symbol\": \"GH₵\", \"countryCode\": \"GH\", \"flag\": \"🇬🇭\" },\n { \"code\": \"GIP\", \"name\": \"Gibraltar Pound\", \"symbol\": \"£\", \"countryCode\": \"GI\", \"flag\": \"🇬🇮\" },\n { \"code\": \"GMD\", \"name\": \"Gambian Dalasi\", \"symbol\": \"D\", \"countryCode\": \"GM\", \"flag\": \"🇬🇲\" },\n { \"code\": \"GNF\", \"name\": \"Guinean Franc\", \"symbol\": \"FG\", \"countryCode\": \"GN\", \"flag\": \"🇬🇳\" },\n { \"code\": \"GTQ\", \"name\": \"Guatemalan Quetzal\", \"symbol\": \"Q\", \"countryCode\": \"GT\", \"flag\": \"🇬🇹\" },\n { \"code\": \"GYD\", \"name\": \"Guyanaese Dollar\", \"symbol\": \"$\", \"countryCode\": \"GY\", \"flag\": \"🇬🇾\" },\n { \"code\": \"HKD\", \"name\": \"Hong Kong Dollar\", \"symbol\": \"$\", \"countryCode\": \"HK\", \"flag\": \"🇭🇰\" },\n { \"code\": \"HNL\", \"name\": \"Honduran Lempira\", \"symbol\": \"L\", \"countryCode\": \"HN\", \"flag\": \"🇭🇳\" },\n { \"code\": \"HRK\", \"name\": \"Croatian Kuna\", \"symbol\": \"kn\", \"countryCode\": \"HR\", \"flag\": \"🇭🇷\" },\n { \"code\": \"HTG\", \"name\": \"Haitian Gourde\", \"symbol\": \"G\", \"countryCode\": \"HT\", \"flag\": \"🇭🇹\" },\n { \"code\": \"HUF\", \"name\": \"Hungarian Forint\", \"symbol\": \"Ft\", \"countryCode\": \"HU\", \"flag\": \"🇭🇺\" },\n { \"code\": \"IDR\", \"name\": \"Indonesian Rupiah\", \"symbol\": \"Rp\", \"countryCode\": \"ID\", \"flag\": \"🇮🇩\" },\n { \"code\": \"ILS\", \"name\": \"Israeli New Shekel\", \"symbol\": \"₪\", \"countryCode\": \"IL\", \"flag\": \"🇮🇱\" },\n { \"code\": \"INR\", \"name\": \"Indian Rupee\", \"symbol\": \"₹\", \"countryCode\": \"IN\", \"flag\": \"🇮🇳\" },\n { \"code\": \"IQD\", \"name\": \"Iraqi Dinar\", \"symbol\": \"ع.د\", \"countryCode\": \"IQ\", \"flag\": \"🇮🇶\" },\n { \"code\": \"IRR\", \"name\": \"Iranian Rial\", \"symbol\": \"﷼\", \"countryCode\": \"IR\", \"flag\": \"🇮🇷\" },\n { \"code\": \"ISK\", \"name\": \"Icelandic Króna\", \"symbol\": \"kr\", \"countryCode\": \"IS\", \"flag\": \"🇮🇸\" },\n { \"code\": \"JMD\", \"name\": \"Jamaican Dollar\", \"symbol\": \"J$\", \"countryCode\": \"JM\", \"flag\": \"🇯🇲\" },\n { \"code\": \"JOD\", \"name\": \"Jordanian Dinar\", \"symbol\": \"JD\", \"countryCode\": \"JO\", \"flag\": \"🇯🇴\" },\n { \"code\": \"JPY\", \"name\": \"Japanese Yen\", \"symbol\": \"¥\", \"countryCode\": \"JP\", \"flag\": \"🇯🇵\" },\n { \"code\": \"KES\", \"name\": \"Kenyan Shilling\", \"symbol\": \"KSh\", \"countryCode\": \"KE\", \"flag\": \"🇰🇪\" },\n { \"code\": \"KGS\", \"name\": \"Kyrgystani Som\", \"symbol\": \"с\", \"countryCode\": \"KG\", \"flag\": \"🇰🇬\" },\n { \"code\": \"KHR\", \"name\": \"Cambodian Riel\", \"symbol\": \"៛\", \"countryCode\": \"KH\", \"flag\": \"🇰🇭\" },\n { \"code\": \"KMF\", \"name\": \"Comorian Franc\", \"symbol\": \"CF\", \"countryCode\": \"KM\", \"flag\": \"🇰🇲\" },\n { \"code\": \"KPW\", \"name\": \"North Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KP\", \"flag\": \"🇰🇵\" },\n { \"code\": \"KRW\", \"name\": \"South Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KR\", \"flag\": \"🇰🇷\" },\n { \"code\": \"KWD\", \"name\": \"Kuwaiti Dinar\", \"symbol\": \"د.ك\", \"countryCode\": \"KW\", \"flag\": \"🇰🇼\" },\n { \"code\": \"KYD\", \"name\": \"Cayman Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"KY\", \"flag\": \"🇰🇾\" },\n { \"code\": \"KZT\", \"name\": \"Kazakhstani Tenge\", \"symbol\": \"₸\", \"countryCode\": \"KZ\", \"flag\": \"🇰🇿\" },\n { \"code\": \"LAK\", \"name\": \"Laotian Kip\", \"symbol\": \"₭\", \"countryCode\": \"LA\", \"flag\": \"🇱🇦\" },\n { \"code\": \"LBP\", \"name\": \"Lebanese Pound\", \"symbol\": \"£\", \"countryCode\": \"LB\", \"flag\": \"🇱🇧\" },\n { \"code\": \"LKR\", \"name\": \"Sri Lankan Rupee\", \"symbol\": \"₨\", \"countryCode\": \"LK\", \"flag\": \"🇱🇰\" },\n { \"code\": \"LRD\", \"name\": \"Liberian Dollar\", \"symbol\": \"$\", \"countryCode\": \"LR\", \"flag\": \"🇱🇷\" },\n { \"code\": \"LSL\", \"name\": \"Lesotho Loti\", \"symbol\": \"L\", \"countryCode\": \"LS\", \"flag\": \"🇱🇸\" },\n { \"code\": \"LYD\", \"name\": \"Libyan Dinar\", \"symbol\": \"ل.د\", \"countryCode\": \"LY\", \"flag\": \"🇱🇾\" },\n { \"code\": \"MAD\", \"name\": \"Moroccan Dirham\", \"symbol\": \"د.م.\", \"countryCode\": \"MA\", \"flag\": \"🇲🇦\" },\n { \"code\": \"MDL\", \"name\": \"Moldovan Leu\", \"symbol\": \"L\", \"countryCode\": \"MD\", \"flag\": \"🇲🇩\" },\n { \"code\": \"MGA\", \"name\": \"Malagasy Ariary\", \"symbol\": \"Ar\", \"countryCode\": \"MG\", \"flag\": \"🇲🇬\" },\n { \"code\": \"MKD\", \"name\": \"Macedonian Denar\", \"symbol\": \"ден\", \"countryCode\": \"MK\", \"flag\": \"🇲🇰\" },\n { \"code\": \"MMK\", \"name\": \"Myanma Kyat\", \"symbol\": \"K\", \"countryCode\": \"MM\", \"flag\": \"🇲🇲\" },\n { \"code\": \"MNT\", \"name\": \"Mongolian Tugrik\", \"symbol\": \"₮\", \"countryCode\": \"MN\", \"flag\": \"🇲🇳\" },\n { \"code\": \"MOP\", \"name\": \"Macanese Pataca\", \"symbol\": \"MOP$\", \"countryCode\": \"MO\", \"flag\": \"🇲🇴\" },\n { \"code\": \"MRU\", \"name\": \"Mauritanian Ouguiya\", \"symbol\": \"UM\", \"countryCode\": \"MR\", \"flag\": \"🇲🇷\" },\n { \"code\": \"MUR\", \"name\": \"Mauritian Rupee\", \"symbol\": \"₨\", \"countryCode\": \"MU\", \"flag\": \"🇲🇺\" },\n { \"code\": \"MVR\", \"name\": \"Maldivian Rufiyaa\", \"symbol\": \".ރ\", \"countryCode\": \"MV\", \"flag\": \"🇲🇻\" },\n { \"code\": \"MWK\", \"name\": \"Malawian Kwacha\", \"symbol\": \"MK\", \"countryCode\": \"MW\", \"flag\": \"🇲🇼\" },\n { \"code\": \"MXN\", \"name\": \"Mexican Peso\", \"symbol\": \"$\", \"countryCode\": \"MX\", \"flag\": \"🇲🇽\" },\n { \"code\": \"MYR\", \"name\": \"Malaysian Ringgit\", \"symbol\": \"RM\", \"countryCode\": \"MY\", \"flag\": \"🇲🇾\" },\n { \"code\": \"MZN\", \"name\": \"Mozambican Metical\", \"symbol\": \"MT\", \"countryCode\": \"MZ\", \"flag\": \"🇲🇿\" },\n { \"code\": \"NAD\", \"name\": \"Namibian Dollar\", \"symbol\": \"$\", \"countryCode\": \"NA\", \"flag\": \"🇳🇦\" },\n { \"code\": \"NGN\", \"name\": \"Nigerian Naira\", \"symbol\": \"₦\", \"countryCode\": \"NG\", \"flag\": \"🇳🇬\" },\n { \"code\": \"NIO\", \"name\": \"Nicaraguan Córdoba\", \"symbol\": \"C$\", \"countryCode\": \"NI\", \"flag\": \"🇳🇮\" },\n { \"code\": \"NOK\", \"name\": \"Norwegian Krone\", \"symbol\": \"kr\", \"countryCode\": \"NO\", \"flag\": \"🇳🇴\" },\n { \"code\": \"NPR\", \"name\": \"Nepalese Rupee\", \"symbol\": \"₨\", \"countryCode\": \"NP\", \"flag\": \"🇳🇵\" },\n { \"code\": \"NZD\", \"name\": \"New Zealand Dollar\", \"symbol\": \"$\", \"countryCode\": \"NZ\", \"flag\": \"🇳🇿\" },\n { \"code\": \"OMR\", \"name\": \"Omani Rial\", \"symbol\": \"ر.ع.\", \"countryCode\": \"OM\", \"flag\": \"🇴🇲\" },\n { \"code\": \"PAB\", \"name\": \"Panamanian Balboa\", \"symbol\": \"B/.\", \"countryCode\": \"PA\", \"flag\": \"🇵🇦\" },\n { \"code\": \"PEN\", \"name\": \"Peruvian Nuevo Sol\", \"symbol\": \"S/.\", \"countryCode\": \"PE\", \"flag\": \"🇵🇪\" },\n { \"code\": \"PGK\", \"name\": \"Papua New Guinean Kina\", \"symbol\": \"K\", \"countryCode\": \"PG\", \"flag\": \"🇵🇬\" },\n { \"code\": \"PHP\", \"name\": \"Philippine Peso\", \"symbol\": \"₱\", \"countryCode\": \"PH\", \"flag\": \"🇵🇭\" },\n { \"code\": \"PKR\", \"name\": \"Pakistani Rupee\", \"symbol\": \"₨\", \"countryCode\": \"PK\", \"flag\": \"🇵🇰\" },\n { \"code\": \"PLN\", \"name\": \"Polish Złoty\", \"symbol\": \"zł\", \"countryCode\": \"PL\", \"flag\": \"🇵🇱\" },\n { \"code\": \"PYG\", \"name\": \"Paraguayan Guarani\", \"symbol\": \"₲\", \"countryCode\": \"PY\", \"flag\": \"🇵🇾\" },\n { \"code\": \"QAR\", \"name\": \"Qatari Riyal\", \"symbol\": \"ر.ق\", \"countryCode\": \"QA\", \"flag\": \"🇶🇦\" },\n { \"code\": \"RON\", \"name\": \"Romanian Leu\", \"symbol\": \"lei\", \"countryCode\": \"RO\", \"flag\": \"🇷🇴\" },\n { \"code\": \"RSD\", \"name\": \"Serbian Dinar\", \"symbol\": \"дин.\", \"countryCode\": \"RS\", \"flag\": \"🇷🇸\" },\n { \"code\": \"RUB\", \"name\": \"Russian Ruble\", \"symbol\": \"₽\", \"countryCode\": \"RU\", \"flag\": \"🇷🇺\" },\n { \"code\": \"RWF\", \"name\": \"Rwandan Franc\", \"symbol\": \"R₣\", \"countryCode\": \"RW\", \"flag\": \"🇷🇼\" },\n { \"code\": \"SAR\", \"name\": \"Saudi Riyal\", \"symbol\": \"ر.س\", \"countryCode\": \"SA\", \"flag\": \"🇸🇦\" },\n { \"code\": \"SBD\", \"name\": \"Solomon Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"SB\", \"flag\": \"🇸🇧\" },\n { \"code\": \"SCR\", \"name\": \"Seychellois Rupee\", \"symbol\": \"₨\", \"countryCode\": \"SC\", \"flag\": \"🇸🇨\" },\n { \"code\": \"SDG\", \"name\": \"Sudanese Pound\", \"symbol\": \"ج.س.\", \"countryCode\": \"SD\", \"flag\": \"🇸🇩\" },\n { \"code\": \"SEK\", \"name\": \"Swedish Krona\", \"symbol\": \"kr\", \"countryCode\": \"SE\", \"flag\": \"🇸🇪\" },\n { \"code\": \"SGD\", \"name\": \"Singapore Dollar\", \"symbol\": \"$\", \"countryCode\": \"SG\", \"flag\": \"🇸🇬\" },\n { \"code\": \"SHP\", \"name\": \"Saint Helena Pound\", \"symbol\": \"£\", \"countryCode\": \"SH\", \"flag\": \"🇸🇭\" },\n { \"code\": \"SLL\", \"name\": \"Sierra Leonean Leone\", \"symbol\": \"Le\", \"countryCode\": \"SL\", \"flag\": \"🇸🇱\" },\n { \"code\": \"SOS\", \"name\": \"Somali Shilling\", \"symbol\": \"S\", \"countryCode\": \"SO\", \"flag\": \"🇸🇴\" },\n { \"code\": \"SRD\", \"name\": \"Surinamese Dollar\", \"symbol\": \"$\", \"countryCode\": \"SR\", \"flag\": \"🇸🇷\" },\n { \"code\": \"SSP\", \"name\": \"South Sudanese Pound\", \"symbol\": \"£\", \"countryCode\": \"SS\", \"flag\": \"🇸🇸\" },\n { \"code\": \"STN\", \"name\": \"São Tomé and Príncipe Dobra\", \"symbol\": \"Db\", \"countryCode\": \"ST\", \"flag\": \"🇸🇹\" },\n { \"code\": \"SVC\", \"name\": \"Salvadoran Colón\", \"symbol\": \"$\", \"countryCode\": \"SV\", \"flag\": \"🇸🇻\" },\n { \"code\": \"SYP\", \"name\": \"Syrian Pound\", \"symbol\": \"£\", \"countryCode\": \"SY\", \"flag\": \"🇸🇾\" },\n { \"code\": \"SZL\", \"name\": \"Swazi Lilangeni\", \"symbol\": \"L\", \"countryCode\": \"SZ\", \"flag\": \"🇸🇿\" },\n { \"code\": \"THB\", \"name\": \"Thai Baht\", \"symbol\": \"฿\", \"countryCode\": \"TH\", \"flag\": \"🇹🇭\" },\n { \"code\": \"TJS\", \"name\": \"Tajikistani Somoni\", \"symbol\": \"SM\", \"countryCode\": \"TJ\", \"flag\": \"🇹🇯\" },\n { \"code\": \"TMT\", \"name\": \"Turkmenistani Manat\", \"symbol\": \"T\", \"countryCode\": \"TM\", \"flag\": \"🇹🇲\" },\n { \"code\": \"TND\", \"name\": \"Tunisian Dinar\", \"symbol\": \"د.ت\", \"countryCode\": \"TN\", \"flag\": \"🇹🇳\" },\n { \"code\": \"TOP\", \"name\": \"Tongan Paʻanga\", \"symbol\": \"T$\", \"countryCode\": \"TO\", \"flag\": \"🇹🇴\" },\n { \"code\": \"TRY\", \"name\": \"Turkish Lira\", \"symbol\": \"₺\", \"countryCode\": \"TR\", \"flag\": \"🇹🇷\" },\n { \"code\": \"TTD\", \"name\": \"Trinidad and Tobago Dollar\", \"symbol\": \"TT$\", \"countryCode\": \"TT\", \"flag\": \"🇹🇹\" },\n { \"code\": \"TWD\", \"name\": \"New Taiwan Dollar\", \"symbol\": \"NT$\", \"countryCode\": \"TW\", \"flag\": \"🇹🇼\" },\n { \"code\": \"TZS\", \"name\": \"Tanzanian Shilling\", \"symbol\": \"TSh\", \"countryCode\": \"TZ\", \"flag\": \"🇹🇿\" },\n { \"code\": \"UAH\", \"name\": \"Ukrainian Hryvnia\", \"symbol\": \"₴\", \"countryCode\": \"UA\", \"flag\": \"🇺🇦\" },\n { \"code\": \"UGX\", \"name\": \"Ugandan Shilling\", \"symbol\": \"USh\", \"countryCode\": \"UG\", \"flag\": \"🇺🇬\" },\n { \"code\": \"USD\", \"name\": \"United States Dollar\", \"symbol\": \"$\", \"countryCode\": \"US\", \"flag\": \"🇺🇸\" },\n { \"code\": \"UYU\", \"name\": \"Uruguayan Peso\", \"symbol\": \"$U\", \"countryCode\": \"UY\", \"flag\": \"🇺🇾\" },\n { \"code\": \"UZS\", \"name\": \"Uzbekistani Som\", \"symbol\": \"сўм\", \"countryCode\": \"UZ\", \"flag\": \"🇺🇿\" },\n { \"code\": \"VEF\", \"name\": \"Venezuelan Bolívar Fuerte\", \"symbol\": \"Bs\", \"countryCode\": \"VE\", \"flag\": \"🇻🇪\" },\n { \"code\": \"VND\", \"name\": \"Vietnamese Dong\", \"symbol\": \"₫\", \"countryCode\": \"VN\", \"flag\": \"🇻🇳\" },\n { \"code\": \"VUV\", \"name\": \"Vanuatu Vatu\", \"symbol\": \"VT\", \"countryCode\": \"VU\", \"flag\": \"🇻🇺\" },\n { \"code\": \"WST\", \"name\": \"Samoan Tala\", \"symbol\": \"WS$\", \"countryCode\": \"WS\", \"flag\": \"🇼🇸\" },\n { \"code\": \"XAF\", \"name\": \"CFA Franc BEAC\", \"symbol\": \"FCFA\", \"countryCode\": \"CM\", \"flag\": \"🇨🇲\" },\n { \"code\": \"XCD\", \"name\": \"East Caribbean Dollar\", \"symbol\": \"$\", \"countryCode\": \"AG\", \"flag\": \"🇦🇬\" },\n { \"code\": \"XOF\", \"name\": \"CFA Franc BCEAO\", \"symbol\": \"CFA\", \"countryCode\": \"BJ\", \"flag\": \"🇧🇯\" },\n { \"code\": \"XPF\", \"name\": \"CFP Franc\", \"symbol\": \"₣\", \"countryCode\": \"PF\", \"flag\": \"🇵🇫\" },\n { \"code\": \"YER\", \"name\": \"Yemeni Rial\", \"symbol\": \"﷼\", \"countryCode\": \"YE\", \"flag\": \"🇾🇪\" },\n { \"code\": \"ZAR\", \"name\": \"South African Rand\", \"symbol\": \"R\", \"countryCode\": \"ZA\", \"flag\": \"🇿🇦\" },\n { \"code\": \"ZMW\", \"name\": \"Zambian Kwacha\", \"symbol\": \"ZK\", \"countryCode\": \"ZM\", \"flag\": \"🇿🇲\" },\n { \"code\": \"ZWL\", \"name\": \"Zimbabwean Dollar\", \"symbol\": \"$\", \"countryCode\": \"ZW\", \"flag\": \"🇿🇼\" }\n];\n","import {\n Component,\n OnInit,\n OnDestroy,\n ElementRef,\n forwardRef,\n inject,\n signal,\n computed,\n effect,\n model,\n input,\n DestroyRef, viewChild, Renderer2, booleanAttribute, output,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n FormsModule,\n} from '@angular/forms';\nimport { FormFieldControl, FORM_FIELD } from '@ngstarter-ui/components/form-field';\nimport { Select, Option, SelectTrigger, SelectChange, SelectHeader } from '@ngstarter-ui/components/select';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Currency } from '../currency.interface';\nimport { currencies } from '../currencies';\nimport { Button } from '@ngstarter-ui/components/button';\n\n@Component({\n selector: 'ngs-currency-select',\n exportAs: 'ngsCurrencySelect',\n templateUrl: './currency-select.html',\n styleUrl: './currency-select.scss',\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => CurrencySelect),\n },\n ],\n host: {\n 'class': 'ngs-currency-select',\n '[class.floating]': 'shouldLabelFloat',\n '[id]': 'id',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n '(focus)': 'onFocusIn()',\n '(blur)': 'onFocusOut($event)',\n },\n imports: [\n Option,\n Icon,\n\n Select,\n SelectHeader,\n SelectTrigger,\n FormsModule,\n Button\n ]\n})\nexport class CurrencySelect\n implements\n OnInit,\n OnDestroy,\n ControlValueAccessor,\n FormFieldControl<string | null>\n{\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _formField = inject(FORM_FIELD, { optional: true });\n\n static nextId = 0;\n id = `ngs-currency-select-${CurrencySelect.nextId++}`;\n\n readonly stateChanges = new Subject<void>();\n controlType = 'ngs-currency-select';\n autofilled?: boolean;\n\n protected searchTerm = model('');\n private readonly _valueSignal = signal<string | null>(null);\n private readonly _focusedSignal = signal(false);\n private _touched = false;\n\n placeholderInputSignal = input<string>('', { alias: 'placeholder' });\n isRequiredSignal = model<boolean>(false, { alias: 'required' });\n isDisabledSignal = model<boolean>(false, { alias: 'disabled' });\n\n showCountryName = input(false, {\n transform: booleanAttribute\n });\n\n readonly internalCurrencies: Currency[] = currencies;\n\n readonly filteredCurrencies = computed(() => {\n const term = this.searchTerm();\n const currencies = this.internalCurrencies;\n if (!term || term.trim() === '') {\n return currencies;\n }\n const filterValue = term.trim().toLowerCase();\n return currencies.filter(currency =>\n currency.name.toLowerCase().includes(filterValue) ||\n currency.code.toLowerCase().includes(filterValue)\n );\n });\n readonly selectedCurrencyDisplay = computed(() => {\n return this.internalCurrencies.find(c => c.code === this._valueSignal());\n });\n\n readonly ngsSelect = viewChild<Select>('ngsSelect');\n readonly searchInput = viewChild<ElementRef<HTMLInputElement>>('searchInput');\n\n private readonly fm = inject(FocusMonitor);\n private readonly elRef = inject<ElementRef<HTMLElement>>(ElementRef);\n public readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n private onChangeFn: (value: string | null) => void = () => {};\n private onTouchedFn: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n this.destroyRef.onDestroy(() => {\n this.fm.stopMonitoring(this.elRef.nativeElement);\n this.stateChanges.complete();\n });\n\n effect(() => {\n this.onChangeFn(this._valueSignal());\n });\n\n effect(() => {\n this._valueSignal();\n this._focusedSignal();\n this.isRequiredSignal();\n this.isDisabledSignal();\n this.placeholderInputSignal();\n this.ngControl?.control?.status;\n this.stateChanges.next();\n });\n }\n\n ngOnInit(): void {\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n if (control.validator) {\n const validator = control.validator({} as any);\n if (validator && validator['required']) {\n this.isRequiredSignal.set(true);\n }\n }\n\n this.isDisabledSignal.set(control.disabled);\n }\n\n if (this._formField) {\n this._renderer.addClass(this._formField.elementRef.nativeElement, 'ngs-form-field-type-currency-select');\n }\n }\n\n ngOnDestroy(): void {\n }\n\n get value(): string | null {\n return this._valueSignal();\n }\n set value(val: string | null) {\n this._valueSignal.set(val);\n }\n\n get focused(): boolean {\n return this._focusedSignal() || (this.ngsSelect?.()?.panelOpen() ?? false);\n }\n\n onFocusIn() {\n if (!this._focusedSignal()) {\n this._focusedSignal.set(true);\n this.stateChanges.next();\n }\n }\n\n onFocusOut(event: any) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this._touched = true;\n this._focusedSignal.set(false);\n this.onTouchedFn();\n this.stateChanges.next();\n }\n }\n\n get placeholder(): string {\n return this.placeholderInputSignal();\n }\n set placeholder(plh: string) {\n this.stateChanges.next();\n }\n\n get required(): boolean {\n return this.isRequiredSignal();\n }\n set required(req: boolean) {\n this.isRequiredSignal.set(coerceBooleanProperty(req));\n }\n\n get disabled(): boolean {\n return this.isDisabledSignal();\n }\n set disabled(dis: boolean) {\n this.isDisabledSignal.set(coerceBooleanProperty(dis));\n }\n\n get empty(): boolean {\n return !this._valueSignal();\n }\n\n get shouldLabelFloat(): boolean {\n return this._focusedSignal() || !this.empty;\n }\n\n get errorState(): boolean {\n return !!(this.ngControl?.invalid && (this.ngControl?.touched || this._touched));\n }\n\n get touched(): boolean {\n return this._touched;\n }\n\n setDescribedByIds(ids: string[]): void {\n const controlElement = this.elRef.nativeElement.querySelector('.select-trigger');\n\n if (controlElement) {\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n }\n\n onContainerClick(): void {\n if (this.disabled) {\n return;\n }\n\n this._focusedSignal.set(true);\n this.ngsSelect()?.open();\n }\n\n writeValue(value: string | null): void {\n this._valueSignal.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedFn = () => {\n this._touched = true;\n fn();\n this.stateChanges.next();\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onSelectionChange(event: SelectChange): void {\n this.value = event.value;\n this.onTouchedFn();\n }\n\n clearSearch(event: MouseEvent): void {\n event.stopPropagation();\n this.searchTerm.set('');\n this.searchInput()?.nativeElement.focus();\n }\n\n onSelectOpened(): void {\n setTimeout(() => {\n this.searchInput()?.nativeElement.focus();\n });\n this.opened.emit();\n }\n\n onSelectClosed(): void {\n this._focusedSignal.set(false);\n this.searchTerm.set('');\n\n if (!this._touched) {\n this.onTouchedFn();\n }\n this.closed.emit();\n }\n\n focus(): void {\n this.ngsSelect()?.focus();\n }\n}\n","<ngs-select\n #ngsSelect\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequiredSignal()\"\n [disabled]=\"isDisabledSignal()\">\n <ngs-select-trigger class=\"select-trigger\">\n @let selectedCurrency = selectedCurrencyDisplay();\n @if (selectedCurrency) {\n <span class=\"ngs-select-trigger-content\">\n <span class=\"ngs-select-trigger-icon\">{{ selectedCurrency.flag }}</span>\n <span class=\"ngs-select-trigger-text\">\n <span class=\"currency-code\">\n {{ selectedCurrency.code }}\n <span class=\"currency-symbol\">{{ selectedCurrency.symbol }}</span>\n </span>\n @if (showCountryName()) {\n &ndash; {{ selectedCurrency.name }}\n }\n </span>\n </span>\n }\n\n @if (!selectedCurrencyDisplay() && placeholder) {\n <span class=\"ngs-select-trigger-text placeholder-text\">\n {{ placeholder }}\n </span>\n }\n </ngs-select-trigger>\n\n <ngs-select-header>\n <div class=\"sticky top-0 z-1 bg-surface-container-lowest\">\n <input #searchInput\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [(ngModel)]=\"searchTerm\"\n class=\"w-full text-sm focus:outline-none border-b border-surface-container-high focus:border-b-primary h-14 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-1 top-1/2 -translate-y-1/2\">\n <button\n ngsIconButton\n (click)=\"clearSearch($event)\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <ngs-icon name=\"fluent:dismiss-24-regular\"/>\n </button>\n </div>\n }\n </div>\n </ngs-select-header>\n\n @for (currency of filteredCurrencies(); track currency.code) {\n <ngs-option [value]=\"currency.code\">\n <span class=\"select-option-content\">\n <span class=\"select-option-icon\">{{ currency.flag }}</span>\n <span class=\"select-option-text\">\n <span class=\"currency-code\">\n {{ currency.code }}\n <span class=\"currency-symbol\">{{ currency.symbol }}</span>\n </span>\n @if (showCountryName()) {\n &ndash; {{ currency.name }}\n }\n </span>\n </span>\n </ngs-option>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Currency not found</span>.\n </div>\n }\n }\n</ngs-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngstarter-ui-components-currency-select.mjs","sources":["../../../projects/components/currency-select/src/currencies.ts","../../../projects/components/currency-select/src/currency-select/currency-select.ts","../../../projects/components/currency-select/src/currency-select/currency-select.html","../../../projects/components/currency-select/ngstarter-ui-components-currency-select.ts"],"sourcesContent":["import { Currency } from './currency.interface';\n\nexport const currencies: Currency[] = [\n { \"code\": \"AED\", \"name\": \"UAE Dirham\", \"symbol\": \"د.إ\", \"countryCode\": \"AE\", \"flag\": \"🇦🇪\" },\n { \"code\": \"AFN\", \"name\": \"Afghan Afghani\", \"symbol\": \"؋\", \"countryCode\": \"AF\", \"flag\": \"🇦🇫\" },\n { \"code\": \"ALL\", \"name\": \"Albanian Lek\", \"symbol\": \"L\", \"countryCode\": \"AL\", \"flag\": \"🇦🇱\" },\n { \"code\": \"AMD\", \"name\": \"Armenian Dram\", \"symbol\": \"֏\", \"countryCode\": \"AM\", \"flag\": \"🇦🇲\" },\n { \"code\": \"ANG\", \"name\": \"Netherlands Antillean Guilder\", \"symbol\": \"ƒ\", \"countryCode\": \"AN\", \"flag\": \"🇦🇳\" },\n { \"code\": \"AOA\", \"name\": \"Angolan Kwanza\", \"symbol\": \"Kz\", \"countryCode\": \"AO\", \"flag\": \"🇦🇴\" },\n { \"code\": \"ARS\", \"name\": \"Argentine Peso\", \"symbol\": \"$\", \"countryCode\": \"AR\", \"flag\": \"🇦🇷\" },\n { \"code\": \"AUD\", \"name\": \"Australian Dollar\", \"symbol\": \"$\", \"countryCode\": \"AU\", \"flag\": \"🇦🇺\" },\n { \"code\": \"AWG\", \"name\": \"Aruban Florin\", \"symbol\": \"ƒ\", \"countryCode\": \"AW\", \"flag\": \"🇦🇼\" },\n { \"code\": \"AZN\", \"name\": \"Azerbaijani Manat\", \"symbol\": \"₼\", \"countryCode\": \"AZ\", \"flag\": \"🇦🇿\" },\n { \"code\": \"BAM\", \"name\": \"Bosnia-Herzegovina Convertible Mark\", \"symbol\": \"KM\", \"countryCode\": \"BA\", \"flag\": \"🇧🇦\" },\n { \"code\": \"BBD\", \"name\": \"Barbadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BB\", \"flag\": \"🇧🇧\" },\n { \"code\": \"BDT\", \"name\": \"Bangladeshi Taka\", \"symbol\": \"৳\", \"countryCode\": \"BD\", \"flag\": \"🇧🇩\" },\n { \"code\": \"BGN\", \"name\": \"Bulgarian Lev\", \"symbol\": \"лв\", \"countryCode\": \"BG\", \"flag\": \"🇧🇬\" },\n { \"code\": \"BHD\", \"name\": \"Bahraini Dinar\", \"symbol\": \".د.ب\", \"countryCode\": \"BH\", \"flag\": \"🇧🇭\" },\n { \"code\": \"BIF\", \"name\": \"Burundian Franc\", \"symbol\": \"FBu\", \"countryCode\": \"BI\", \"flag\": \"🇧🇮\" },\n { \"code\": \"BMD\", \"name\": \"Bermudan Dollar\", \"symbol\": \"$\", \"countryCode\": \"BM\", \"flag\": \"🇧🇲\" },\n { \"code\": \"BND\", \"name\": \"Brunei Dollar\", \"symbol\": \"$\", \"countryCode\": \"BN\", \"flag\": \"🇧🇳\" },\n { \"code\": \"BOB\", \"name\": \"Bolivian Boliviano\", \"symbol\": \"Bs.\", \"countryCode\": \"BO\", \"flag\": \"🇧🇴\" },\n { \"code\": \"BRL\", \"name\": \"Brazilian Real\", \"symbol\": \"R$\", \"countryCode\": \"BR\", \"flag\": \"🇧🇷\" },\n { \"code\": \"BSD\", \"name\": \"Bahamian Dollar\", \"symbol\": \"$\", \"countryCode\": \"BS\", \"flag\": \"🇧🇸\" },\n { \"code\": \"BTN\", \"name\": \"Bhutanese Ngultrum\", \"symbol\": \"Nu.\", \"countryCode\": \"BT\", \"flag\": \"🇧🇹\" },\n { \"code\": \"BWP\", \"name\": \"Botswanan Pula\", \"symbol\": \"P\", \"countryCode\": \"BW\", \"flag\": \"🇧🇼\" },\n { \"code\": \"BYN\", \"name\": \"Belarusian Ruble\", \"symbol\": \"Br\", \"countryCode\": \"BY\", \"flag\": \"🇧🇾\" },\n { \"code\": \"BZD\", \"name\": \"Belize Dollar\", \"symbol\": \"BZ$\", \"countryCode\": \"BZ\", \"flag\": \"🇧🇿\" },\n { \"code\": \"CAD\", \"name\": \"Canadian Dollar\", \"symbol\": \"$\", \"countryCode\": \"CA\", \"flag\": \"🇨🇦\" },\n { \"code\": \"CDF\", \"name\": \"Congolese Franc\", \"symbol\": \"FC\", \"countryCode\": \"CD\", \"flag\": \"🇨🇩\" },\n { \"code\": \"CHF\", \"name\": \"Swiss Franc\", \"symbol\": \"CHF\", \"countryCode\": \"CH\", \"flag\": \"🇨🇭\" },\n { \"code\": \"CLP\", \"name\": \"Chilean Peso\", \"symbol\": \"$\", \"countryCode\": \"CL\", \"flag\": \"🇨🇱\" },\n { \"code\": \"CNY\", \"name\": \"Chinese Yuan\", \"symbol\": \"¥\", \"countryCode\": \"CN\", \"flag\": \"🇨🇳\" },\n { \"code\": \"COP\", \"name\": \"Colombian Peso\", \"symbol\": \"$\", \"countryCode\": \"CO\", \"flag\": \"🇨🇴\" },\n { \"code\": \"CRC\", \"name\": \"Costa Rican Colón\", \"symbol\": \"₡\", \"countryCode\": \"CR\", \"flag\": \"🇨🇷\" },\n { \"code\": \"CUP\", \"name\": \"Cuban Peso\", \"symbol\": \"₱\", \"countryCode\": \"CU\", \"flag\": \"🇨🇺\" },\n { \"code\": \"CVE\", \"name\": \"Cape Verdean Escudo\", \"symbol\": \"$\", \"countryCode\": \"CV\", \"flag\": \"🇨🇻\" },\n { \"code\": \"CZK\", \"name\": \"Czech Koruna\", \"symbol\": \"Kč\", \"countryCode\": \"CZ\", \"flag\": \"🇨🇿\" },\n { \"code\": \"DJF\", \"name\": \"Djiboutian Franc\", \"symbol\": \"Fdj\", \"countryCode\": \"DJ\", \"flag\": \"🇩🇯\" },\n { \"code\": \"DKK\", \"name\": \"Danish Krone\", \"symbol\": \"kr\", \"countryCode\": \"DK\", \"flag\": \"🇩🇰\" },\n { \"code\": \"DOP\", \"name\": \"Dominican Peso\", \"symbol\": \"RD$\", \"countryCode\": \"DO\", \"flag\": \"🇩🇴\" },\n { \"code\": \"DZD\", \"name\": \"Algerian Dinar\", \"symbol\": \"د.ج\", \"countryCode\": \"DZ\", \"flag\": \"🇩🇿\" },\n { \"code\": \"EGP\", \"name\": \"Egyptian Pound\", \"symbol\": \"£\", \"countryCode\": \"EG\", \"flag\": \"🇪🇬\" },\n { \"code\": \"ERN\", \"name\": \"Eritrean Nakfa\", \"symbol\": \"Nfk\", \"countryCode\": \"ER\", \"flag\": \"🇪🇷\" },\n { \"code\": \"ETB\", \"name\": \"Ethiopian Birr\", \"symbol\": \"Br\", \"countryCode\": \"ET\", \"flag\": \"🇪🇹\" },\n { \"code\": \"EUR\", \"name\": \"Euro\", \"symbol\": \"€\", \"countryCode\": \"EU\", \"flag\": \"🇪🇺\" },\n { \"code\": \"FJD\", \"name\": \"Fijian Dollar\", \"symbol\": \"$\", \"countryCode\": \"FJ\", \"flag\": \"🇫🇯\" },\n { \"code\": \"FKP\", \"name\": \"Falkland Islands Pound\", \"symbol\": \"£\", \"countryCode\": \"FK\", \"flag\": \"🇫🇰\" },\n { \"code\": \"GBP\", \"name\": \"British Pound\", \"symbol\": \"£\", \"countryCode\": \"GB\", \"flag\": \"🇬🇧\" },\n { \"code\": \"GEL\", \"name\": \"Georgian Lari\", \"symbol\": \"₾\", \"countryCode\": \"GE\", \"flag\": \"🇬🇪\" },\n { \"code\": \"GHS\", \"name\": \"Ghanaian Cedi\", \"symbol\": \"GH₵\", \"countryCode\": \"GH\", \"flag\": \"🇬🇭\" },\n { \"code\": \"GIP\", \"name\": \"Gibraltar Pound\", \"symbol\": \"£\", \"countryCode\": \"GI\", \"flag\": \"🇬🇮\" },\n { \"code\": \"GMD\", \"name\": \"Gambian Dalasi\", \"symbol\": \"D\", \"countryCode\": \"GM\", \"flag\": \"🇬🇲\" },\n { \"code\": \"GNF\", \"name\": \"Guinean Franc\", \"symbol\": \"FG\", \"countryCode\": \"GN\", \"flag\": \"🇬🇳\" },\n { \"code\": \"GTQ\", \"name\": \"Guatemalan Quetzal\", \"symbol\": \"Q\", \"countryCode\": \"GT\", \"flag\": \"🇬🇹\" },\n { \"code\": \"GYD\", \"name\": \"Guyanaese Dollar\", \"symbol\": \"$\", \"countryCode\": \"GY\", \"flag\": \"🇬🇾\" },\n { \"code\": \"HKD\", \"name\": \"Hong Kong Dollar\", \"symbol\": \"$\", \"countryCode\": \"HK\", \"flag\": \"🇭🇰\" },\n { \"code\": \"HNL\", \"name\": \"Honduran Lempira\", \"symbol\": \"L\", \"countryCode\": \"HN\", \"flag\": \"🇭🇳\" },\n { \"code\": \"HRK\", \"name\": \"Croatian Kuna\", \"symbol\": \"kn\", \"countryCode\": \"HR\", \"flag\": \"🇭🇷\" },\n { \"code\": \"HTG\", \"name\": \"Haitian Gourde\", \"symbol\": \"G\", \"countryCode\": \"HT\", \"flag\": \"🇭🇹\" },\n { \"code\": \"HUF\", \"name\": \"Hungarian Forint\", \"symbol\": \"Ft\", \"countryCode\": \"HU\", \"flag\": \"🇭🇺\" },\n { \"code\": \"IDR\", \"name\": \"Indonesian Rupiah\", \"symbol\": \"Rp\", \"countryCode\": \"ID\", \"flag\": \"🇮🇩\" },\n { \"code\": \"ILS\", \"name\": \"Israeli New Shekel\", \"symbol\": \"₪\", \"countryCode\": \"IL\", \"flag\": \"🇮🇱\" },\n { \"code\": \"INR\", \"name\": \"Indian Rupee\", \"symbol\": \"₹\", \"countryCode\": \"IN\", \"flag\": \"🇮🇳\" },\n { \"code\": \"IQD\", \"name\": \"Iraqi Dinar\", \"symbol\": \"ع.د\", \"countryCode\": \"IQ\", \"flag\": \"🇮🇶\" },\n { \"code\": \"IRR\", \"name\": \"Iranian Rial\", \"symbol\": \"﷼\", \"countryCode\": \"IR\", \"flag\": \"🇮🇷\" },\n { \"code\": \"ISK\", \"name\": \"Icelandic Króna\", \"symbol\": \"kr\", \"countryCode\": \"IS\", \"flag\": \"🇮🇸\" },\n { \"code\": \"JMD\", \"name\": \"Jamaican Dollar\", \"symbol\": \"J$\", \"countryCode\": \"JM\", \"flag\": \"🇯🇲\" },\n { \"code\": \"JOD\", \"name\": \"Jordanian Dinar\", \"symbol\": \"JD\", \"countryCode\": \"JO\", \"flag\": \"🇯🇴\" },\n { \"code\": \"JPY\", \"name\": \"Japanese Yen\", \"symbol\": \"¥\", \"countryCode\": \"JP\", \"flag\": \"🇯🇵\" },\n { \"code\": \"KES\", \"name\": \"Kenyan Shilling\", \"symbol\": \"KSh\", \"countryCode\": \"KE\", \"flag\": \"🇰🇪\" },\n { \"code\": \"KGS\", \"name\": \"Kyrgystani Som\", \"symbol\": \"с\", \"countryCode\": \"KG\", \"flag\": \"🇰🇬\" },\n { \"code\": \"KHR\", \"name\": \"Cambodian Riel\", \"symbol\": \"៛\", \"countryCode\": \"KH\", \"flag\": \"🇰🇭\" },\n { \"code\": \"KMF\", \"name\": \"Comorian Franc\", \"symbol\": \"CF\", \"countryCode\": \"KM\", \"flag\": \"🇰🇲\" },\n { \"code\": \"KPW\", \"name\": \"North Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KP\", \"flag\": \"🇰🇵\" },\n { \"code\": \"KRW\", \"name\": \"South Korean Won\", \"symbol\": \"₩\", \"countryCode\": \"KR\", \"flag\": \"🇰🇷\" },\n { \"code\": \"KWD\", \"name\": \"Kuwaiti Dinar\", \"symbol\": \"د.ك\", \"countryCode\": \"KW\", \"flag\": \"🇰🇼\" },\n { \"code\": \"KYD\", \"name\": \"Cayman Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"KY\", \"flag\": \"🇰🇾\" },\n { \"code\": \"KZT\", \"name\": \"Kazakhstani Tenge\", \"symbol\": \"₸\", \"countryCode\": \"KZ\", \"flag\": \"🇰🇿\" },\n { \"code\": \"LAK\", \"name\": \"Laotian Kip\", \"symbol\": \"₭\", \"countryCode\": \"LA\", \"flag\": \"🇱🇦\" },\n { \"code\": \"LBP\", \"name\": \"Lebanese Pound\", \"symbol\": \"£\", \"countryCode\": \"LB\", \"flag\": \"🇱🇧\" },\n { \"code\": \"LKR\", \"name\": \"Sri Lankan Rupee\", \"symbol\": \"₨\", \"countryCode\": \"LK\", \"flag\": \"🇱🇰\" },\n { \"code\": \"LRD\", \"name\": \"Liberian Dollar\", \"symbol\": \"$\", \"countryCode\": \"LR\", \"flag\": \"🇱🇷\" },\n { \"code\": \"LSL\", \"name\": \"Lesotho Loti\", \"symbol\": \"L\", \"countryCode\": \"LS\", \"flag\": \"🇱🇸\" },\n { \"code\": \"LYD\", \"name\": \"Libyan Dinar\", \"symbol\": \"ل.د\", \"countryCode\": \"LY\", \"flag\": \"🇱🇾\" },\n { \"code\": \"MAD\", \"name\": \"Moroccan Dirham\", \"symbol\": \"د.م.\", \"countryCode\": \"MA\", \"flag\": \"🇲🇦\" },\n { \"code\": \"MDL\", \"name\": \"Moldovan Leu\", \"symbol\": \"L\", \"countryCode\": \"MD\", \"flag\": \"🇲🇩\" },\n { \"code\": \"MGA\", \"name\": \"Malagasy Ariary\", \"symbol\": \"Ar\", \"countryCode\": \"MG\", \"flag\": \"🇲🇬\" },\n { \"code\": \"MKD\", \"name\": \"Macedonian Denar\", \"symbol\": \"ден\", \"countryCode\": \"MK\", \"flag\": \"🇲🇰\" },\n { \"code\": \"MMK\", \"name\": \"Myanma Kyat\", \"symbol\": \"K\", \"countryCode\": \"MM\", \"flag\": \"🇲🇲\" },\n { \"code\": \"MNT\", \"name\": \"Mongolian Tugrik\", \"symbol\": \"₮\", \"countryCode\": \"MN\", \"flag\": \"🇲🇳\" },\n { \"code\": \"MOP\", \"name\": \"Macanese Pataca\", \"symbol\": \"MOP$\", \"countryCode\": \"MO\", \"flag\": \"🇲🇴\" },\n { \"code\": \"MRU\", \"name\": \"Mauritanian Ouguiya\", \"symbol\": \"UM\", \"countryCode\": \"MR\", \"flag\": \"🇲🇷\" },\n { \"code\": \"MUR\", \"name\": \"Mauritian Rupee\", \"symbol\": \"₨\", \"countryCode\": \"MU\", \"flag\": \"🇲🇺\" },\n { \"code\": \"MVR\", \"name\": \"Maldivian Rufiyaa\", \"symbol\": \".ރ\", \"countryCode\": \"MV\", \"flag\": \"🇲🇻\" },\n { \"code\": \"MWK\", \"name\": \"Malawian Kwacha\", \"symbol\": \"MK\", \"countryCode\": \"MW\", \"flag\": \"🇲🇼\" },\n { \"code\": \"MXN\", \"name\": \"Mexican Peso\", \"symbol\": \"$\", \"countryCode\": \"MX\", \"flag\": \"🇲🇽\" },\n { \"code\": \"MYR\", \"name\": \"Malaysian Ringgit\", \"symbol\": \"RM\", \"countryCode\": \"MY\", \"flag\": \"🇲🇾\" },\n { \"code\": \"MZN\", \"name\": \"Mozambican Metical\", \"symbol\": \"MT\", \"countryCode\": \"MZ\", \"flag\": \"🇲🇿\" },\n { \"code\": \"NAD\", \"name\": \"Namibian Dollar\", \"symbol\": \"$\", \"countryCode\": \"NA\", \"flag\": \"🇳🇦\" },\n { \"code\": \"NGN\", \"name\": \"Nigerian Naira\", \"symbol\": \"₦\", \"countryCode\": \"NG\", \"flag\": \"🇳🇬\" },\n { \"code\": \"NIO\", \"name\": \"Nicaraguan Córdoba\", \"symbol\": \"C$\", \"countryCode\": \"NI\", \"flag\": \"🇳🇮\" },\n { \"code\": \"NOK\", \"name\": \"Norwegian Krone\", \"symbol\": \"kr\", \"countryCode\": \"NO\", \"flag\": \"🇳🇴\" },\n { \"code\": \"NPR\", \"name\": \"Nepalese Rupee\", \"symbol\": \"₨\", \"countryCode\": \"NP\", \"flag\": \"🇳🇵\" },\n { \"code\": \"NZD\", \"name\": \"New Zealand Dollar\", \"symbol\": \"$\", \"countryCode\": \"NZ\", \"flag\": \"🇳🇿\" },\n { \"code\": \"OMR\", \"name\": \"Omani Rial\", \"symbol\": \"ر.ع.\", \"countryCode\": \"OM\", \"flag\": \"🇴🇲\" },\n { \"code\": \"PAB\", \"name\": \"Panamanian Balboa\", \"symbol\": \"B/.\", \"countryCode\": \"PA\", \"flag\": \"🇵🇦\" },\n { \"code\": \"PEN\", \"name\": \"Peruvian Nuevo Sol\", \"symbol\": \"S/.\", \"countryCode\": \"PE\", \"flag\": \"🇵🇪\" },\n { \"code\": \"PGK\", \"name\": \"Papua New Guinean Kina\", \"symbol\": \"K\", \"countryCode\": \"PG\", \"flag\": \"🇵🇬\" },\n { \"code\": \"PHP\", \"name\": \"Philippine Peso\", \"symbol\": \"₱\", \"countryCode\": \"PH\", \"flag\": \"🇵🇭\" },\n { \"code\": \"PKR\", \"name\": \"Pakistani Rupee\", \"symbol\": \"₨\", \"countryCode\": \"PK\", \"flag\": \"🇵🇰\" },\n { \"code\": \"PLN\", \"name\": \"Polish Złoty\", \"symbol\": \"zł\", \"countryCode\": \"PL\", \"flag\": \"🇵🇱\" },\n { \"code\": \"PYG\", \"name\": \"Paraguayan Guarani\", \"symbol\": \"₲\", \"countryCode\": \"PY\", \"flag\": \"🇵🇾\" },\n { \"code\": \"QAR\", \"name\": \"Qatari Riyal\", \"symbol\": \"ر.ق\", \"countryCode\": \"QA\", \"flag\": \"🇶🇦\" },\n { \"code\": \"RON\", \"name\": \"Romanian Leu\", \"symbol\": \"lei\", \"countryCode\": \"RO\", \"flag\": \"🇷🇴\" },\n { \"code\": \"RSD\", \"name\": \"Serbian Dinar\", \"symbol\": \"дин.\", \"countryCode\": \"RS\", \"flag\": \"🇷🇸\" },\n { \"code\": \"RUB\", \"name\": \"Russian Ruble\", \"symbol\": \"₽\", \"countryCode\": \"RU\", \"flag\": \"🇷🇺\" },\n { \"code\": \"RWF\", \"name\": \"Rwandan Franc\", \"symbol\": \"R₣\", \"countryCode\": \"RW\", \"flag\": \"🇷🇼\" },\n { \"code\": \"SAR\", \"name\": \"Saudi Riyal\", \"symbol\": \"ر.س\", \"countryCode\": \"SA\", \"flag\": \"🇸🇦\" },\n { \"code\": \"SBD\", \"name\": \"Solomon Islands Dollar\", \"symbol\": \"$\", \"countryCode\": \"SB\", \"flag\": \"🇸🇧\" },\n { \"code\": \"SCR\", \"name\": \"Seychellois Rupee\", \"symbol\": \"₨\", \"countryCode\": \"SC\", \"flag\": \"🇸🇨\" },\n { \"code\": \"SDG\", \"name\": \"Sudanese Pound\", \"symbol\": \"ج.س.\", \"countryCode\": \"SD\", \"flag\": \"🇸🇩\" },\n { \"code\": \"SEK\", \"name\": \"Swedish Krona\", \"symbol\": \"kr\", \"countryCode\": \"SE\", \"flag\": \"🇸🇪\" },\n { \"code\": \"SGD\", \"name\": \"Singapore Dollar\", \"symbol\": \"$\", \"countryCode\": \"SG\", \"flag\": \"🇸🇬\" },\n { \"code\": \"SHP\", \"name\": \"Saint Helena Pound\", \"symbol\": \"£\", \"countryCode\": \"SH\", \"flag\": \"🇸🇭\" },\n { \"code\": \"SLL\", \"name\": \"Sierra Leonean Leone\", \"symbol\": \"Le\", \"countryCode\": \"SL\", \"flag\": \"🇸🇱\" },\n { \"code\": \"SOS\", \"name\": \"Somali Shilling\", \"symbol\": \"S\", \"countryCode\": \"SO\", \"flag\": \"🇸🇴\" },\n { \"code\": \"SRD\", \"name\": \"Surinamese Dollar\", \"symbol\": \"$\", \"countryCode\": \"SR\", \"flag\": \"🇸🇷\" },\n { \"code\": \"SSP\", \"name\": \"South Sudanese Pound\", \"symbol\": \"£\", \"countryCode\": \"SS\", \"flag\": \"🇸🇸\" },\n { \"code\": \"STN\", \"name\": \"São Tomé and Príncipe Dobra\", \"symbol\": \"Db\", \"countryCode\": \"ST\", \"flag\": \"🇸🇹\" },\n { \"code\": \"SVC\", \"name\": \"Salvadoran Colón\", \"symbol\": \"$\", \"countryCode\": \"SV\", \"flag\": \"🇸🇻\" },\n { \"code\": \"SYP\", \"name\": \"Syrian Pound\", \"symbol\": \"£\", \"countryCode\": \"SY\", \"flag\": \"🇸🇾\" },\n { \"code\": \"SZL\", \"name\": \"Swazi Lilangeni\", \"symbol\": \"L\", \"countryCode\": \"SZ\", \"flag\": \"🇸🇿\" },\n { \"code\": \"THB\", \"name\": \"Thai Baht\", \"symbol\": \"฿\", \"countryCode\": \"TH\", \"flag\": \"🇹🇭\" },\n { \"code\": \"TJS\", \"name\": \"Tajikistani Somoni\", \"symbol\": \"SM\", \"countryCode\": \"TJ\", \"flag\": \"🇹🇯\" },\n { \"code\": \"TMT\", \"name\": \"Turkmenistani Manat\", \"symbol\": \"T\", \"countryCode\": \"TM\", \"flag\": \"🇹🇲\" },\n { \"code\": \"TND\", \"name\": \"Tunisian Dinar\", \"symbol\": \"د.ت\", \"countryCode\": \"TN\", \"flag\": \"🇹🇳\" },\n { \"code\": \"TOP\", \"name\": \"Tongan Paʻanga\", \"symbol\": \"T$\", \"countryCode\": \"TO\", \"flag\": \"🇹🇴\" },\n { \"code\": \"TRY\", \"name\": \"Turkish Lira\", \"symbol\": \"₺\", \"countryCode\": \"TR\", \"flag\": \"🇹🇷\" },\n { \"code\": \"TTD\", \"name\": \"Trinidad and Tobago Dollar\", \"symbol\": \"TT$\", \"countryCode\": \"TT\", \"flag\": \"🇹🇹\" },\n { \"code\": \"TWD\", \"name\": \"New Taiwan Dollar\", \"symbol\": \"NT$\", \"countryCode\": \"TW\", \"flag\": \"🇹🇼\" },\n { \"code\": \"TZS\", \"name\": \"Tanzanian Shilling\", \"symbol\": \"TSh\", \"countryCode\": \"TZ\", \"flag\": \"🇹🇿\" },\n { \"code\": \"UAH\", \"name\": \"Ukrainian Hryvnia\", \"symbol\": \"₴\", \"countryCode\": \"UA\", \"flag\": \"🇺🇦\" },\n { \"code\": \"UGX\", \"name\": \"Ugandan Shilling\", \"symbol\": \"USh\", \"countryCode\": \"UG\", \"flag\": \"🇺🇬\" },\n { \"code\": \"USD\", \"name\": \"United States Dollar\", \"symbol\": \"$\", \"countryCode\": \"US\", \"flag\": \"🇺🇸\" },\n { \"code\": \"UYU\", \"name\": \"Uruguayan Peso\", \"symbol\": \"$U\", \"countryCode\": \"UY\", \"flag\": \"🇺🇾\" },\n { \"code\": \"UZS\", \"name\": \"Uzbekistani Som\", \"symbol\": \"сўм\", \"countryCode\": \"UZ\", \"flag\": \"🇺🇿\" },\n { \"code\": \"VEF\", \"name\": \"Venezuelan Bolívar Fuerte\", \"symbol\": \"Bs\", \"countryCode\": \"VE\", \"flag\": \"🇻🇪\" },\n { \"code\": \"VND\", \"name\": \"Vietnamese Dong\", \"symbol\": \"₫\", \"countryCode\": \"VN\", \"flag\": \"🇻🇳\" },\n { \"code\": \"VUV\", \"name\": \"Vanuatu Vatu\", \"symbol\": \"VT\", \"countryCode\": \"VU\", \"flag\": \"🇻🇺\" },\n { \"code\": \"WST\", \"name\": \"Samoan Tala\", \"symbol\": \"WS$\", \"countryCode\": \"WS\", \"flag\": \"🇼🇸\" },\n { \"code\": \"XAF\", \"name\": \"CFA Franc BEAC\", \"symbol\": \"FCFA\", \"countryCode\": \"CM\", \"flag\": \"🇨🇲\" },\n { \"code\": \"XCD\", \"name\": \"East Caribbean Dollar\", \"symbol\": \"$\", \"countryCode\": \"AG\", \"flag\": \"🇦🇬\" },\n { \"code\": \"XOF\", \"name\": \"CFA Franc BCEAO\", \"symbol\": \"CFA\", \"countryCode\": \"BJ\", \"flag\": \"🇧🇯\" },\n { \"code\": \"XPF\", \"name\": \"CFP Franc\", \"symbol\": \"₣\", \"countryCode\": \"PF\", \"flag\": \"🇵🇫\" },\n { \"code\": \"YER\", \"name\": \"Yemeni Rial\", \"symbol\": \"﷼\", \"countryCode\": \"YE\", \"flag\": \"🇾🇪\" },\n { \"code\": \"ZAR\", \"name\": \"South African Rand\", \"symbol\": \"R\", \"countryCode\": \"ZA\", \"flag\": \"🇿🇦\" },\n { \"code\": \"ZMW\", \"name\": \"Zambian Kwacha\", \"symbol\": \"ZK\", \"countryCode\": \"ZM\", \"flag\": \"🇿🇲\" },\n { \"code\": \"ZWL\", \"name\": \"Zimbabwean Dollar\", \"symbol\": \"$\", \"countryCode\": \"ZW\", \"flag\": \"🇿🇼\" }\n];\n","import {\n Component,\n OnInit,\n OnDestroy,\n ElementRef,\n forwardRef,\n inject,\n signal,\n computed,\n effect,\n model,\n input,\n DestroyRef, viewChild, Renderer2, booleanAttribute, output,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n FormsModule,\n} from '@angular/forms';\nimport { FormFieldControl, FORM_FIELD } from '@ngstarter-ui/components/form-field';\nimport { Select, Option, SelectTrigger, SelectChange, SelectHeader } from '@ngstarter-ui/components/select';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Currency } from '../currency.interface';\nimport { currencies } from '../currencies';\nimport { Button } from '@ngstarter-ui/components/button';\n\n@Component({\n selector: 'ngs-currency-select',\n exportAs: 'ngsCurrencySelect',\n templateUrl: './currency-select.html',\n styleUrl: './currency-select.scss',\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => CurrencySelect),\n },\n ],\n host: {\n 'class': 'ngs-currency-select',\n '[class.floating]': 'shouldLabelFloat',\n '[id]': 'id',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n '(focus)': 'onFocusIn()',\n '(blur)': 'onFocusOut($event)',\n },\n imports: [\n Option,\n Icon,\n\n Select,\n SelectHeader,\n SelectTrigger,\n FormsModule,\n Button\n ]\n})\nexport class CurrencySelect\n implements\n OnInit,\n OnDestroy,\n ControlValueAccessor,\n FormFieldControl<string | null>\n{\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _formField = inject(FORM_FIELD, { optional: true });\n\n static nextId = 0;\n id = `ngs-currency-select-${CurrencySelect.nextId++}`;\n\n readonly stateChanges = new Subject<void>();\n controlType = 'ngs-currency-select';\n autofilled?: boolean;\n\n protected searchTerm = model('');\n private readonly _valueSignal = signal<string | null>(null);\n private readonly _focusedSignal = signal(false);\n private _touched = false;\n\n placeholderInputSignal = input<string>('', { alias: 'placeholder' });\n isRequiredSignal = model<boolean>(false, { alias: 'required' });\n isDisabledSignal = model<boolean>(false, { alias: 'disabled' });\n\n showCountryName = input(false, {\n transform: booleanAttribute\n });\n\n readonly internalCurrencies: Currency[] = currencies;\n\n readonly filteredCurrencies = computed(() => {\n const term = this.searchTerm();\n const currencies = this.internalCurrencies;\n if (!term || term.trim() === '') {\n return currencies;\n }\n const filterValue = term.trim().toLowerCase();\n return currencies.filter(currency =>\n currency.name.toLowerCase().includes(filterValue) ||\n currency.code.toLowerCase().includes(filterValue)\n );\n });\n readonly selectedCurrencyDisplay = computed(() => {\n return this.internalCurrencies.find(c => c.code === this._valueSignal());\n });\n\n readonly ngsSelect = viewChild<Select>('ngsSelect');\n readonly searchInput = viewChild<ElementRef<HTMLInputElement>>('searchInput');\n\n private readonly fm = inject(FocusMonitor);\n private readonly elRef = inject<ElementRef<HTMLElement>>(ElementRef);\n public readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n private onChangeFn: (value: string | null) => void = () => {};\n private onTouchedFn: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n this.destroyRef.onDestroy(() => {\n this.fm.stopMonitoring(this.elRef.nativeElement);\n this.stateChanges.complete();\n });\n\n effect(() => {\n this.onChangeFn(this._valueSignal());\n });\n\n effect(() => {\n this._valueSignal();\n this._focusedSignal();\n this.isRequiredSignal();\n this.isDisabledSignal();\n this.placeholderInputSignal();\n this.ngControl?.control?.status;\n this.stateChanges.next();\n });\n }\n\n ngOnInit(): void {\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n if (control.validator) {\n const validator = control.validator({} as any);\n if (validator && validator['required']) {\n this.isRequiredSignal.set(true);\n }\n }\n\n this.isDisabledSignal.set(control.disabled);\n }\n\n if (this._formField) {\n this._renderer.addClass(this._formField.elementRef.nativeElement, 'ngs-form-field-type-currency-select');\n }\n }\n\n ngOnDestroy(): void {\n }\n\n get value(): string | null {\n return this._valueSignal();\n }\n set value(val: string | null) {\n this._valueSignal.set(val);\n }\n\n get focused(): boolean {\n return this._focusedSignal() || (this.ngsSelect?.()?.panelOpen() ?? false);\n }\n\n onFocusIn() {\n if (!this._focusedSignal()) {\n this._focusedSignal.set(true);\n this.stateChanges.next();\n }\n }\n\n onFocusOut(event: any) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this._touched = true;\n this._focusedSignal.set(false);\n this.onTouchedFn();\n this.stateChanges.next();\n }\n }\n\n get placeholder(): string {\n return this.placeholderInputSignal();\n }\n set placeholder(plh: string) {\n this.stateChanges.next();\n }\n\n get required(): boolean {\n return this.isRequiredSignal();\n }\n set required(req: boolean) {\n this.isRequiredSignal.set(coerceBooleanProperty(req));\n }\n\n get disabled(): boolean {\n return this.isDisabledSignal();\n }\n set disabled(dis: boolean) {\n this.isDisabledSignal.set(coerceBooleanProperty(dis));\n }\n\n get empty(): boolean {\n return !this._valueSignal();\n }\n\n get shouldLabelFloat(): boolean {\n return this._focusedSignal() || !this.empty;\n }\n\n get errorState(): boolean {\n return !!(this.ngControl?.invalid && (this.ngControl?.touched || this._touched));\n }\n\n get touched(): boolean {\n return this._touched;\n }\n\n setDescribedByIds(ids: string[]): void {\n const controlElement = this.elRef.nativeElement.querySelector('.select-trigger');\n\n if (controlElement) {\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n }\n\n onContainerClick(): void {\n if (this.disabled) {\n return;\n }\n\n this._focusedSignal.set(true);\n this.ngsSelect()?.open();\n }\n\n writeValue(value: string | null): void {\n this._valueSignal.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedFn = () => {\n this._touched = true;\n fn();\n this.stateChanges.next();\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onSelectionChange(event: SelectChange): void {\n this.value = event.value;\n this.onTouchedFn();\n }\n\n clearSearch(event: MouseEvent): void {\n event.stopPropagation();\n this.searchTerm.set('');\n this.searchInput()?.nativeElement.focus();\n }\n\n onSelectOpened(): void {\n setTimeout(() => {\n this.searchInput()?.nativeElement.focus();\n });\n this.opened.emit();\n }\n\n onSelectClosed(): void {\n this._focusedSignal.set(false);\n this.searchTerm.set('');\n\n if (!this._touched) {\n this.onTouchedFn();\n }\n this.closed.emit();\n }\n\n focus(): void {\n this.ngsSelect()?.focus();\n }\n}\n","<ngs-select\n #ngsSelect\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequiredSignal()\"\n [disabled]=\"isDisabledSignal()\">\n <ngs-select-trigger class=\"select-trigger\">\n @let selectedCurrency = selectedCurrencyDisplay();\n @if (selectedCurrency) {\n <span class=\"ngs-select-trigger-content\">\n <span class=\"ngs-select-trigger-icon\">{{ selectedCurrency.flag }}</span>\n <span class=\"ngs-select-trigger-text\">\n <span class=\"currency-code\">\n {{ selectedCurrency.code }}\n <span class=\"currency-symbol\">{{ selectedCurrency.symbol }}</span>\n </span>\n @if (showCountryName()) {\n &ndash; {{ selectedCurrency.name }}\n }\n </span>\n </span>\n }\n\n @if (!selectedCurrencyDisplay() && placeholder) {\n <span class=\"ngs-select-trigger-text placeholder-text\">\n {{ placeholder }}\n </span>\n }\n </ngs-select-trigger>\n\n <ngs-select-header>\n <div class=\"sticky top-0 z-1 bg-surface-container-lowest\">\n <input #searchInput\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [(ngModel)]=\"searchTerm\"\n class=\"w-full text-sm focus:outline-none border-b border-surface-container-high focus:border-b-primary h-14 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-1 top-1/2 -translate-y-1/2\">\n <button\n ngsIconButton\n (click)=\"clearSearch($event)\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <ngs-icon name=\"fluent:dismiss-24-regular\"/>\n </button>\n </div>\n }\n </div>\n </ngs-select-header>\n\n @for (currency of filteredCurrencies(); track currency.code) {\n <ngs-option [value]=\"currency.code\">\n <span class=\"select-option-content\">\n <span class=\"select-option-icon\">{{ currency.flag }}</span>\n <span class=\"select-option-text\">\n <span class=\"currency-code\">\n {{ currency.code }}\n <span class=\"currency-symbol\">{{ currency.symbol }}</span>\n </span>\n @if (showCountryName()) {\n &ndash; {{ currency.name }}\n }\n </span>\n </span>\n </ngs-option>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Currency not found</span>.\n </div>\n }\n }\n</ngs-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -129,7 +129,7 @@ class DateFormatSelect {
129
129
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: DateFormatSelect, isStandalone: true, selector: "ngs-date-format-select", inputs: { dateFormats: { classPropertyName: "dateFormats", publicName: "dateFormats", isSignal: true, isRequired: false, transformFunction: null }, placeholderInput: { classPropertyName: "placeholderInput", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox" }, properties: { "id": "id", "attr.required": "required || null" } }, providers: [{
130
130
  provide: FormFieldControl,
131
131
  useExisting: DateFormatSelect
132
- }], viewQueries: [{ propertyName: "matSelect", first: true, predicate: Select, descendants: true, isSignal: true }], exportAs: ["ngsDateFormatSelect"], ngImport: i0, template: "<ngs-select\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\">\n @for (format of dateFormats(); track format.value) {\n <ngs-option [value]=\"format.value\">{{ format.name }}</ngs-option>\n }\n</ngs-select>\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }] });
132
+ }], viewQueries: [{ propertyName: "matSelect", first: true, predicate: Select, descendants: true, isSignal: true }], exportAs: ["ngsDateFormatSelect"], ngImport: i0, template: "<ngs-select\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\">\n @for (format of dateFormats(); track format.value) {\n <ngs-option [value]=\"format.value\">{{ format.name }}</ngs-option>\n }\n</ngs-select>\n", styles: ["/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "clearable", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }] });
133
133
  }
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DateFormatSelect, decorators: [{
135
135
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-date-format-select.mjs","sources":["../../../projects/components/date-format-select/src/date-format-select/date-format-select.ts","../../../projects/components/date-format-select/src/date-format-select/date-format-select.html","../../../projects/components/date-format-select/ngstarter-ui-components-date-format-select.ts"],"sourcesContent":["import {\n Component,\n inject,\n input,\n OnDestroy,\n signal, viewChild, OnInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\nimport { Select, Option, SelectChange } from '@ngstarter-ui/components/select';\nimport { Subject, takeUntil } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\nexport type DateFormat = {\n value: string;\n name: string;\n};\n\n@Component({\n selector: 'ngs-date-format-select',\n exportAs: 'ngsDateFormatSelect',\n imports: [\n Select,\n Option\n ],\n templateUrl: './date-format-select.html',\n styleUrl: './date-format-select.scss',\n providers: [{\n provide: FormFieldControl,\n useExisting: DateFormatSelect\n }],\n host: {\n '[id]': 'id',\n 'role': 'combobox',\n '[attr.required]': 'required || null',\n },\n})\nexport class DateFormatSelect implements FormFieldControl<string>, ControlValueAccessor, OnDestroy, OnInit {\n private static nextId = 0;\n\n readonly matSelect = viewChild.required(Select);\n\n readonly dateFormats = input<DateFormat[]>([\n { value: 'MM/dd/yyyy', name: 'MM/DD/YYYY' },\n { value: 'dd.MM.yyyy', name: 'DD.MM.YYYY' },\n { value: 'yyyy-MM-dd', name: 'YYYY-MM-DD' },\n ]);\n\n private readonly _value = signal<string | null>(null);\n private readonly _focused = signal(false);\n readonly _describedBy = signal('');\n\n readonly stateChanges = new Subject<void>();\n readonly id = `date-format-input-${DateFormatSelect.nextId++}`;\n readonly controlType = 'date-format-input';\n readonly autofilled = false;\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty(): boolean {\n return !this._value();\n }\n\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n get errorState(): boolean {\n return this.ngControl?.invalid === true && this.ngControl.touched === true;\n }\n\n get value(): string | null {\n return this._value();\n }\n set value(val: string | null) {\n this._value.set(val);\n this.stateChanges.next();\n }\n\n readonly ngControl = inject(NgControl, { self: true, optional: true });\n readonly placeholderInput = input<string>('', { alias: 'placeholder' });\n\n get placeholder(): string {\n return this.placeholderInput();\n }\n\n private readonly _destroy$ = new Subject<void>();\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n outputToObservable(this.matSelect().closed)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n });\n }\n\n private _required = false;\n\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean | string) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean | string) {\n this._disabled = coerceBooleanProperty(value);\n this.matSelect().setDisabledState(this._disabled);\n this.stateChanges.next();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n }\n\n onFocus(): void {\n if (!this.focused) {\n this._focused.set(true);\n this.stateChanges.next();\n }\n }\n\n onBlur(): void {\n if (!this.matSelect().panelOpen()) {\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onSelectionChange(event: SelectChange): void {\n this.value = event.value;\n this.onChange(this.value);\n }\n\n setDescribedByIds(ids: string[]): void {\n this._describedBy.set(ids.join(' '));\n }\n\n onContainerClick(): void {\n if (!this.disabled) {\n this.matSelect().open();\n }\n }\n\n private onChange: (value: unknown) => void = () => {};\n private onTouched: () => void = () => {};\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus(): void {\n this.matSelect().focus();\n }\n}\n","<ngs-select\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\">\n @for (format of dateFormats(); track format.value) {\n <ngs-option [value]=\"format.value\">{{ format.name }}</ngs-option>\n }\n</ngs-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngstarter-ui-components-date-format-select.mjs","sources":["../../../projects/components/date-format-select/src/date-format-select/date-format-select.ts","../../../projects/components/date-format-select/src/date-format-select/date-format-select.html","../../../projects/components/date-format-select/ngstarter-ui-components-date-format-select.ts"],"sourcesContent":["import {\n Component,\n inject,\n input,\n OnDestroy,\n signal, viewChild, OnInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\nimport { Select, Option, SelectChange } from '@ngstarter-ui/components/select';\nimport { Subject, takeUntil } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\nexport type DateFormat = {\n value: string;\n name: string;\n};\n\n@Component({\n selector: 'ngs-date-format-select',\n exportAs: 'ngsDateFormatSelect',\n imports: [\n Select,\n Option\n ],\n templateUrl: './date-format-select.html',\n styleUrl: './date-format-select.scss',\n providers: [{\n provide: FormFieldControl,\n useExisting: DateFormatSelect\n }],\n host: {\n '[id]': 'id',\n 'role': 'combobox',\n '[attr.required]': 'required || null',\n },\n})\nexport class DateFormatSelect implements FormFieldControl<string>, ControlValueAccessor, OnDestroy, OnInit {\n private static nextId = 0;\n\n readonly matSelect = viewChild.required(Select);\n\n readonly dateFormats = input<DateFormat[]>([\n { value: 'MM/dd/yyyy', name: 'MM/DD/YYYY' },\n { value: 'dd.MM.yyyy', name: 'DD.MM.YYYY' },\n { value: 'yyyy-MM-dd', name: 'YYYY-MM-DD' },\n ]);\n\n private readonly _value = signal<string | null>(null);\n private readonly _focused = signal(false);\n readonly _describedBy = signal('');\n\n readonly stateChanges = new Subject<void>();\n readonly id = `date-format-input-${DateFormatSelect.nextId++}`;\n readonly controlType = 'date-format-input';\n readonly autofilled = false;\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty(): boolean {\n return !this._value();\n }\n\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n get errorState(): boolean {\n return this.ngControl?.invalid === true && this.ngControl.touched === true;\n }\n\n get value(): string | null {\n return this._value();\n }\n set value(val: string | null) {\n this._value.set(val);\n this.stateChanges.next();\n }\n\n readonly ngControl = inject(NgControl, { self: true, optional: true });\n readonly placeholderInput = input<string>('', { alias: 'placeholder' });\n\n get placeholder(): string {\n return this.placeholderInput();\n }\n\n private readonly _destroy$ = new Subject<void>();\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n outputToObservable(this.matSelect().closed)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n });\n }\n\n private _required = false;\n\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean | string) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean | string) {\n this._disabled = coerceBooleanProperty(value);\n this.matSelect().setDisabledState(this._disabled);\n this.stateChanges.next();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n this.stateChanges.complete();\n }\n\n onFocus(): void {\n if (!this.focused) {\n this._focused.set(true);\n this.stateChanges.next();\n }\n }\n\n onBlur(): void {\n if (!this.matSelect().panelOpen()) {\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onSelectionChange(event: SelectChange): void {\n this.value = event.value;\n this.onChange(this.value);\n }\n\n setDescribedByIds(ids: string[]): void {\n this._describedBy.set(ids.join(' '));\n }\n\n onContainerClick(): void {\n if (!this.disabled) {\n this.matSelect().open();\n }\n }\n\n private onChange: (value: unknown) => void = () => {};\n private onTouched: () => void = () => {};\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus(): void {\n this.matSelect().focus();\n }\n}\n","<ngs-select\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\">\n @for (format of dateFormats(); track format.value) {\n <ngs-option [value]=\"format.value\">{{ format.name }}</ngs-option>\n }\n</ngs-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -312,7 +312,7 @@ class FilterBuilder {
312
312
  return result;
313
313
  }
314
314
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FilterBuilder, deps: [], target: i0.ɵɵFactoryTarget.Component });
315
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: FilterBuilder, isStandalone: true, selector: "ngs-filter-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, fieldDefs: { classPropertyName: "fieldDefs", publicName: "fieldDefs", isSignal: true, isRequired: false, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, groupOperations: { classPropertyName: "groupOperations", publicName: "groupOperations", isSignal: true, isRequired: false, transformFunction: null }, customOperations: { classPropertyName: "customOperations", publicName: "customOperations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChanged: "valueChanged" }, host: { classAttribute: "ngs-filter-builder" }, queries: [{ propertyName: "_customOperationDefs", predicate: FilterBuilderOperationDefDirective, isSignal: true }], viewQueries: [{ propertyName: "_prebuiltOperationDefs", predicate: FilterBuilderOperationDefDirective, descendants: true, isSignal: true }], exportAs: ["ngsFilterBuilder"], ngImport: i0, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" class=\"font-icon\"/>\n </div>\n <button [ngsMenuTriggerFor]=\"nestedGroupOperationsMenu\"\n #nestedGroupOperationsMenuTrigger=\"ngsMenuTrigger\"\n class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [ngsMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <ngs-icon name=\"fluent:add-24-regular\" class=\"font-icon\"/>\n </div>\n <ngs-menu #nestedGroupOperationsMenu=\"ngsMenu\">\n <div ngsMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <ngs-option [value]=\"groupOperation.id\"\n (click)=\"nestedGroupOperationsMenuTrigger.closeMenu('click')\">{{ groupOperation.name }}\n </ngs-option>\n }\n </div>\n </ngs-menu>\n <ngs-menu #addGroupMenu=\"ngsMenu\">\n <button ngs-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button ngs-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </ngs-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"/>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" class=\"font-icon\"/>\n </div>\n <button class=\"condition-field\"\n #fieldsMenuTrigger=\"ngsMenuTrigger\"\n [ngsMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}\n </button>\n <button class=\"condition-operation\"\n #operationsMenuTrigger=\"ngsMenuTrigger\"\n [ngsMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"/>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <ngs-form-field class=\"form-field\">\n <ngs-select placeholder=\"Select...\"\n ngsAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <ngs-option [value]=\"option.id\">{{ option.name }}</ngs-option>\n }\n </ngs-select>\n </ngs-form-field>\n }\n @case ('isAnyOf') {\n <ngs-form-field class=\"form-field\">\n <ngs-select placeholder=\"Select...\" multiple\n ngsAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"_tempMultipleValue\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <ngs-option [value]=\"option.id\">{{ option.name }}</ngs-option>\n }\n </ngs-select>\n </ngs-form-field>\n }\n }\n }\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n ngsFocusElement (elementBlurred)=\"cancelEdit()\">\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput ngsAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n </div>\n }\n @default {\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput ngsAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n }\n }\n }\n @default {\n <ngs-form-field class=\"form-field\">\n <input type=\"text\" ngsInput ngsAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <ngs-menu #fieldsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [ngModel]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <ngs-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef); fieldsMenuTrigger.closeMenu('click')\">{{ fieldDef.name }}\n </ngs-option>\n }\n </div>\n </ng-template>\n </ngs-menu>\n <ngs-menu #operationsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <ngs-option [value]=\"operation.id()\"\n (click)=\"operationChanged(item, operation.id()); operationsMenuTrigger.closeMenu('click')\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"/>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"/>\n </div>\n </div>\n </ngs-option>\n </div>\n }\n </div>\n </ng-template>\n </ngs-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [ngsMenuTriggerFor]=\"groupOperationsMenu\"\n #groupOperationsMenuTrigger=\"ngsMenuTrigger\"\n class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [ngsMenuTriggerFor]=\"addMenu\" class=\"add\">\n <ngs-icon name=\"fluent:add-24-regular\" class=\"font-icon\"/>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"/>\n</div>\n\n<ngs-menu #groupOperationsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (operation of groupOperations(); track operation.id) {\n <ngs-option [value]=\"operation.id\"\n (click)=\"groupOperationsMenuTrigger.closeMenu('click')\">{{ operation.name }}\n </ngs-option>\n }\n </div>\n </ng-template>\n</ngs-menu>\n<ngs-menu #addMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <button ngs-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button ngs-menu-item (click)=\"addGroup()\">Add Group</button>\n </ng-template>\n</ngs-menu>\n\n<ng-container ngsFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template ngsFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template ngsFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template ngsFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--ngs-filter-builder-group-operations-gap: calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-group-operation-font-size: var(--text-tiny);--ngs-filter-builder-group-operation-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-bg: var(--ngs-color-surface-container);--ngs-filter-builder-group-operation-font-weight: 400;--ngs-filter-builder-group-operation-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-group-operation-bpadding: 0 calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-group-operation-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-group-operation-hover-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-hover-bg: var(--ngs-color-surface-container-high);--ngs-filter-builder-group-operation-active-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-active-bg: var(--ngs-color-surface-container-highest);--ngs-filter-builder-group-operation-border: 1px solid var(--ngs-color-border);--ngs-filter-builder-group-add-color: var(--ngs-color-primary);--ngs-filter-builder-group-add-hover-color: var(--ngs-color-primary);--ngs-filter-builder-group-margin: 0;--ngs-filter-builder-group-padding: 0;--ngs-filter-builder-group-gap: calc(var(--spacing, .25rem) * 4);--ngs-filter-builder-condition-gap: calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-field-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-field-font-size: var(--text-tiny);--ngs-filter-builder-condition-field-color: var(--ngs-color-on-primary-container);--ngs-filter-builder-condition-field-bg: var(--ngs-color-primary-container);--ngs-filter-builder-condition-field-font-weight: 400;--ngs-filter-builder-condition-field-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-field-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-field-hover-color: var(--ngs-color-on-primary-container);--ngs-filter-builder-condition-field-hover-bg: var(--ngs-color-primary-400);--ngs-filter-builder-condition-field-active-color: var(--ngs-color-on-primary);--ngs-filter-builder-condition-field-active-bg: var(--ngs-color-primary);--ngs-filter-builder-condition-operation-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-operation-font-size: var(--text-tiny);--ngs-filter-builder-condition-operation-color: var(--ngs-color-on-secondary-container);--ngs-filter-builder-condition-operation-bg: var(--ngs-color-secondary-container);--ngs-filter-builder-condition-operation-font-weight: 400;--ngs-filter-builder-condition-operation-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-operation-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-operation-hover-color: var(--ngs-color-on-secondary-container);--ngs-filter-builder-condition-operation-hover-bg: var(--ngs-color-secondary-400);--ngs-filter-builder-condition-operation-active-color: var(--ngs-color-on-secondary);--ngs-filter-builder-condition-operation-active-bg: var(--ngs-color-secondary);--ngs-filter-builder-condition-value-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-value-font-size: var(--text-tiny);--ngs-filter-builder-condition-value-color: var(--ngs-color-on-surface);--ngs-filter-builder-condition-value-bg: var(--ngs-color-surface-container-high);--ngs-filter-builder-condition-value-font-weight: 400;--ngs-filter-builder-condition-value-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-value-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-value-hover-color: var(--ngs-color-on-surface);--ngs-filter-builder-condition-value-hover-bg: var(--ngs-color-surface-container-highest);--ngs-filter-builder-condition-remove-color: var(--ngs-color-danger);--ngs-filter-builder-condition-remove-hover-color: var(--ngs-color-danger);display:block}:host ::ng-deep .ngs-form-field-infix{--ngs-form-field-container-height: 46px !important;--ngs-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--ngs-filter-builder-group-operations-gap)}:host .group{margin:var(--ngs-filter-builder-group-margin);padding:var(--ngs-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--ngs-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing, .25rem) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-group-operation-height);font-size:var(--ngs-filter-builder-group-operation-font-size);font-weight:var(--ngs-filter-builder-group-operation-font-weight);color:var(--ngs-filter-builder-group-operation-color);background:var(--ngs-filter-builder-group-operation-bg);border:var(--ngs-filter-builder-group-operation-border);border-radius:var(--ngs-filter-builder-group-operation-border-radius);padding:var(--ngs-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--ngs-filter-builder-group-operation-hover-color);background:var(--ngs-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--ngs-filter-builder-group-operation-active-color);background:var(--ngs-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--ngs-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-field-height);font-size:var(--ngs-filter-builder-condition-field-font-size);font-weight:var(--ngs-filter-builder-condition-field-font-weight);color:var(--ngs-filter-builder-condition-field-color);background:var(--ngs-filter-builder-condition-field-bg);border-radius:var(--ngs-filter-builder-condition-field-border-radius);padding:var(--ngs-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--ngs-filter-builder-condition-field-hover-color);background:var(--ngs-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--ngs-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--ngs-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--ngs-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--ngs-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--ngs-filter-builder-condition-field-active-color);background:var(--ngs-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-operation-height);font-size:var(--ngs-filter-builder-condition-operation-font-size);font-weight:var(--ngs-filter-builder-condition-operation-font-weight);color:var(--ngs-filter-builder-condition-operation-color);background:var(--ngs-filter-builder-condition-operation-bg);border-radius:var(--ngs-filter-builder-condition-operation-border-radius);padding:var(--ngs-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--ngs-filter-builder-condition-operation-hover-color);background:var(--ngs-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--ngs-filter-builder-condition-operation-active-color);background:var(--ngs-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-value-height);font-size:var(--ngs-filter-builder-condition-value-font-size);font-weight:var(--ngs-filter-builder-condition-value-font-weight);color:var(--ngs-filter-builder-condition-value-color);background:var(--ngs-filter-builder-condition-value-bg);border-radius:var(--ngs-filter-builder-condition-value-border-radius);padding:var(--ngs-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--ngs-filter-builder-condition-value-hover-color);background:var(--ngs-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--ngs-filter-builder-group-operation-color: var(--ngs-color-neutral-200);--ngs-filter-builder-group-operation-hover-bg: var(--ngs-color-neutral-600);--ngs-filter-builder-group-operation-active-bg: var(--ngs-color-neutral-650);--ngs-filter-builder-group-operation-hover-color: var(--ngs-color-neutral-100);--ngs-filter-builder-group-operation-active-color: var(--ngs-color-neutral-50)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "directive", type: MenuTrigger, selector: "[ngsMenuTriggerFor]", inputs: ["ngsMenuTriggerFor", "ngsMenuTriggerData", "ngsMenuDisabled", "xPosition", "yPosition", "ngsMenuTriggerRestoreFocus"], outputs: ["menuOpened", "menuClosed"], exportAs: ["ngsMenuTrigger"] }, { kind: "component", type: Menu, selector: "ngs-menu", inputs: ["role", "classList", "xPosition", "yPosition"], outputs: ["closed"], exportAs: ["ngsMenu"] }, { kind: "directive", type: MenuContent, selector: "[ngsMenuContent]" }, { kind: "directive", type: MenuOptionGroupDirective, selector: "[ngsMenuOptionGroup]", inputs: ["multiple"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MenuItem, selector: "ngs-menu-item, [ngs-menu-item]", inputs: ["disabled", "role", "selected"], outputs: ["_triggered"], exportAs: ["ngsMenuItem"] }, { kind: "component", type: FormField, selector: "ngs-form-field", inputs: ["subscriptHiddenIfEmpty"], exportAs: ["ngsFormField"] }, { kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }, { kind: "directive", type: AutoFocusDirective, selector: "[ngsAutoFocus]", inputs: ["ngsAutoFocus"], exportAs: ["ngsAutoFocus"] }, { kind: "directive", type: FocusElementDirective, selector: "[ngsFocusElement]", inputs: ["checkChildren"], outputs: ["elementFocused", "elementBlurred"], exportAs: ["ngsFocusElement"] }, { kind: "directive", type: Input, selector: "input[ngsInput], textarea[ngsInput]", inputs: ["id", "placeholder", "required", "disabled", "readonly", "errorStateMatcher"], exportAs: ["ngsInput"] }, { kind: "directive", type: FilterBuilderOperationDefDirective, selector: "[ngsFilterBuilderOperationDef]", inputs: ["ngsFilterBuilderOperationDef", "allowedDataTypes"] }, { kind: "directive", type: FilterBuilderOperationNameDirective, selector: "[ngsFilterBuilderOperationName]" }] });
315
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: FilterBuilder, isStandalone: true, selector: "ngs-filter-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, fieldDefs: { classPropertyName: "fieldDefs", publicName: "fieldDefs", isSignal: true, isRequired: false, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, groupOperations: { classPropertyName: "groupOperations", publicName: "groupOperations", isSignal: true, isRequired: false, transformFunction: null }, customOperations: { classPropertyName: "customOperations", publicName: "customOperations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChanged: "valueChanged" }, host: { classAttribute: "ngs-filter-builder" }, queries: [{ propertyName: "_customOperationDefs", predicate: FilterBuilderOperationDefDirective, isSignal: true }], viewQueries: [{ propertyName: "_prebuiltOperationDefs", predicate: FilterBuilderOperationDefDirective, descendants: true, isSignal: true }], exportAs: ["ngsFilterBuilder"], ngImport: i0, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" class=\"font-icon\"/>\n </div>\n <button [ngsMenuTriggerFor]=\"nestedGroupOperationsMenu\"\n #nestedGroupOperationsMenuTrigger=\"ngsMenuTrigger\"\n class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [ngsMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <ngs-icon name=\"fluent:add-24-regular\" class=\"font-icon\"/>\n </div>\n <ngs-menu #nestedGroupOperationsMenu=\"ngsMenu\">\n <div ngsMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <ngs-option [value]=\"groupOperation.id\"\n (click)=\"nestedGroupOperationsMenuTrigger.closeMenu('click')\">{{ groupOperation.name }}\n </ngs-option>\n }\n </div>\n </ngs-menu>\n <ngs-menu #addGroupMenu=\"ngsMenu\">\n <button ngs-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button ngs-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </ngs-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"/>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" class=\"font-icon\"/>\n </div>\n <button class=\"condition-field\"\n #fieldsMenuTrigger=\"ngsMenuTrigger\"\n [ngsMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}\n </button>\n <button class=\"condition-operation\"\n #operationsMenuTrigger=\"ngsMenuTrigger\"\n [ngsMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"/>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <ngs-form-field class=\"form-field\">\n <ngs-select placeholder=\"Select...\"\n ngsAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <ngs-option [value]=\"option.id\">{{ option.name }}</ngs-option>\n }\n </ngs-select>\n </ngs-form-field>\n }\n @case ('isAnyOf') {\n <ngs-form-field class=\"form-field\">\n <ngs-select placeholder=\"Select...\" multiple\n ngsAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"_tempMultipleValue\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <ngs-option [value]=\"option.id\">{{ option.name }}</ngs-option>\n }\n </ngs-select>\n </ngs-form-field>\n }\n }\n }\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n ngsFocusElement (elementBlurred)=\"cancelEdit()\">\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput ngsAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n </div>\n }\n @default {\n <ngs-form-field class=\"form-field-number\">\n <input type=\"number\" ngsInput ngsAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n }\n }\n }\n @default {\n <ngs-form-field class=\"form-field\">\n <input type=\"text\" ngsInput ngsAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </ngs-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <ngs-menu #fieldsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [ngModel]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <ngs-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef); fieldsMenuTrigger.closeMenu('click')\">{{ fieldDef.name }}\n </ngs-option>\n }\n </div>\n </ng-template>\n </ngs-menu>\n <ngs-menu #operationsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <ngs-option [value]=\"operation.id()\"\n (click)=\"operationChanged(item, operation.id()); operationsMenuTrigger.closeMenu('click')\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"/>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"/>\n </div>\n </div>\n </ngs-option>\n </div>\n }\n </div>\n </ng-template>\n </ngs-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [ngsMenuTriggerFor]=\"groupOperationsMenu\"\n #groupOperationsMenuTrigger=\"ngsMenuTrigger\"\n class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [ngsMenuTriggerFor]=\"addMenu\" class=\"add\">\n <ngs-icon name=\"fluent:add-24-regular\" class=\"font-icon\"/>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"/>\n</div>\n\n<ngs-menu #groupOperationsMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <div ngsMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (operation of groupOperations(); track operation.id) {\n <ngs-option [value]=\"operation.id\"\n (click)=\"groupOperationsMenuTrigger.closeMenu('click')\">{{ operation.name }}\n </ngs-option>\n }\n </div>\n </ng-template>\n</ngs-menu>\n<ngs-menu #addMenu=\"ngsMenu\">\n <ng-template ngsMenuContent>\n <button ngs-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button ngs-menu-item (click)=\"addGroup()\">Add Group</button>\n </ng-template>\n</ngs-menu>\n\n<ng-container ngsFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template ngsFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template ngsFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template ngsFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template ngsFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container ngsFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template ngsFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--ngs-filter-builder-group-operations-gap: calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-group-operation-font-size: var(--text-tiny);--ngs-filter-builder-group-operation-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-bg: var(--ngs-color-surface-container);--ngs-filter-builder-group-operation-font-weight: 400;--ngs-filter-builder-group-operation-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-group-operation-bpadding: 0 calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-group-operation-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-group-operation-hover-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-hover-bg: var(--ngs-color-surface-container-high);--ngs-filter-builder-group-operation-active-color: var(--ngs-color-on-surface);--ngs-filter-builder-group-operation-active-bg: var(--ngs-color-surface-container-highest);--ngs-filter-builder-group-operation-border: 1px solid var(--ngs-color-border);--ngs-filter-builder-group-add-color: var(--ngs-color-primary);--ngs-filter-builder-group-add-hover-color: var(--ngs-color-primary);--ngs-filter-builder-group-margin: 0;--ngs-filter-builder-group-padding: 0;--ngs-filter-builder-group-gap: calc(var(--spacing, .25rem) * 4);--ngs-filter-builder-condition-gap: calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-field-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-field-font-size: var(--text-tiny);--ngs-filter-builder-condition-field-color: var(--ngs-color-on-primary-container);--ngs-filter-builder-condition-field-bg: var(--ngs-color-primary-container);--ngs-filter-builder-condition-field-font-weight: 400;--ngs-filter-builder-condition-field-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-field-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-field-hover-color: var(--ngs-color-on-primary-container);--ngs-filter-builder-condition-field-hover-bg: var(--ngs-color-primary-400);--ngs-filter-builder-condition-field-active-color: var(--ngs-color-on-primary);--ngs-filter-builder-condition-field-active-bg: var(--ngs-color-primary);--ngs-filter-builder-condition-operation-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-operation-font-size: var(--text-tiny);--ngs-filter-builder-condition-operation-color: var(--ngs-color-on-secondary-container);--ngs-filter-builder-condition-operation-bg: var(--ngs-color-secondary-container);--ngs-filter-builder-condition-operation-font-weight: 400;--ngs-filter-builder-condition-operation-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-operation-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-operation-hover-color: var(--ngs-color-on-secondary-container);--ngs-filter-builder-condition-operation-hover-bg: var(--ngs-color-secondary-400);--ngs-filter-builder-condition-operation-active-color: var(--ngs-color-on-secondary);--ngs-filter-builder-condition-operation-active-bg: var(--ngs-color-secondary);--ngs-filter-builder-condition-value-height: calc(var(--spacing, .25rem) * 7);--ngs-filter-builder-condition-value-font-size: var(--text-tiny);--ngs-filter-builder-condition-value-color: var(--ngs-color-on-surface);--ngs-filter-builder-condition-value-bg: var(--ngs-color-surface-container-high);--ngs-filter-builder-condition-value-font-weight: 400;--ngs-filter-builder-condition-value-border-radius: var(--ngs-radius-lg);--ngs-filter-builder-condition-value-bpadding: calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 2);--ngs-filter-builder-condition-value-hover-color: var(--ngs-color-on-surface);--ngs-filter-builder-condition-value-hover-bg: var(--ngs-color-surface-container-highest);--ngs-filter-builder-condition-remove-color: var(--ngs-color-danger);--ngs-filter-builder-condition-remove-hover-color: var(--ngs-color-danger);display:block}:host ::ng-deep .ngs-form-field-infix{--ngs-form-field-container-height: 46px !important;--ngs-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--ngs-filter-builder-group-operations-gap)}:host .group{margin:var(--ngs-filter-builder-group-margin);padding:var(--ngs-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--ngs-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing, .25rem) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-group-operation-height);font-size:var(--ngs-filter-builder-group-operation-font-size);font-weight:var(--ngs-filter-builder-group-operation-font-weight);color:var(--ngs-filter-builder-group-operation-color);background:var(--ngs-filter-builder-group-operation-bg);border:var(--ngs-filter-builder-group-operation-border);border-radius:var(--ngs-filter-builder-group-operation-border-radius);padding:var(--ngs-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--ngs-filter-builder-group-operation-hover-color);background:var(--ngs-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--ngs-filter-builder-group-operation-active-color);background:var(--ngs-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--ngs-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-field-height);font-size:var(--ngs-filter-builder-condition-field-font-size);font-weight:var(--ngs-filter-builder-condition-field-font-weight);color:var(--ngs-filter-builder-condition-field-color);background:var(--ngs-filter-builder-condition-field-bg);border-radius:var(--ngs-filter-builder-condition-field-border-radius);padding:var(--ngs-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--ngs-filter-builder-condition-field-hover-color);background:var(--ngs-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--ngs-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--ngs-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--ngs-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--ngs-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--ngs-filter-builder-condition-field-active-color);background:var(--ngs-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-operation-height);font-size:var(--ngs-filter-builder-condition-operation-font-size);font-weight:var(--ngs-filter-builder-condition-operation-font-weight);color:var(--ngs-filter-builder-condition-operation-color);background:var(--ngs-filter-builder-condition-operation-bg);border-radius:var(--ngs-filter-builder-condition-operation-border-radius);padding:var(--ngs-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--ngs-filter-builder-condition-operation-hover-color);background:var(--ngs-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--ngs-filter-builder-condition-operation-active-color);background:var(--ngs-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--ngs-filter-builder-condition-value-height);font-size:var(--ngs-filter-builder-condition-value-font-size);font-weight:var(--ngs-filter-builder-condition-value-font-weight);color:var(--ngs-filter-builder-condition-value-color);background:var(--ngs-filter-builder-condition-value-bg);border-radius:var(--ngs-filter-builder-condition-value-border-radius);padding:var(--ngs-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--ngs-filter-builder-condition-value-hover-color);background:var(--ngs-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--ngs-filter-builder-group-operation-color: var(--ngs-color-neutral-200);--ngs-filter-builder-group-operation-hover-bg: var(--ngs-color-neutral-600);--ngs-filter-builder-group-operation-active-bg: var(--ngs-color-neutral-650);--ngs-filter-builder-group-operation-hover-color: var(--ngs-color-neutral-100);--ngs-filter-builder-group-operation-active-color: var(--ngs-color-neutral-50)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "directive", type: MenuTrigger, selector: "[ngsMenuTriggerFor]", inputs: ["ngsMenuTriggerFor", "ngsMenuTriggerData", "ngsMenuDisabled", "xPosition", "yPosition", "ngsMenuTriggerRestoreFocus"], outputs: ["menuOpened", "menuClosed"], exportAs: ["ngsMenuTrigger"] }, { kind: "component", type: Menu, selector: "ngs-menu", inputs: ["role", "classList", "xPosition", "yPosition"], outputs: ["closed"], exportAs: ["ngsMenu"] }, { kind: "directive", type: MenuContent, selector: "[ngsMenuContent]" }, { kind: "directive", type: MenuOptionGroupDirective, selector: "[ngsMenuOptionGroup]", inputs: ["multiple"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MenuItem, selector: "ngs-menu-item, [ngs-menu-item]", inputs: ["disabled", "role", "selected"], outputs: ["_triggered"], exportAs: ["ngsMenuItem"] }, { kind: "component", type: FormField, selector: "ngs-form-field", inputs: ["subscriptHiddenIfEmpty", "sameHeightAsButton"], exportAs: ["ngsFormField"] }, { kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "clearable", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }, { kind: "directive", type: AutoFocusDirective, selector: "[ngsAutoFocus]", inputs: ["ngsAutoFocus"], exportAs: ["ngsAutoFocus"] }, { kind: "directive", type: FocusElementDirective, selector: "[ngsFocusElement]", inputs: ["checkChildren"], outputs: ["elementFocused", "elementBlurred"], exportAs: ["ngsFocusElement"] }, { kind: "directive", type: Input, selector: "input[ngsInput], textarea[ngsInput]", inputs: ["id", "placeholder", "required", "disabled", "readonly", "errorStateMatcher"], exportAs: ["ngsInput"] }, { kind: "directive", type: FilterBuilderOperationDefDirective, selector: "[ngsFilterBuilderOperationDef]", inputs: ["ngsFilterBuilderOperationDef", "allowedDataTypes"] }, { kind: "directive", type: FilterBuilderOperationNameDirective, selector: "[ngsFilterBuilderOperationName]" }] });
316
316
  }
317
317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FilterBuilder, decorators: [{
318
318
  type: Component,