master-control 0.2.5 → 0.2.7

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 (326) hide show
  1. package/ng-package.json +7 -0
  2. package/package.json +12 -25
  3. package/src/lib/add-document/add-document.component.css +50 -0
  4. package/src/lib/add-document/add-document.component.html +31 -0
  5. package/src/lib/add-document/add-document.component.ts +17 -0
  6. package/src/lib/addition-button/addition-button.component.css +16 -0
  7. package/src/lib/addition-button/addition-button.component.html +20 -0
  8. package/src/lib/addition-button/addition-button.component.ts +13 -0
  9. package/src/lib/age-date/age-date.component.css +126 -0
  10. package/src/lib/age-date/age-date.component.html +82 -0
  11. package/src/lib/age-date/age-date.component.ts +104 -0
  12. package/src/lib/amount-textbox/amount-textbox.component.css +131 -0
  13. package/src/lib/amount-textbox/amount-textbox.component.html +69 -0
  14. package/src/lib/amount-textbox/amount-textbox.component.ts +53 -0
  15. package/src/lib/annuity-rate-logo/annuity-rate-logo.component.css +9 -0
  16. package/src/lib/annuity-rate-logo/annuity-rate-logo.component.html +6 -0
  17. package/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts +13 -0
  18. package/src/lib/autocomplete/autocomplete.component.css +240 -0
  19. package/src/lib/autocomplete/autocomplete.component.html +61 -0
  20. package/src/lib/autocomplete/autocomplete.component.ts +85 -0
  21. package/src/lib/benefit-card/benefit-card.component.css +46 -0
  22. package/src/lib/benefit-card/benefit-card.component.html +25 -0
  23. package/src/lib/benefit-card/benefit-card.component.ts +13 -0
  24. package/src/lib/button/button.component.css +24 -0
  25. package/src/lib/button/button.component.html +22 -0
  26. package/src/lib/button/button.component.ts +16 -0
  27. package/src/lib/card/card.component.css +37 -0
  28. package/src/lib/card/card.component.html +24 -0
  29. package/src/lib/card/card.component.ts +13 -0
  30. package/src/lib/checkbox/checkbox.component.css +65 -0
  31. package/src/lib/checkbox/checkbox.component.html +23 -0
  32. package/src/lib/checkbox/checkbox.component.ts +70 -0
  33. package/src/lib/discount/discount.component.css +45 -0
  34. package/src/lib/discount/discount.component.html +51 -0
  35. package/src/lib/discount/discount.component.ts +14 -0
  36. package/src/lib/discount-v2/discount-v2.component.css +34 -0
  37. package/src/lib/discount-v2/discount-v2.component.html +20 -0
  38. package/src/lib/discount-v2/discount-v2.component.ts +14 -0
  39. package/src/lib/dob/dob.component.css +117 -0
  40. package/src/lib/dob/dob.component.html +88 -0
  41. package/src/lib/dob/dob.component.ts +107 -0
  42. package/src/lib/download-document/download-document.component.css +53 -0
  43. package/src/lib/download-document/download-document.component.html +38 -0
  44. package/src/lib/download-document/download-document.component.ts +17 -0
  45. package/src/lib/email-with-domain/email-with-domain.component.css +130 -0
  46. package/src/lib/email-with-domain/email-with-domain.component.html +73 -0
  47. package/src/lib/email-with-domain/email-with-domain.component.ts +51 -0
  48. package/src/lib/error-snackbar/error-snackbar.component.css +36 -0
  49. package/src/lib/error-snackbar/error-snackbar.component.html +21 -0
  50. package/src/lib/error-snackbar/error-snackbar.component.ts +19 -0
  51. package/src/lib/grey-label/grey-label.component.css +13 -0
  52. package/src/lib/grey-label/grey-label.component.html +7 -0
  53. package/src/lib/grey-label/grey-label.component.ts +13 -0
  54. package/src/lib/header/header.component.css +13 -0
  55. package/src/lib/header/header.component.html +9 -0
  56. package/src/lib/header/header.component.ts +14 -0
  57. package/src/lib/hr-line/hr-line.component.css +13 -0
  58. package/src/lib/hr-line/hr-line.component.html +7 -0
  59. package/src/lib/hr-line/hr-line.component.ts +13 -0
  60. package/src/lib/hyperlink/hyperlink.component.css +18 -0
  61. package/src/lib/hyperlink/hyperlink.component.html +8 -0
  62. package/src/lib/hyperlink/hyperlink.component.ts +13 -0
  63. package/src/lib/icon-button/icon-button.component.css +20 -0
  64. package/src/lib/icon-button/icon-button.component.html +17 -0
  65. package/src/lib/icon-button/icon-button.component.ts +13 -0
  66. package/src/lib/iframe/iframe.component.css +0 -0
  67. package/src/lib/iframe/iframe.component.html +7 -0
  68. package/src/lib/iframe/iframe.component.ts +32 -0
  69. package/src/lib/image/image.component.css +7 -0
  70. package/src/lib/image/image.component.html +3 -0
  71. package/src/lib/image/image.component.ts +13 -0
  72. package/src/lib/image-upload/image-upload.component.css +67 -0
  73. package/src/lib/image-upload/image-upload.component.html +61 -0
  74. package/src/lib/image-upload/image-upload.component.ts +17 -0
  75. package/src/lib/in-built-benefit/in-built-benefit.component.css +58 -0
  76. package/src/lib/in-built-benefit/in-built-benefit.component.html +30 -0
  77. package/src/lib/in-built-benefit/in-built-benefit.component.ts +16 -0
  78. package/src/lib/info/info.component.css +25 -0
  79. package/src/lib/info/info.component.html +21 -0
  80. package/src/lib/info/info.component.ts +15 -0
  81. package/src/lib/info-textbox/info-textbox.component.css +121 -0
  82. package/src/lib/info-textbox/info-textbox.component.html +83 -0
  83. package/src/lib/info-textbox/info-textbox.component.ts +52 -0
  84. package/src/lib/label/label.component.css +13 -0
  85. package/src/lib/label/label.component.html +7 -0
  86. package/src/lib/label/label.component.ts +14 -0
  87. package/src/lib/label-value-card/label-value-card.component.css +34 -0
  88. package/src/lib/label-value-card/label-value-card.component.html +12 -0
  89. package/src/lib/label-value-card/label-value-card.component.ts +15 -0
  90. package/src/lib/loader/loader.component.css +127 -0
  91. package/src/lib/loader/loader.component.html +37 -0
  92. package/src/lib/loader/loader.component.spec.ts +23 -0
  93. package/src/lib/loader/loader.component.ts +13 -0
  94. package/src/lib/master-control.component.css +0 -0
  95. package/src/lib/master-control.component.html +216 -0
  96. package/src/lib/master-control.component.spec.ts +23 -0
  97. package/src/lib/master-control.component.ts +143 -0
  98. package/src/lib/master-control.service.spec.ts +16 -0
  99. package/src/lib/master-control.service.ts +214 -0
  100. package/src/lib/medial-questions/medial-questions.component.css +52 -0
  101. package/src/lib/medial-questions/medial-questions.component.html +250 -0
  102. package/src/lib/medial-questions/medial-questions.component.ts +689 -0
  103. package/src/lib/medial-questions/questions.json +39682 -0
  104. package/src/lib/mob-number/mob-number.component.css +141 -0
  105. package/src/lib/mob-number/mob-number.component.html +82 -0
  106. package/src/lib/mob-number/mob-number.component.ts +53 -0
  107. package/src/lib/multiple-select/multiple-select.component.css +331 -0
  108. package/src/lib/multiple-select/multiple-select.component.html +100 -0
  109. package/src/lib/multiple-select/multiple-select.component.ts +115 -0
  110. package/src/lib/neutral-snackbar/neutral-snackbar.component.css +31 -0
  111. package/src/lib/neutral-snackbar/neutral-snackbar.component.html +21 -0
  112. package/src/lib/neutral-snackbar/neutral-snackbar.component.ts +19 -0
  113. package/src/lib/other-benefits/other-benefits.component.css +78 -0
  114. package/src/lib/other-benefits/other-benefits.component.html +21 -0
  115. package/src/lib/other-benefits/other-benefits.component.ts +13 -0
  116. package/src/lib/otp-mob-number/otp-mob-number.component.css +171 -0
  117. package/src/lib/otp-mob-number/otp-mob-number.component.html +101 -0
  118. package/src/lib/otp-mob-number/otp-mob-number.component.ts +54 -0
  119. package/src/lib/otp-textbox/otp-textbox.component.css +168 -0
  120. package/src/lib/otp-textbox/otp-textbox.component.html +84 -0
  121. package/src/lib/otp-textbox/otp-textbox.component.ts +57 -0
  122. package/src/lib/page-nudge/page-nudge.component.css +35 -0
  123. package/src/lib/page-nudge/page-nudge.component.html +13 -0
  124. package/src/lib/page-nudge/page-nudge.component.ts +13 -0
  125. package/src/lib/pay-get-card/pay-get-card.component.css +36 -0
  126. package/src/lib/pay-get-card/pay-get-card.component.html +20 -0
  127. package/src/lib/pay-get-card/pay-get-card.component.ts +18 -0
  128. package/src/lib/radio/radio.component.css +57 -0
  129. package/src/lib/radio/radio.component.html +37 -0
  130. package/src/lib/radio/radio.component.ts +55 -0
  131. package/src/lib/search-multi-select/search-multi-select.component.css +325 -0
  132. package/src/lib/search-multi-select/search-multi-select.component.html +125 -0
  133. package/src/lib/search-multi-select/search-multi-select.component.ts +164 -0
  134. package/src/lib/select/select.component.css +246 -0
  135. package/src/lib/select/select.component.html +72 -0
  136. package/src/lib/select/select.component.ts +95 -0
  137. package/src/lib/select-textbox/select-textbox.component.css +262 -0
  138. package/src/lib/select-textbox/select-textbox.component.html +77 -0
  139. package/src/lib/select-textbox/select-textbox.component.ts +72 -0
  140. package/src/lib/stepper/stepper.component.css +25 -0
  141. package/src/lib/stepper/stepper.component.html +16 -0
  142. package/src/lib/stepper/stepper.component.ts +20 -0
  143. package/src/lib/sub-header/sub-header.component.css +13 -0
  144. package/src/lib/sub-header/sub-header.component.html +9 -0
  145. package/src/lib/sub-header/sub-header.component.ts +13 -0
  146. package/src/lib/subscript-textbox/subscript-textbox.component.css +139 -0
  147. package/src/lib/subscript-textbox/subscript-textbox.component.html +85 -0
  148. package/src/lib/subscript-textbox/subscript-textbox.component.ts +53 -0
  149. package/src/lib/success-snackbar/success-snackbar.component.css +32 -0
  150. package/src/lib/success-snackbar/success-snackbar.component.html +21 -0
  151. package/src/lib/success-snackbar/success-snackbar.component.ts +19 -0
  152. package/src/lib/suffix-textbox/suffix-textbox.component.css +157 -0
  153. package/src/lib/suffix-textbox/suffix-textbox.component.html +84 -0
  154. package/src/lib/suffix-textbox/suffix-textbox.component.ts +54 -0
  155. package/src/lib/tab/tab.component.css +19 -0
  156. package/src/lib/tab/tab.component.html +17 -0
  157. package/src/lib/tab/tab.component.ts +27 -0
  158. package/src/lib/table/table.component.css +121 -0
  159. package/src/lib/table/table.component.html +41 -0
  160. package/src/lib/table/table.component.spec.ts +23 -0
  161. package/src/lib/table/table.component.ts +84 -0
  162. package/src/lib/tag-mob-number/tag-mob-number.component.css +167 -0
  163. package/src/lib/tag-mob-number/tag-mob-number.component.html +95 -0
  164. package/src/lib/tag-mob-number/tag-mob-number.component.ts +55 -0
  165. package/src/lib/textarea/textarea.component.css +34 -0
  166. package/src/lib/textarea/textarea.component.html +23 -0
  167. package/src/lib/textarea/textarea.component.ts +16 -0
  168. package/src/lib/textbox/textbox.component.css +118 -0
  169. package/src/lib/textbox/textbox.component.html +80 -0
  170. package/src/lib/textbox/textbox.component.ts +55 -0
  171. package/src/lib/textbox-with-image/textbox-with-image.component.css +118 -0
  172. package/src/lib/textbox-with-image/textbox-with-image.component.html +82 -0
  173. package/src/lib/textbox-with-image/textbox-with-image.component.ts +47 -0
  174. package/src/lib/textbox-with-text/textbox-with-text.component.css +124 -0
  175. package/src/lib/textbox-with-text/textbox-with-text.component.html +84 -0
  176. package/src/lib/textbox-with-text/textbox-with-text.component.ts +53 -0
  177. package/src/lib/textbox-with-underscore/textbox-with-underscore.component.css +121 -0
  178. package/src/lib/textbox-with-underscore/textbox-with-underscore.component.html +79 -0
  179. package/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts +62 -0
  180. package/src/lib/toggle/toggle.component.css +101 -0
  181. package/src/lib/toggle/toggle.component.html +39 -0
  182. package/src/lib/toggle/toggle.component.ts +16 -0
  183. package/src/lib/toggle-button/toggle-button.component.css +87 -0
  184. package/src/lib/toggle-button/toggle-button.component.html +34 -0
  185. package/src/lib/toggle-button/toggle-button.component.ts +14 -0
  186. package/src/lib/underscore-mob-number/underscore-mob-number.component.css +147 -0
  187. package/src/lib/underscore-mob-number/underscore-mob-number.component.html +87 -0
  188. package/src/lib/underscore-mob-number/underscore-mob-number.component.ts +65 -0
  189. package/src/lib/upload/upload.component.css +81 -0
  190. package/src/lib/upload/upload.component.html +62 -0
  191. package/src/lib/upload/upload.component.ts +20 -0
  192. package/src/lib/warning-snackbar/warning-snackbar.component.css +29 -0
  193. package/src/lib/warning-snackbar/warning-snackbar.component.html +21 -0
  194. package/src/lib/warning-snackbar/warning-snackbar.component.ts +19 -0
  195. package/{public-api.d.ts → src/public-api.ts} +60 -55
  196. package/tsconfig.lib.json +15 -0
  197. package/tsconfig.lib.prod.json +11 -0
  198. package/tsconfig.spec.json +15 -0
  199. package/esm2022/lib/add-document/add-document.component.mjs +0 -18
  200. package/esm2022/lib/addition-button/addition-button.component.mjs +0 -14
  201. package/esm2022/lib/age-date/age-date.component.mjs +0 -132
  202. package/esm2022/lib/amount-textbox/amount-textbox.component.mjs +0 -63
  203. package/esm2022/lib/annuity-rate-logo/annuity-rate-logo.component.mjs +0 -15
  204. package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -90
  205. package/esm2022/lib/benefit-card/benefit-card.component.mjs +0 -14
  206. package/esm2022/lib/button/button.component.mjs +0 -19
  207. package/esm2022/lib/card/card.component.mjs +0 -14
  208. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -79
  209. package/esm2022/lib/discount/discount.component.mjs +0 -14
  210. package/esm2022/lib/discount-v2/discount-v2.component.mjs +0 -16
  211. package/esm2022/lib/dob/dob.component.mjs +0 -118
  212. package/esm2022/lib/download-document/download-document.component.mjs +0 -18
  213. package/esm2022/lib/email-with-domain/email-with-domain.component.mjs +0 -60
  214. package/esm2022/lib/error-snackbar/error-snackbar.component.mjs +0 -21
  215. package/esm2022/lib/grey-label/grey-label.component.mjs +0 -14
  216. package/esm2022/lib/header/header.component.mjs +0 -14
  217. package/esm2022/lib/hr-line/hr-line.component.mjs +0 -14
  218. package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -14
  219. package/esm2022/lib/icon-button/icon-button.component.mjs +0 -14
  220. package/esm2022/lib/iframe/iframe.component.mjs +0 -32
  221. package/esm2022/lib/image/image.component.mjs +0 -14
  222. package/esm2022/lib/image-upload/image-upload.component.mjs +0 -18
  223. package/esm2022/lib/in-built-benefit/in-built-benefit.component.mjs +0 -20
  224. package/esm2022/lib/info/info.component.mjs +0 -19
  225. package/esm2022/lib/info-textbox/info-textbox.component.mjs +0 -62
  226. package/esm2022/lib/label/label.component.mjs +0 -14
  227. package/esm2022/lib/label-value-card/label-value-card.component.mjs +0 -15
  228. package/esm2022/lib/loader/loader.component.mjs +0 -14
  229. package/esm2022/lib/master-control.component.mjs +0 -138
  230. package/esm2022/lib/master-control.service.mjs +0 -193
  231. package/esm2022/lib/mob-number/mob-number.component.mjs +0 -65
  232. package/esm2022/lib/multiple-select/multiple-select.component.mjs +0 -118
  233. package/esm2022/lib/neutral-snackbar/neutral-snackbar.component.mjs +0 -21
  234. package/esm2022/lib/other-benefits/other-benefits.component.mjs +0 -14
  235. package/esm2022/lib/otp-mob-number/otp-mob-number.component.mjs +0 -63
  236. package/esm2022/lib/otp-textbox/otp-textbox.component.mjs +0 -68
  237. package/esm2022/lib/pay-get-card/pay-get-card.component.mjs +0 -29
  238. package/esm2022/lib/radio/radio.component.mjs +0 -58
  239. package/esm2022/lib/search-multi-select/search-multi-select.component.mjs +0 -127
  240. package/esm2022/lib/select/select.component.mjs +0 -99
  241. package/esm2022/lib/select-textbox/select-textbox.component.mjs +0 -83
  242. package/esm2022/lib/stepper/stepper.component.mjs +0 -16
  243. package/esm2022/lib/sub-header/sub-header.component.mjs +0 -14
  244. package/esm2022/lib/subscript-textbox/subscript-textbox.component.mjs +0 -62
  245. package/esm2022/lib/success-snackbar/success-snackbar.component.mjs +0 -21
  246. package/esm2022/lib/suffix-textbox/suffix-textbox.component.mjs +0 -65
  247. package/esm2022/lib/tab/tab.component.mjs +0 -32
  248. package/esm2022/lib/table/table.component.mjs +0 -82
  249. package/esm2022/lib/tag-mob-number/tag-mob-number.component.mjs +0 -66
  250. package/esm2022/lib/textarea/textarea.component.mjs +0 -20
  251. package/esm2022/lib/textbox/textbox.component.mjs +0 -67
  252. package/esm2022/lib/textbox-with-image/textbox-with-image.component.mjs +0 -57
  253. package/esm2022/lib/textbox-with-text/textbox-with-text.component.mjs +0 -58
  254. package/esm2022/lib/textbox-with-underscore/textbox-with-underscore.component.mjs +0 -71
  255. package/esm2022/lib/toggle/toggle.component.mjs +0 -20
  256. package/esm2022/lib/toggle-button/toggle-button.component.mjs +0 -16
  257. package/esm2022/lib/underscore-mob-number/underscore-mob-number.component.mjs +0 -74
  258. package/esm2022/lib/upload/upload.component.mjs +0 -24
  259. package/esm2022/lib/warning-snackbar/warning-snackbar.component.mjs +0 -21
  260. package/esm2022/master-control.mjs +0 -5
  261. package/esm2022/public-api.mjs +0 -59
  262. package/fesm2022/master-control.mjs +0 -2380
  263. package/fesm2022/master-control.mjs.map +0 -1
  264. package/index.d.ts +0 -5
  265. package/lib/add-document/add-document.component.d.ts +0 -6
  266. package/lib/addition-button/addition-button.component.d.ts +0 -6
  267. package/lib/age-date/age-date.component.d.ts +0 -20
  268. package/lib/amount-textbox/amount-textbox.component.d.ts +0 -17
  269. package/lib/annuity-rate-logo/annuity-rate-logo.component.d.ts +0 -7
  270. package/lib/autocomplete/autocomplete.component.d.ts +0 -25
  271. package/lib/benefit-card/benefit-card.component.d.ts +0 -6
  272. package/lib/button/button.component.d.ts +0 -9
  273. package/lib/card/card.component.d.ts +0 -6
  274. package/lib/checkbox/checkbox.component.d.ts +0 -20
  275. package/lib/discount/discount.component.d.ts +0 -6
  276. package/lib/discount-v2/discount-v2.component.d.ts +0 -6
  277. package/lib/dob/dob.component.d.ts +0 -32
  278. package/lib/download-document/download-document.component.d.ts +0 -6
  279. package/lib/email-with-domain/email-with-domain.component.d.ts +0 -19
  280. package/lib/error-snackbar/error-snackbar.component.d.ts +0 -10
  281. package/lib/grey-label/grey-label.component.d.ts +0 -6
  282. package/lib/header/header.component.d.ts +0 -6
  283. package/lib/hr-line/hr-line.component.d.ts +0 -6
  284. package/lib/hyperlink/hyperlink.component.d.ts +0 -6
  285. package/lib/icon-button/icon-button.component.d.ts +0 -6
  286. package/lib/iframe/iframe.component.d.ts +0 -13
  287. package/lib/image/image.component.d.ts +0 -6
  288. package/lib/image-upload/image-upload.component.d.ts +0 -6
  289. package/lib/in-built-benefit/in-built-benefit.component.d.ts +0 -8
  290. package/lib/info/info.component.d.ts +0 -9
  291. package/lib/info-textbox/info-textbox.component.d.ts +0 -16
  292. package/lib/label/label.component.d.ts +0 -6
  293. package/lib/label-value-card/label-value-card.component.d.ts +0 -7
  294. package/lib/loader/loader.component.d.ts +0 -6
  295. package/lib/master-control.component.d.ts +0 -9
  296. package/lib/master-control.service.d.ts +0 -11
  297. package/lib/mob-number/mob-number.component.d.ts +0 -21
  298. package/lib/multiple-select/multiple-select.component.d.ts +0 -26
  299. package/lib/neutral-snackbar/neutral-snackbar.component.d.ts +0 -10
  300. package/lib/other-benefits/other-benefits.component.d.ts +0 -6
  301. package/lib/otp-mob-number/otp-mob-number.component.d.ts +0 -17
  302. package/lib/otp-textbox/otp-textbox.component.d.ts +0 -17
  303. package/lib/pay-get-card/pay-get-card.component.d.ts +0 -11
  304. package/lib/radio/radio.component.d.ts +0 -18
  305. package/lib/search-multi-select/search-multi-select.component.d.ts +0 -27
  306. package/lib/select/select.component.d.ts +0 -22
  307. package/lib/select-textbox/select-textbox.component.d.ts +0 -17
  308. package/lib/stepper/stepper.component.d.ts +0 -6
  309. package/lib/sub-header/sub-header.component.d.ts +0 -6
  310. package/lib/subscript-textbox/subscript-textbox.component.d.ts +0 -16
  311. package/lib/success-snackbar/success-snackbar.component.d.ts +0 -10
  312. package/lib/suffix-textbox/suffix-textbox.component.d.ts +0 -16
  313. package/lib/tab/tab.component.d.ts +0 -14
  314. package/lib/table/table.component.d.ts +0 -23
  315. package/lib/tag-mob-number/tag-mob-number.component.d.ts +0 -17
  316. package/lib/textarea/textarea.component.d.ts +0 -9
  317. package/lib/textbox/textbox.component.d.ts +0 -20
  318. package/lib/textbox-with-image/textbox-with-image.component.d.ts +0 -16
  319. package/lib/textbox-with-text/textbox-with-text.component.d.ts +0 -16
  320. package/lib/textbox-with-underscore/textbox-with-underscore.component.d.ts +0 -18
  321. package/lib/toggle/toggle.component.d.ts +0 -9
  322. package/lib/toggle-button/toggle-button.component.d.ts +0 -6
  323. package/lib/underscore-mob-number/underscore-mob-number.component.d.ts +0 -19
  324. package/lib/upload/upload.component.d.ts +0 -9
  325. package/lib/warning-snackbar/warning-snackbar.component.d.ts +0 -10
  326. package/master-control-0.2.5.tgz +0 -0
@@ -1,58 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, input } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
- import { MatRadioModule } from '@angular/material/radio';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../master-control.service";
7
- import * as i2 from "@angular/material/radio";
8
- import * as i3 from "@angular/common";
9
- export class RadioComponent {
10
- masterService;
11
- constructor(masterService) {
12
- this.masterService = masterService;
13
- }
14
- field = input.required();
15
- inputValue = null;
16
- onChange = () => { };
17
- onTouched = () => { };
18
- ngOnInit() {
19
- // Initialize inputValue with a default or initial value if needed
20
- }
21
- writeValue(value) {
22
- this.inputValue = value;
23
- }
24
- registerOnChange(fn) {
25
- this.onChange = fn;
26
- }
27
- registerOnTouched(fn) {
28
- this.onTouched = fn;
29
- }
30
- onValueChange(newValue) {
31
- this.inputValue = newValue;
32
- this.onChange(newValue);
33
- this.onTouched();
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: RadioComponent, isStandalone: true, selector: "lib-radio", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
37
- {
38
- provide: NG_VALUE_ACCESSOR,
39
- useExisting: RadioComponent,
40
- multi: true
41
- }
42
- ], ngImport: i0, template: "<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n }\"> {{field()?.label}} <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span> </label>\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable}\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': field()?.value === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': field()?.value === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': field()?.value === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': field()?.value === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n (click)=\"onValueChange(data.value)\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.patternMessage}}.\r\n</div>\r\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}.radio-btn-group{display:flex;gap:6px;height:32px}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;border-radius:var(--radio-button-border-radius, 6px)}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;border:1px solid var(--Colors-Greys-Border-Grey, rgba(221, 221, 221, 1));pointer-events:none;cursor:none}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'lib-radio', standalone: true, imports: [
47
- MatRadioModule,
48
- CommonModule,
49
- ReactiveFormsModule
50
- ], providers: [
51
- {
52
- provide: NG_VALUE_ACCESSOR,
53
- useExisting: RadioComponent,
54
- multi: true
55
- }
56
- ], template: "<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n }\"> {{field()?.label}} <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span> </label>\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable}\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': field()?.value === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': field()?.value === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': field()?.value === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': field()?.value === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n (click)=\"onValueChange(data.value)\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.patternMessage}}.\r\n</div>\r\n", styles: [".radio-selection-border{border:1px solid #ffbb00!important;background:#fffaeb!important}*{font-family:mulish!important}.field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}.radio-btn-group{display:flex;gap:6px;height:32px}::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio{display:none!important}.radio-card-gender{box-shadow:none;border-color:var(--radio-button-border-color,#DADADA);border-width:var(--radio-button-border-width, 1px solid);background:var(--radio-button-background-color, #FFFFFF);display:flex;align-items:center;cursor:pointer;width:max-content!important;border-radius:var(--radio-button-border-radius, 6px)}::ng-deep .radioButtonGender .mdc-form-field .mdc-radio{display:none!important}.forRadioLabel{font-size:var(--radio-button-font-size, 12px)!important;font-weight:var(--radio-button-font-weight, 400);cursor:pointer;color:var(--radio-button-font-color, #444444)}.radio-btn-icon{margin-top:-2px;margin-left:4px}.selected-radio-btn{border:1px solid #ffbb00!important}.disable-radio-btn{background:#f5f5f5;border:1px solid var(--Colors-Greys-Border-Grey, rgba(221, 221, 221, 1));pointer-events:none;cursor:none}\n"] }]
57
- }], ctorParameters: () => [{ type: i1.MasterControlService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFxQnpELE1BQU0sT0FBTyxjQUFjO0lBQ047SUFBbkIsWUFBbUIsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO0lBQUUsQ0FBQztJQUMxRCxLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ3BDLFVBQVUsR0FBUSxJQUFJLENBQUM7SUFFdkIsUUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUN6QixTQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTFCLFFBQVE7UUFDTixrRUFBa0U7SUFDcEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQUMsUUFBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO3dHQTVCVSxjQUFjOzRGQUFkLGNBQWMsMkxBUlo7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsY0FBYztnQkFDM0IsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3RCTCxrakVBcUNBLCt2Q0QzQkksY0FBYyxvbEJBQ2QsWUFBWSxrYkFDWixtQkFBbUI7OzRGQVlWLGNBQWM7a0JBbEIxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEIsYUFHWTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGdCQUFnQjs0QkFDM0IsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcmFkaW8nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuY3NzJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFJhZGlvQ29tcG9uZW50LFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2Upe31cclxuICBmaWVsZCA6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBJbml0aWFsaXplIGlucHV0VmFsdWUgd2l0aCBhIGRlZmF1bHQgb3IgaW5pdGlhbCB2YWx1ZSBpZiBuZWVkZWRcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKG5ld1ZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGxhYmVsIGNsYXNzPVwiZmllbGQtbGFibGVcIiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpLmlzU2hvd0xhYmVsXCIgW25nU3R5bGVdPVwie1xyXG4gIH1cIj4ge3tmaWVsZCgpPy5sYWJlbH19IDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiPio8L3NwYW4+IDwvbGFiZWw+XHJcbiAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInctMTAwXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiXHJcbiAgICBjbGFzcz1cInJhZGlvLWJ0bi1ncm91cCByYWRpby1idG4tZ2VuZGVyXCJcclxuICAgIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcclxuICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcclxuICAgID5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJjYXJkIHJhZGlvLWNhcmQtZ2VuZGVyICBweS1hdXRvIHB4LTFcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWVsZCgpPy5vcHRpb25zXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlLXJhZGlvLWJ0bic6IGZpZWxkKCk/LmlzRGlzYWJsZX1cIlxyXG4gICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgJy0tcmFkaW8tYnV0dG9uLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LnZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvcixcclxuICAgICctLXJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yJzogZmllbGQoKT8udmFsdWUgPT09IGRhdGEudmFsdWUgPyBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCxcclxuICAgICctLXJhZGlvLWJ1dHRvbi1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy52YWx1ZSA9PT0gZGF0YS52YWx1ZSA/IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJXaWR0aCA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGgsXHJcbiAgICAnLS1yYWRpby1idXR0b24tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LnZhbHVlID09PSBkYXRhLnZhbHVlID8gZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyxcclxuICB9XCJcclxuICAgICAgPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiA3MnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XCJcclxuICAgICAgICBjbGFzcz1cInJhZGlvQnV0dG9uR2VuZGVyXCJcclxuICAgICAgICAoY2xpY2spPVwib25WYWx1ZUNoYW5nZShkYXRhLnZhbHVlKVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGEudmFsdWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gc3R5bGU9XCJ3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XCIgY2xhc3M9XCJmb3JSYWRpb0xhYmVsXCIgW25nU3R5bGVdPVwie1xyXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxyXG4gICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFNpemUsXHJcbiAgICAnLS1yYWRpby1idXR0b24tZm9udC1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uY29sb3IsXHJcbiAgfVwiPnt7IGRhdGEubGFiZWwgfX1cclxuICA8aW1nIGNsYXNzPVwicmFkaW8tYnRuLWljb25cIiAqbmdJZj1cImZpZWxkKCk/LmltYWdlVXJsXCIgW3NyY109XCJmaWVsZCgpPy5pbWFnZVVybFwiIGFsdD1cIlwiPlxyXG4gIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICB7e2ZpZWxkKCk/LnZhbGlkYXRvcnM/LnBhdHRlcm5NZXNzYWdlfX0uXHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,127 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, input } from '@angular/core';
3
- import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
- import { MatChipsModule } from '@angular/material/chips';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { MatSelectModule } from '@angular/material/select';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/form-field";
11
- import * as i2 from "@angular/material/select";
12
- import * as i3 from "@angular/material/core";
13
- import * as i4 from "@angular/common";
14
- import * as i5 from "@angular/material/chips";
15
- import * as i6 from "@angular/material/icon";
16
- import * as i7 from "@angular/forms";
17
- import * as i8 from "@angular/material/input";
18
- export class SearchMultiSelectComponent {
19
- field = input.required();
20
- selectedValues = [];
21
- visibleChip = [];
22
- remainingCount = 0;
23
- searchText = '';
24
- filteredOptions = [];
25
- inputValue = null;
26
- reactiveFormControlobject = input();
27
- ngOnInit() {
28
- this.filteredOptions = this.field().options;
29
- }
30
- onChange = () => { };
31
- onTouched = () => { };
32
- writeValue(value) {
33
- this.inputValue = value;
34
- }
35
- registerOnChange(fn) {
36
- this.onChange = fn;
37
- }
38
- registerOnTouched(fn) {
39
- this.onTouched = fn;
40
- }
41
- onValueChange(newValue) {
42
- this.inputValue = newValue;
43
- this.onChange(newValue);
44
- this.onTouched();
45
- }
46
- selectionChanged(event) {
47
- this.inputValue = event.value;
48
- this.onChange(event.value);
49
- this.onTouched();
50
- }
51
- setDisabledState(isDisabled) { }
52
- removeItem(item) {
53
- const maxVisible = 2;
54
- this.visibleChip = this.visibleChip.filter((element) => element !== item);
55
- this.selectedValues = this.selectedValues.filter((element) => element !== item);
56
- const found = this.field().options.find((i) => i.label === item);
57
- if (found) {
58
- found.value = false;
59
- }
60
- this.visibleChip = this.selectedValues.slice(0, maxVisible);
61
- this.remainingCount = this.selectedValues.length - maxVisible;
62
- }
63
- onSelectionChange() {
64
- const maxVisible = 2;
65
- this.visibleChip = this.selectedValues.slice(0, maxVisible);
66
- this.remainingCount = this.selectedValues.length - maxVisible;
67
- }
68
- filterOptions() {
69
- if (!this.searchText) {
70
- this.filteredOptions = this.field().options;
71
- return;
72
- }
73
- const filterValue = this.searchText.toLowerCase();
74
- this.filteredOptions = this.field().options.filter((option) => option.label.toLowerCase().includes(filterValue));
75
- }
76
- onSelectOpened(opened) {
77
- const css = this.field()?.controlStyle;
78
- if (opened) {
79
- document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');
80
- document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');
81
- document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');
82
- document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');
83
- document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');
84
- document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');
85
- document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');
86
- document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');
87
- }
88
- else {
89
- document.body.style.removeProperty('--custom-select-option-background-color');
90
- document.body.style.removeProperty('--custom-select-option-font-color');
91
- document.body.style.removeProperty('--custom-select-option-font-weight');
92
- document.body.style.removeProperty('--custom-select-option-background-color-focus');
93
- document.body.style.removeProperty('--custom-select-option-font-color-focus');
94
- document.body.style.removeProperty('--custom-select-option-font-weight-focus');
95
- document.body.style.removeProperty('--custom-select-option-border-left-focus');
96
- document.body.style.removeProperty('--custom-select-option-border-radius-focus');
97
- }
98
- }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchMultiSelectComponent, isStandalone: true, selector: "lib-search-multi-select", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, reactiveFormControlobject: { classPropertyName: "reactiveFormControlobject", publicName: "reactiveFormControlobject", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
101
- {
102
- provide: NG_VALUE_ACCESSOR,
103
- useExisting: SearchMultiSelectComponent,
104
- multi: true
105
- }
106
- ], ngImport: i0, template: "<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 7px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-chip-set .mdc-evolution-chip{background-color:#fff9e5!important}::ng-deep .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{color:#444!important}::ng-deep .mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:12px!important;font-weight:400!important;color:#444!important}::ng-deep .mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:12px!important;width:12px!important;font-size:12px!important}::ng-deep .multi-select .mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{padding-right:0!important}::ng-deep .mat-mdc-standard-chip{--mdc-chip-outline-width: 1px !important;border-radius:18px!important;--mdc-chip-container-shape-radius: 19px !important;--mdc-chip-outline-color: #ffbb00 !important}::ng-deep .multi-select .mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding:9px 0 7px}::ng-deep .multi-select .mat-mdc-select-arrow-wrapper{height:37px}::ng-deep .mat-mdc-chip{height:24px!important}::ng-deep .mat-mdc-optgroup-label{display:contents!important}::ng-deep .multiselect-search .mat-mdc-text-field-wrapper{background:#fff!important}::ng-deep .multiselect-search .mdc-text-field__input{color:#444!important}::ng-deep .multiselect-search .mdc-line-ripple--active{opacity:0!important;transform:none!important}::ng-deep .mdc-line-ripple{opacity:0!important;transform:none!important}::ng-deep .mdc-evolution-chip-set__chips{flex-flow:unset!important;overflow:scroll!important;scrollbar-width:none!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked:after{color:#fff!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked{background-color:#fb0!important;border-radius:4px!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:#fb0!important;border-radius:4px!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox{border:1px solid #DADADA}::ng-deep .mat-mdc-option.mdc-list-item.mat-mdc-option-multiple.mdc-list-item--selected{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}.select-container{background:#fff}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}\n"], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i5.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "directive", type: i5.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
107
- }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchMultiSelectComponent, decorators: [{
109
- type: Component,
110
- args: [{ selector: 'lib-search-multi-select', standalone: true, imports: [
111
- MatSelectModule,
112
- MatFormFieldModule,
113
- CommonModule,
114
- MatChipsModule,
115
- MatIconModule,
116
- FormsModule,
117
- MatInputModule,
118
- ReactiveFormsModule
119
- ], providers: [
120
- {
121
- provide: NG_VALUE_ACCESSOR,
122
- useExisting: SearchMultiSelectComponent,
123
- multi: true
124
- }
125
- ], template: "<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [".field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 7px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-chip-set .mdc-evolution-chip{background-color:#fff9e5!important}::ng-deep .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{color:#444!important}::ng-deep .mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:12px!important;font-weight:400!important;color:#444!important}::ng-deep .mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:12px!important;width:12px!important;font-size:12px!important}::ng-deep .multi-select .mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{padding-right:0!important}::ng-deep .mat-mdc-standard-chip{--mdc-chip-outline-width: 1px !important;border-radius:18px!important;--mdc-chip-container-shape-radius: 19px !important;--mdc-chip-outline-color: #ffbb00 !important}::ng-deep .multi-select .mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding:9px 0 7px}::ng-deep .multi-select .mat-mdc-select-arrow-wrapper{height:37px}::ng-deep .mat-mdc-chip{height:24px!important}::ng-deep .mat-mdc-optgroup-label{display:contents!important}::ng-deep .multiselect-search .mat-mdc-text-field-wrapper{background:#fff!important}::ng-deep .multiselect-search .mdc-text-field__input{color:#444!important}::ng-deep .multiselect-search .mdc-line-ripple--active{opacity:0!important;transform:none!important}::ng-deep .mdc-line-ripple{opacity:0!important;transform:none!important}::ng-deep .mdc-evolution-chip-set__chips{flex-flow:unset!important;overflow:scroll!important;scrollbar-width:none!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked:after{color:#fff!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked{background-color:#fb0!important;border-radius:4px!important}::ng-deep .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:#fb0!important;border-radius:4px!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox{border:1px solid #DADADA}::ng-deep .mat-mdc-option.mdc-list-item.mat-mdc-option-multiple.mdc-list-item--selected{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}.select-container{background:#fff}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}\n"] }]
126
- }] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW11bHRpLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3NlYXJjaC1tdWx0aS1zZWxlY3Qvc2VhcmNoLW11bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3NlYXJjaC1tdWx0aS1zZWxlY3Qvc2VhcmNoLW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUF5QjVFLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsS0FBSyxHQUFRLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztJQUNuQyxjQUFjLEdBQVEsRUFBRSxDQUFDO0lBQ3pCLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsY0FBYyxHQUFRLENBQUMsQ0FBQztJQUN4QixVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLGVBQWUsR0FBUSxFQUFFLENBQUM7SUFDMUIs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QVlWLDBCQUEwQjtrQkF2QnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLG1CQUFtQjtxQkFDcEIsYUFHVTt3QkFDUDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDRCQUE0Qjs0QkFDdkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zZWFyY2gtbXVsdGktc2VsZWN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlYXJjaC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogU2VhcmNoTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoTXVsdGlTZWxlY3RDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgc2VsZWN0ZWRWYWx1ZXM6IGFueSA9IFtdO1xyXG4gIHZpc2libGVDaGlwOiBhbnkgPSBbXTtcclxuICByZW1haW5pbmdDb3VudDogYW55ID0gMDtcclxuICBzZWFyY2hUZXh0OiBhbnkgPSAnJztcclxuICBmaWx0ZXJlZE9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIGlucHV0VmFsdWU6IGFueSA9IG51bGw7XHJcbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWVsZCgpLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UobmV3VmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dFZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpIHtcclxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZShldmVudC52YWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7fVxyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgbWF4VmlzaWJsZSA9IDI7XHJcbiAgICB0aGlzLnZpc2libGVDaGlwID0gdGhpcy52aXNpYmxlQ2hpcC5maWx0ZXIoXHJcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgIT09IGl0ZW1cclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5maWx0ZXIoXHJcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgIT09IGl0ZW1cclxuICAgICk7XHJcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmllbGQoKS5vcHRpb25zLmZpbmQoKGk6IGFueSkgPT4gaS5sYWJlbCA9PT0gaXRlbSk7XHJcbiAgICBpZiAoZm91bmQpIHtcclxuICAgICAgZm91bmQudmFsdWUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMudmlzaWJsZUNoaXAgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLnNsaWNlKDAsIG1heFZpc2libGUpO1xyXG4gICAgdGhpcy5yZW1haW5pbmdDb3VudCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoIC0gbWF4VmlzaWJsZTtcclxuICB9XHJcbiAgb25TZWxlY3Rpb25DaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBtYXhWaXNpYmxlID0gMjtcclxuICAgIHRoaXMudmlzaWJsZUNoaXAgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLnNsaWNlKDAsIG1heFZpc2libGUpO1xyXG4gICAgdGhpcy5yZW1haW5pbmdDb3VudCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoIC0gbWF4VmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGZpbHRlck9wdGlvbnMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VhcmNoVGV4dCkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5vcHRpb25zO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMuc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpZWxkKCkub3B0aW9ucy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PlxyXG4gICAgICBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdE9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGNzcyA9IHRoaXMuZmllbGQoKT8uY29udHJvbFN0eWxlO1xyXG4gICAgaWYgKG9wZW5lZCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3InLFxyXG4gICAgICAgIGNzcz8uZHJvcGRvd25PcHRpb25CZ0NvbG9yIHx8ICcjZmZmJ1xyXG4gICAgICApO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3InLFxyXG4gICAgICAgIGNzcz8uZHJvcGRvd25PcHRpb25Db2xvciB8fCAnIzQ0NCdcclxuICAgICAgKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LXdlaWdodCcsXHJcbiAgICAgICAgY3NzPy5kcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQgfHwgJzQwMCdcclxuICAgICAgKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWZvY3VzJyxcclxuICAgICAgICBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yIHx8ICcjZmZmJ1xyXG4gICAgICApO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3ItZm9jdXMnLFxyXG4gICAgICAgIGNzcz8uZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yIHx8ICcjNDQ0J1xyXG4gICAgICApO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtd2VpZ2h0LWZvY3VzJyxcclxuICAgICAgICBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0IHx8ICc0MDAnXHJcbiAgICAgICk7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLWxlZnQtZm9jdXMnLFxyXG4gICAgICAgIGNzcz8uZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQgfHwgJyNmZmJiMDAnXHJcbiAgICAgICk7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLXJhZGl1cy1mb2N1cycsXHJcbiAgICAgICAgY3NzPy5mb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzIHx8ICcjZmZiYjAwJ1xyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yJ1xyXG4gICAgICApO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3InKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LXdlaWdodCcpO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KFxyXG4gICAgICAgICctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3ItZm9jdXMnXHJcbiAgICAgICk7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoXHJcbiAgICAgICAgJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tZm9udC1jb2xvci1mb2N1cydcclxuICAgICAgKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LXdlaWdodC1mb2N1cydcclxuICAgICAgKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1ib3JkZXItbGVmdC1mb2N1cydcclxuICAgICAgKTtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcclxuICAgICAgICAnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1ib3JkZXItcmFkaXVzLWZvY3VzJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgY2xhc3M9XCJmaWVsZC1sYWJsZVwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGUgJiYgZmllbGQoKS5pc1Nob3dMYWJlbFwiXHJcbiAgPnt7IGZpZWxkKCk/LmxhYmVsXHJcbiAgfX08c3BhbiBzdHlsZT1cImNvbG9yOiByZWRcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXHJcbiAgICA+Kjwvc3BhblxyXG4gID48L2xhYmVsXHJcbj5cclxuPG1hdC1mb3JtLWZpZWxkXHJcbiAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gIGNsYXNzPVwiaW5wdXQtZnVsbC13aWR0aCBmdWxsLXdpZHRoIHctMTAwIG11bHRpLXNlbGVjdFwiXHJcbiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiXHJcbiAgIFtuZ1N0eWxlXT1cIntcclxuICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvciAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGggLFxyXG4gICctLWN1c3RvbS1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgLFxyXG4gICctLWN1c3RvbS1iZy1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci1jb2xvci1mb2N1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJDb2xvciAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aC1mb2N1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJXaWR0aCAsXHJcbiAgJy0tY3VzdG9tLWJnLWNvbG9yLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JhY2tncm91bmQgLFxyXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3ItaG92ZXInOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmhvdmVyQm9yZGVyQ29sb3IgLFxyXG4gICctLWN1c3RvbS1ib3JkZXItd2lkdGgtaG92ZXInOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmhvdmVyQm9yZGVyV2lkdGggLFxyXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3ItZXJyb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmVycm9yQm9yZGVyQ29sb3IgLFxyXG4gICctLWN1c3RvbS1ib3JkZXItd2lkdGgtZXJyb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmVycm9yQm9yZGVyV2lkdGggLFxyXG4nLS1jdXN0b20tZm9udC1jb2xvci1kaXNhYmxlZCcgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmRpc2FibGVDb2xvciAsXHJcbictLWN1c3RvbS1iZy1jb2xvci1kaXNhYmxlZCcgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmRpc2FibGVCYWNrZ3JvdW5kICxcclxuICB9XCJcclxuPlxyXG5AaWYocmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpKSB7XHJcbjxtYXQtc2VsZWN0XHJcbiAgICBtdWx0aXBsZVxyXG4gICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXHJcbiAgICBbYXR0ci5uYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXHJcbiAgICBbKHZhbHVlKV09XCJzZWxlY3RlZFZhbHVlc1wiXHJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKClcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCk/LnBsYWNlSG9sZGVyXCJcclxuICAgIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxyXG4gICAgKG9wZW5lZENoYW5nZSk9XCJvblNlbGVjdE9wZW5lZCgkZXZlbnQpXCJcclxuICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxyXG4gID5cclxuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgIDxtYXQtY2hpcC1saXN0Ym94PlxyXG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiB2aXNpYmxlQ2hpcDsgdHJhY2sgb3B0aW9uKSB7XHJcbiAgICAgICAgPG1hdC1jaGlwIFtyZW1vdmFibGVdPVwidHJ1ZVwiIChyZW1vdmVkKT1cInJlbW92ZUl0ZW0ob3B0aW9uKVwiPlxyXG4gICAgICAgICAge3sgb3B0aW9uIH19XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgICB9XHJcbiAgICAgICAgPG1hdC1jaGlwICpuZ0lmPVwicmVtYWluaW5nQ291bnQgPiAwXCI+ICt7eyByZW1haW5pbmdDb3VudCB9fSA8L21hdC1jaGlwPlxyXG4gICAgICA8L21hdC1jaGlwLWxpc3Rib3g+XHJcbiAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtb3B0Z3JvdXA+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICAgICAgICBjbGFzcz1cImlucHV0LWZ1bGwtd2lkdGggZnVsbC13aWR0aCB3LTEwMCBtdWx0aXNlbGVjdC1zZWFyY2hcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICAjc2VhcmNoXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdGVyT3B0aW9ucygpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnM7IHRyYWNrIG9wdGlvbi5sYWJlbCkge1xyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmxhYmVsXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uPlxyXG4gICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXNlbGVjdD5cclxufUBlbHNlIHtcclxuICA8bWF0LXNlbGVjdFxyXG4gICAgbXVsdGlwbGVcclxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgW2F0dHIubmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgWyh2YWx1ZSldPVwic2VsZWN0ZWRWYWx1ZXNcIlxyXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgpXCJcclxuICAgIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZCgpPy5wbGFjZUhvbGRlclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZmllbGQoKT8uaXNEaXNhYmxlXCJcclxuICAgIChvcGVuZWRDaGFuZ2UpPVwib25TZWxlY3RPcGVuZWQoJGV2ZW50KVwiXHJcbiAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXHJcbiAgPlxyXG4gICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgICAgPG1hdC1jaGlwLWxpc3Rib3g+XHJcbiAgICAgICAgQGZvciAob3B0aW9uIG9mIHZpc2libGVDaGlwOyB0cmFjayBvcHRpb24pIHtcclxuICAgICAgICA8bWF0LWNoaXAgW3JlbW92YWJsZV09XCJ0cnVlXCIgKHJlbW92ZWQpPVwicmVtb3ZlSXRlbShvcHRpb24pXCI+XHJcbiAgICAgICAgICB7eyBvcHRpb24gfX1cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L21hdC1jaGlwPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bWF0LWNoaXAgKm5nSWY9XCJyZW1haW5pbmdDb3VudCA+IDBcIj4gK3t7IHJlbWFpbmluZ0NvdW50IH19IDwvbWF0LWNoaXA+XHJcbiAgICAgIDwvbWF0LWNoaXAtbGlzdGJveD5cclxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1vcHRncm91cD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZnVsbC13aWR0aCBmdWxsLXdpZHRoIHctMTAwIG11bHRpc2VsZWN0LXNlYXJjaFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgICNzZWFyY2hcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJPcHRpb25zKClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L21hdC1vcHRncm91cD5cclxuICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uczsgdHJhY2sgb3B0aW9uLmxhYmVsKSB7XHJcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb24ubGFiZWxcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24+XHJcbiAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG59XHJcbiAgXHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICB7eyBmaWVsZCgpPy52YWxpZGF0b3JzPy5yZXF1aXJlZE1lc3NhZ2UgfX1cclxuICA8L21hdC1lcnJvcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
@@ -1,99 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, input } from '@angular/core';
3
- import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
- import { MatOptionModule } from '@angular/material/core';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { MatSelectModule } from '@angular/material/select';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../master-control.service";
11
- import * as i2 from "@angular/material/form-field";
12
- import * as i3 from "@angular/material/select";
13
- import * as i4 from "@angular/material/core";
14
- import * as i5 from "@angular/forms";
15
- import * as i6 from "@angular/common";
16
- export class SelectComponent {
17
- masterService;
18
- constructor(masterService) {
19
- this.masterService = masterService;
20
- }
21
- field = input.required();
22
- inputValue = null;
23
- reactiveFormControlobject = input();
24
- onChange = () => { };
25
- onTouched = () => { };
26
- ngOnInit() {
27
- // Initialize inputValue with a default or initial value if needed
28
- }
29
- writeValue(value) {
30
- this.inputValue = value;
31
- }
32
- registerOnChange(fn) {
33
- this.onChange = fn;
34
- }
35
- registerOnTouched(fn) {
36
- this.onTouched = fn;
37
- }
38
- onValueChange(newValue) {
39
- this.inputValue = newValue;
40
- this.onChange(newValue);
41
- this.onTouched();
42
- }
43
- selectionChanged(event) {
44
- this.inputValue = event.value;
45
- this.onChange(event.value);
46
- this.onTouched();
47
- }
48
- onSelectOpened(opened) {
49
- const css = this.field()?.controlStyle;
50
- if (opened) {
51
- document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');
52
- document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');
53
- document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');
54
- document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');
55
- document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');
56
- document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');
57
- document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');
58
- document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');
59
- }
60
- else {
61
- document.body.style.removeProperty('--custom-select-option-background-color');
62
- document.body.style.removeProperty('--custom-select-option-font-color');
63
- document.body.style.removeProperty('--custom-select-option-font-weight');
64
- document.body.style.removeProperty('--custom-select-option-background-color-focus');
65
- document.body.style.removeProperty('--custom-select-option-font-color-focus');
66
- document.body.style.removeProperty('--custom-select-option-font-weight-focus');
67
- document.body.style.removeProperty('--custom-select-option-border-left-focus');
68
- document.body.style.removeProperty('--custom-select-option-border-radius-focus');
69
- }
70
- }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectComponent, isStandalone: true, selector: "lib-select", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, reactiveFormControlobject: { classPropertyName: "reactiveFormControlobject", publicName: "reactiveFormControlobject", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
73
- {
74
- provide: NG_VALUE_ACCESSOR,
75
- useExisting: SelectComponent,
76
- multi: true
77
- }
78
- ], ngImport: i0, template: "<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <mat-select\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }@else {\r\n <mat-select\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n >\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }\r\n\r\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message mt-2\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n</div>\r\n", styles: [".field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 7px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important}*{font-family:mulish!important}\n"], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectComponent, decorators: [{
81
- type: Component,
82
- args: [{ selector: 'lib-select', standalone: true, imports: [
83
- MatSelectModule,
84
- MatFormFieldModule,
85
- MatAutocompleteModule,
86
- MatInputModule,
87
- FormsModule,
88
- MatOptionModule,
89
- CommonModule,
90
- ReactiveFormsModule,
91
- ], providers: [
92
- {
93
- provide: NG_VALUE_ACCESSOR,
94
- useExisting: SelectComponent,
95
- multi: true
96
- }
97
- ], template: "<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <mat-select\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }@else {\r\n <mat-select\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n >\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }\r\n\r\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message mt-2\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n</div>\r\n", styles: [".field-lable{font-size:10px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 7px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important}*{font-family:mulish!important}\n"] }]
98
- }], ctorParameters: () => [{ type: i1.MasterControlService }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQXlCNUUsTUFBTSxPQUFPLGVBQWU7SUFFVDtJQUFuQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRSxDQUFDO0lBQ3hELEtBQUssR0FBUyxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFFcEMsVUFBVSxHQUFRLElBQUksQ0FBQztJQUN2Qix5QkFBeUIsR0FBUyxLQUFLLEVBQU8sQ0FBQztJQUUvQyxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7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QUMvRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMvRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNuRixDQUFDO0lBQ0gsQ0FBQzt3R0E1RFksZUFBZTs0RkFBZixlQUFlLGdYQVJiO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGVBQWU7Z0JBQzVCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkMvQkwsZ3pGQXFFQSxneE5EdkRJLGVBQWUsMjlCQUNmLGtCQUFrQiw4QkFDbEIscUJBQXFCLDhCQUNyQixjQUFjLDhCQUNkLFdBQVcsbVdBQ1gsZUFBZSw4QkFDZixZQUFZLG9WQUNaLG1CQUFtQjs7NEZBWVYsZUFBZTtrQkF2QjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEIsYUFHWTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGlCQUFpQjs0QkFDNUIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50LmNzcycsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuY29uc3RydWN0b3IocHVibGljIG1hc3RlclNlcnZpY2UgOiBNYXN0ZXJDb250cm9sU2VydmljZSl7fVxyXG4gIGZpZWxkIDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xyXG5cclxuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QgOiBhbnkgPSBpbnB1dDxhbnk+KCk7XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIEluaXRpYWxpemUgaW5wdXRWYWx1ZSB3aXRoIGEgZGVmYXVsdCBvciBpbml0aWFsIHZhbHVlIGlmIG5lZWRlZFxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UobmV3VmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dFZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpIHtcclxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZShldmVudC52YWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgICBvblNlbGVjdE9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICBjb25zdCBjc3MgPSB0aGlzLmZpZWxkKCk/LmNvbnRyb2xTdHlsZTtcclxuICBpZiAob3BlbmVkKSB7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3InLCBjc3M/LmRyb3Bkb3duT3B0aW9uQmdDb2xvciB8fCAnI2ZmZicpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LWNvbG9yJywgY3NzPy5kcm9wZG93bk9wdGlvbkNvbG9yIHx8ICcjNDQ0Jyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtd2VpZ2h0JywgY3NzPy5kcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQgfHwgJzQwMCcpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWZvY3VzJywgY3NzPy5mb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvciB8fCAnI2ZmZicpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LWNvbG9yLWZvY3VzJywgY3NzPy5mb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3IgfHwgJyM0NDQnKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tZm9udC13ZWlnaHQtZm9jdXMnLCBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0IHx8ICc0MDAnKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLWxlZnQtZm9jdXMnLCBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0IHx8ICcjZmZiYjAwJyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJvcmRlci1yYWRpdXMtZm9jdXMnLCBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXMgfHwgJyNmZmJiMDAnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yJyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3InKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tZm9udC13ZWlnaHQnKTtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1mb2N1cycpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LWNvbG9yLWZvY3VzJyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtd2VpZ2h0LWZvY3VzJyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJvcmRlci1sZWZ0LWZvY3VzJyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJvcmRlci1yYWRpdXMtZm9jdXMnKTtcclxuICB9XHJcbn1cclxufVxyXG4iLCI8bGFiZWxcclxuICBjbGFzcz1cImZpZWxkLWxhYmxlXCJcclxuICAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlICYmIGZpZWxkKCkuaXNTaG93TGFiZWxcIlxyXG4gID57eyBmaWVsZCgpPy5sYWJlbFxyXG4gIH19PHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxyXG4gICAgPio8L3NwYW5cclxuICA+PC9sYWJlbFxyXG4+XHJcbjxtYXQtZm9ybS1maWVsZFxyXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICBjbGFzcz1cImlucHV0LWZ1bGwtd2lkdGggZnVsbC13aWR0aCB3LTEwMFwiXHJcbiAgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiXHJcbiAgW25nU3R5bGVdPVwie1xyXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlckNvbG9yICxcclxuICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJXaWR0aCAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyAsXHJcbiAgJy0tY3VzdG9tLWJnLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5iYWNrZ3JvdW5kICxcclxuICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yICxcclxuICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlcldpZHRoICxcclxuICAnLS1jdXN0b20tYmctY29sb3ItZm9jdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci1jb2xvci1ob3Zlcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uaG92ZXJCb3JkZXJDb2xvciAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aC1ob3Zlcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uaG92ZXJCb3JkZXJXaWR0aCAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci1jb2xvci1lcnJvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZXJyb3JCb3JkZXJDb2xvciAsXHJcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aC1lcnJvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZXJyb3JCb3JkZXJXaWR0aCAsXHJcbictLWN1c3RvbS1mb250LWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUNvbG9yICxcclxuJy0tY3VzdG9tLWJnLWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUJhY2tncm91bmQgLFxyXG4gIH1cIlxyXG4+XHJcbiAgQGlmKHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QoKSkge1xyXG4gIDxtYXQtc2VsZWN0XHJcbiAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcclxuICAgIFthdHRyLm5hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcclxuICAgIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZCgpPy5wbGFjZUhvbGRlclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZmllbGQoKT8uaXNEaXNhYmxlXCJcclxuICAgIChvcGVuZWRDaGFuZ2UpPVwib25TZWxlY3RPcGVuZWQoJGV2ZW50KVwiXHJcbiAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXHJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwicmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpXCJcclxuICA+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWVsZCgpPy5vcHRpb25zXCIgW3ZhbHVlXT1cImRhdGEudmFsdWVcIj57e1xyXG4gICAgICBkYXRhLmxhYmVsXHJcbiAgICB9fTwvbWF0LW9wdGlvbj5cclxuICA8L21hdC1zZWxlY3Q+XHJcbiAgfUBlbHNlIHtcclxuICA8bWF0LXNlbGVjdFxyXG4gICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXHJcbiAgICBbYXR0ci5uYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXHJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQoKT8ucGxhY2VIb2xkZXJcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXHJcbiAgICAob3BlbmVkQ2hhbmdlKT1cIm9uU2VsZWN0T3BlbmVkKCRldmVudClcIlxyXG4gICAgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxyXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gID5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpZWxkKCk/Lm9wdGlvbnNcIiBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiPnt7XHJcbiAgICAgIGRhdGEubGFiZWxcclxuICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuICB9XHJcblxyXG4gIDwhLS0gc2VsZWN0RmllbGQuaW52YWxpZCAmJiAoc2VsZWN0RmllbGQuZGlydHkgfHwgc2VsZWN0RmllbGQudG91Y2hlZCkgLS0+XHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICB7eyBmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkTWVzc2FnZSB9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZSBtdC0yXCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRNZXNzYWdlIH19XHJcbjwvZGl2PlxyXG4iXX0=