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
@@ -0,0 +1,54 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, input } from '@angular/core';
3
+ import { MatCheckboxModule } from '@angular/material/checkbox';
4
+ import { MatFormFieldModule } from '@angular/material/form-field';
5
+ import { MatInputModule } from '@angular/material/input';
6
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
7
+
8
+ @Component({
9
+ selector: 'lib-otp-mob-number',
10
+ standalone: true,
11
+ imports: [
12
+ MatInputModule,
13
+ MatFormFieldModule,
14
+ CommonModule,
15
+ ReactiveFormsModule
16
+ ],
17
+ templateUrl: './otp-mob-number.component.html',
18
+ styleUrl: './otp-mob-number.component.css',
19
+ providers: [
20
+ {
21
+ provide: NG_VALUE_ACCESSOR,
22
+ useExisting: OtpMobNumberComponent,
23
+ multi: true
24
+ }
25
+ ]
26
+ })
27
+ export class OtpMobNumberComponent {
28
+ CountryCode: any = '+91';
29
+ field: any = input.required<any>();
30
+ inputValue: any = null;
31
+ reactiveFormControlobject : any = input<any>();
32
+ _onChange: any = (inputValue:any) => {};
33
+ _unTouched: any = () => {};
34
+
35
+ writeValue(obj: any): void{
36
+ this.inputValue=obj;
37
+ };
38
+ registerOnChange(fn: any): void{
39
+ this._onChange = fn;
40
+ };
41
+ registerOnTouched(fn: any): void{
42
+ this._unTouched = fn;
43
+ };
44
+ setDisabledState?(isDisabled: boolean): void{};
45
+
46
+ onInputChange(event: any): void {
47
+ this.inputValue = event.target.value;
48
+ this._onChange(this.inputValue);
49
+ }
50
+
51
+ onInputBlur(): void {
52
+ this._unTouched();
53
+ }
54
+ }
@@ -0,0 +1,168 @@
1
+ .field-lable{
2
+ font-size: 10px !important;
3
+ font-weight: 700 !important;
4
+ color: #444 !important;
5
+ margin-bottom: 0px !important;
6
+ }
7
+ .get-otp{
8
+ padding: 4px 8px 6px 12px;
9
+ background: #ffbb00;
10
+ color: #444;
11
+ font-weight: 600;
12
+ font-size: 12px;
13
+ border-radius: 24px;
14
+ height: 24px;
15
+ width: 71px;
16
+ display: inline-flex;
17
+ }
18
+ .error-message{
19
+ color: red;
20
+ }
21
+
22
+ .verity-otp{
23
+ border-radius: 24px;
24
+ border: 1px solid #444;
25
+ background: #fff;
26
+ padding: 13px 8px 8px 8px;
27
+ width: 58px;
28
+ height: 28px;
29
+ font-size: 12px;
30
+ letter-spacing: 0;
31
+ font-weight: 700;
32
+ color: #444;
33
+ }
34
+ .checkbox-tag{
35
+ font-size: 10px;
36
+ font-weight: 700;
37
+ color: #444;
38
+ margin-right: 5px;
39
+ }
40
+ * {
41
+ font-family: "mulish" !important;
42
+ }
43
+
44
+ .checkbox{
45
+ padding: 4px 8px 3px 0px;
46
+ background: #f5f5f5;
47
+ border-radius: 4px;
48
+ margin-right: 8px;
49
+ }
50
+
51
+ .optional-checkbox.mat-mdc-checkbox label{
52
+ font-size: 10px !important;
53
+ font-weight: 700 !important;
54
+ color: #444 !important;
55
+ padding: 0px !important;
56
+ margin-bottom: 2px;
57
+ }
58
+ .optional-checkbox .mdc-checkbox{
59
+ flex: 0 0 12px !important;
60
+ }
61
+ .optional-checkbox, .mdc-checkbox__background{
62
+ transform: translate(-2px, -1px);
63
+ }
64
+
65
+ /* focus css for mat-form-field */
66
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
67
+ .mat-mdc-notch-piece {
68
+ border-color: var(--custom-border-color-focus, #ffbb00) !important;
69
+ border-width: var(--custom-border-width-focus, 1.5px) !important;
70
+ }
71
+
72
+ ::ng-deep .mat-mdc-form-field {
73
+ background-color: var(--custom-bg-color, #ffffff) !important;
74
+ border-radius: var(--custom-border-radius , 7px) !important;
75
+ }
76
+
77
+ /* hover css for mat-form-field */
78
+
79
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
80
+ .mdc-text-field--focused
81
+ ):hover
82
+ .mdc-notched-outline
83
+ .mdc-notched-outline__leading {
84
+ border-color: var(--custom-border-color-hover, #ffbb00) !important;
85
+ border-width: var(--custom-border-width-hover, 1.5px) !important;
86
+ }
87
+
88
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
89
+ .mdc-text-field--focused
90
+ ):hover
91
+ .mdc-notched-outline
92
+ .mdc-notched-outline__notch {
93
+ border-color: var(--custom-border-color-hover, #ffbb00) !important;
94
+ border-width: var(--custom-border-width-hover, 1.5px) !important;
95
+ }
96
+
97
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
98
+ .mdc-text-field--focused
99
+ ):hover
100
+ .mdc-notched-outline
101
+ .mdc-notched-outline__trailing {
102
+ border-color: var(--custom-border-color-hover, #ffbb00) !important;
103
+ border-width: var(--custom-border-width-hover, 1.5px) !important;
104
+ }
105
+
106
+ /* regular css for mat-form-field */
107
+ ::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece {
108
+ border-color: var(--custom-border-color, #dddddd) !important;
109
+ border-width: var(--custom-border-width, 1.5px) !important;
110
+ }
111
+
112
+ /* field css for mat-form-input-field */
113
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled)
114
+ .mdc-text-field__input {
115
+ caret-color: var(--custom-caret-color, #ffbb00) !important;
116
+ /* font-size: var(--custom-font-size, 16px) !important; */
117
+ font-size: 12px !important;
118
+ font-weight: var(--custom-font-weight, 400) !important;
119
+ font-family: var(--custom-font-family, 'Mulish') !important;
120
+ color: var(--custom-font-color, #444444) !important;
121
+ }
122
+ /* Error state for mat-form-field */
123
+ ::ng-deep .mat-form-field-invalid
124
+ .mdc-text-field--outlined .mat-mdc-notch-piece {
125
+ border-color: var(--custom-border-color-error, red) !important;
126
+ border-width: var(--custom-border-width-error, 1.5px) !important;
127
+ }
128
+
129
+ ::ng-deep .mat-mdc-form-field.mat-form-field-disabled{
130
+ background: var(--custom-bg-color-disabled, #ECECEC) !important;
131
+ }
132
+ ::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {
133
+ color : var(--custom-font-color-disabled, #999999) !important;
134
+ }
135
+ ::ng-deep .mdc-label {
136
+ color: var(--custom-font-color, #444) !important;
137
+ font-size: var(--custom-font-size, 16px) !important;
138
+ font-weight: var(--custom-font-weight, 400) !important;
139
+ font-family: var(--custom-font-family, 'Mulish') !important;
140
+ }
141
+ ::placeholder {
142
+ color: #8f8f8f !important;
143
+ font-size: 12px !important;
144
+ }
145
+ ::ng-deep .mat-mdc-form-field-hint-wrapper{
146
+ padding: 0px !important;
147
+ }
148
+ ::ng-deep .mat-mdc-form-field-error-wrapper{
149
+ padding: 0px !important;
150
+ }
151
+ ::ng-deep .mat-mdc-form-field-error{
152
+ color: #EE0000 !important;
153
+ font-size: 12px;
154
+ font-weight: 500;
155
+ font-family: "Mulish" !important;
156
+ letter-spacing: 0;
157
+ }
158
+ ::ng-deep .mdc-text-field--outlined {
159
+ --mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important;
160
+ }
161
+ ::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece {
162
+ border-color: var(--custom-border-color-error, red) !important;
163
+ border-width: var(--custom-border-width-error, 1.5px) !important;
164
+ }
165
+
166
+ ::ng-deep .mat-mdc-form-field-subscript-wrapper {
167
+ display: none !important;
168
+ }
@@ -0,0 +1,84 @@
1
+ <label class="field-lable" *ngIf="field() && field()?.isVisible && field().isShowLabel"
2
+ >{{ field()?.label
3
+ }}<span style="color: red" *ngIf="field() && field()?.validators?.isRequired"
4
+ >*</span
5
+ ></label
6
+ >
7
+ <mat-form-field class="w-100" appearance="outline" [ngStyle]="{
8
+ '--custom-border-color': field()?.controlStyle?.borderColor ,
9
+ '--custom-border-width': field()?.controlStyle?.borderWidth ,
10
+ '--custom-border-radius': field()?.controlStyle?.borderRadius ,
11
+ '--custom-bg-color': field()?.controlStyle?.background ,
12
+ '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,
13
+ '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,
14
+ '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,
15
+ '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,
16
+ '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,
17
+ '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,
18
+ '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,
19
+ '--custom-font-size': field()?.controlStyle?.fontSize ,
20
+ '--custom-font-weight': field()?.controlStyle?.fontWeight ,
21
+ '--custom-font-family': field()?.controlStyle?.fontFamily ,
22
+ '--custom-font-color': field()?.controlStyle?.color ,
23
+ '--custom-caret-color': field()?.controlStyle?.caretColor ,
24
+ '--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,
25
+ '--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,
26
+ }">
27
+ @if(reactiveFormControlobject()) {
28
+ <input
29
+ matInput
30
+ autocomplete="none"
31
+ [type]="field()?.controlType"
32
+ [name]="field()?.fieldName"
33
+ [id]="field()?.fieldName"
34
+ [placeholder]="field()?.placeHolder"
35
+ [maxLength]="field()?.validators?.maxLength"
36
+ [minLength]="field()?.validators?.minLength"
37
+ [disabled]="field()?.isDisable"
38
+ [required]="field()?.validators?.isRequired"
39
+ [pattern]="field()?.validators?.pattern"
40
+ (input)="onInputChange($event)"
41
+ (blur)="onInputBlur()"
42
+ [value]="inputValue"
43
+ [formControl]="reactiveFormControlobject()"
44
+ />
45
+ }@else {
46
+ <input
47
+ matInput
48
+ autocomplete="none"
49
+ [type]="field()?.controlType"
50
+ [name]="field()?.fieldName"
51
+ [id]="field()?.fieldName"
52
+ [placeholder]="field()?.placeHolder"
53
+ [maxLength]="field()?.validators?.maxLength"
54
+ [minLength]="field()?.validators?.minLength"
55
+ [disabled]="field()?.isDisable"
56
+ [required]="field()?.validators?.isRequired"
57
+ [pattern]="field()?.validators?.pattern"
58
+ (input)="onInputChange($event)"
59
+ (blur)="onInputBlur()"
60
+ [value]="inputValue"
61
+ />
62
+ }
63
+ <mat-error *ngIf="false">
64
+ {{ field()?.validators?.requiredMessage }}
65
+ </mat-error>
66
+ <div matSuffix class="get-otp mx-2">
67
+ <span class="mt-2">Get OTP</span>
68
+ </div>
69
+ <div matSuffix class="verity-otp mx-2" *ngIf="false">
70
+ <span class="mx-1">Verify</span>
71
+ </div>
72
+ <span matSuffix class="mx-3" *ngIf="false">
73
+ <img src="https://cdn.godigit.com/retail-life/check-circle-ou.svg" alt="" />
74
+ </span>
75
+ </mat-form-field>
76
+ <div >
77
+ <span class="checkbox-tag">Tag as:</span>
78
+ <span *ngFor="let options of field()?.options" class="checkbox">
79
+ <mat-checkbox class="optional-checkbox">
80
+ {{options.label}}
81
+ </mat-checkbox>
82
+ </span>
83
+ </div>
84
+
@@ -0,0 +1,57 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { MatInputModule } from '@angular/material/input';
3
+ import { MatFormFieldModule } from '@angular/material/form-field';
4
+ import { CommonModule } from '@angular/common';
5
+ import { MatCheckboxModule } from '@angular/material/checkbox';
6
+ import { MatSelectModule } from '@angular/material/select';
7
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
8
+
9
+ @Component({
10
+ selector: 'lib-otp-textbox',
11
+ standalone: true,
12
+ imports: [
13
+ MatInputModule,
14
+ MatFormFieldModule,
15
+ CommonModule,
16
+ MatCheckboxModule,
17
+ MatSelectModule,
18
+ ReactiveFormsModule
19
+ ],
20
+ templateUrl: './otp-textbox.component.html',
21
+ styleUrl: './otp-textbox.component.css',
22
+ providers: [
23
+ {
24
+ provide: NG_VALUE_ACCESSOR,
25
+ useExisting: OtpTextboxComponent,
26
+ multi: true
27
+ }
28
+ ]
29
+ })
30
+ export class OtpTextboxComponent {
31
+ constructor(){}
32
+ field : any = input.required<any>();
33
+ inputValue: any = null;
34
+ reactiveFormControlobject : any = input<any>();
35
+ _onChange: any = (inputValue:any) => {};
36
+ _unTouched: any = () => {};
37
+
38
+ writeValue(obj: any): void{
39
+ this.inputValue=obj;
40
+ };
41
+ registerOnChange(fn: any): void{
42
+ this._onChange = fn;
43
+ };
44
+ registerOnTouched(fn: any): void{
45
+ this._unTouched = fn;
46
+ };
47
+ setDisabledState?(isDisabled: boolean): void{};
48
+
49
+ onInputChange(event: any): void {
50
+ this.inputValue = event.target.value;
51
+ this._onChange(this.inputValue);
52
+ }
53
+
54
+ onInputBlur(): void {
55
+ this._unTouched();
56
+ }
57
+ }
@@ -0,0 +1,35 @@
1
+ .nudge-container{
2
+ width: var(--page-nudge-width , auto) !important;
3
+ height: var(--page-nudge-height , auto);
4
+ opacity: 1;
5
+ padding: 16px;
6
+ background: var(--page-nudge-bg , #F5F5F5);
7
+ border-radius: var(--page-nudge-border-radius , 4px);
8
+ border-width: var(--page-nudge-border-width , 1px);
9
+ border-color: var(--page-nudge-border-color , #DDDDDD);
10
+ border-style: var(--page-nudge-border-style , solid);
11
+ position: relative;
12
+ }
13
+
14
+ .page-fold {
15
+ width: 0;
16
+ height: 0;
17
+ border-top: 12px solid transparent;
18
+ border-right: 12px solid #DDD;
19
+ border-bottom: 12px solid transparent;
20
+ position: absolute;
21
+ right: 6px;
22
+ transform: rotate(45deg);
23
+ bottom: 0px;
24
+ }
25
+ .page-fold-below{
26
+ width: 0;
27
+ height: 0;
28
+ border-top: 16px solid transparent;
29
+ border-left: 15px solid #ffffff;
30
+ border-bottom: 15px solid transparent;
31
+ position: absolute;
32
+ right: -4px;
33
+ transform: rotate(45deg);
34
+ bottom: -12px;
35
+ }
@@ -0,0 +1,13 @@
1
+ <div class="nudge-container" *ngIf="field() && field()?.isVisible" [ngStyle]="{
2
+ '--page-nudge-width': field()?.controlStyle?.borderColor ,
3
+ '--page-nudge-height': field()?.controlStyle?.borderWidth ,
4
+ '--page-nudge-bg': field()?.controlStyle?.borderRadius ,
5
+ '--page-nudge-border-radius': field()?.controlStyle?.background ,
6
+ '--page-nudge-border-width': field()?.controlStyle?.focusBorderColor ,
7
+ '--page-nudge-border-color': field()?.controlStyle?.focusBorderWidth ,
8
+ '--page-nudge-border-style': field()?.controlStyle?.focusBackground
9
+ }">
10
+ {{ field()?.label }}
11
+ <div class="page-fold"></div>
12
+ <div class="page-fold-below"></div>
13
+ </div>
@@ -0,0 +1,13 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, input } from '@angular/core';
3
+
4
+ @Component({
5
+ selector: 'lib-page-nudge',
6
+ standalone: true,
7
+ imports: [CommonModule],
8
+ templateUrl: './page-nudge.component.html',
9
+ styleUrl: './page-nudge.component.css'
10
+ })
11
+ export class PageNudgeComponent {
12
+ field : any = input.required<any>();
13
+ }
@@ -0,0 +1,36 @@
1
+ .pay-card {
2
+ max-width: var(--pay-card-width , 296px) !important;
3
+ max-height: 62px;
4
+ border: 1px solid #f5f5f5;
5
+ border-radius: var(--pay-card-border-radius , 8px) !important;
6
+ background-color: var(--pay-card-bg-color , #f5f5f5) !important;
7
+ padding: 2px 4px 10px 10px;
8
+ border-color: var(--pay-card-border-color , #f5f5f5) !important;
9
+ border-width: var(--pay-card-border-width , none) !important;
10
+ }
11
+ .grey-label {
12
+ font-size: 12px;
13
+ font-weight: 700;
14
+ color: #696969;
15
+ line-height: 16px;
16
+ }
17
+ .bold-label {
18
+ font-size: 14px;
19
+ font-weight: 700;
20
+ line-height: 20px;
21
+ color: #444;
22
+ }
23
+ .light-label {
24
+ font-size: 12px;
25
+ font-weight: 400;
26
+ line-height: 16px;
27
+ color: #000;
28
+ }
29
+ .premium-card {
30
+ background: #ffffff;
31
+ padding: 0px 6px 6px 6px;
32
+ height: 54px;
33
+ width: 187px;
34
+ border-radius: 4px;
35
+ text-align: center;
36
+ }
@@ -0,0 +1,20 @@
1
+ <div
2
+ class="d-flex justify-content-between pay-card"
3
+ [ngStyle]="{
4
+ '--pay-card-border-color': field()?.controlStyle?.borderColor ,
5
+ '--pay-card-border-width': field()?.controlStyle?.borderWidth ,
6
+ '--pay-card-border-radius': field()?.controlStyle?.borderRadius ,
7
+ '--pay-card-bg-color': field()?.controlStyle?.background ,
8
+ '--pay-card-width': field()?.controlStyle?.width ,
9
+ }"
10
+ >
11
+ <div class="text-center mx-2">
12
+ <span class="bold-label">Pay</span> <br />
13
+ <span class="grey-label">{{payAmount}}</span>
14
+ </div>
15
+ <div class="premium-card">
16
+ <span class="light-label"><b class="bold-label">{{premiumAmount}}</b>/ {{frequency}}</span>
17
+ <br />
18
+ <span class="grey-label">for {{ptValue}} years (till {{years}})</span>
19
+ </div>
20
+ </div>
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, input } from '@angular/core';
3
+
4
+ @Component({
5
+ selector: 'lib-pay-get-card',
6
+ standalone: true,
7
+ imports: [CommonModule],
8
+ templateUrl: './pay-get-card.component.html',
9
+ styleUrl: './pay-get-card.component.css'
10
+ })
11
+ export class PayGetCardComponent {
12
+ field: any = input.required<any>();
13
+ @Input() payAmount: any = '₹6,00,000';
14
+ @Input() premiumAmount: any= '₹10,000';
15
+ @Input() ptValue: any= 5;
16
+ @Input() years: any= '2030';
17
+ @Input() frequency: any= 'month';
18
+ }
@@ -0,0 +1,57 @@
1
+ .radio-selection-border {
2
+ border: 1px solid #ffbb00 !important;
3
+ background: #fffaeb !important;
4
+ }
5
+ * {
6
+ font-family: "mulish" !important;
7
+ }
8
+ .field-lable{
9
+ font-size: 10px !important;
10
+ font-weight: 700 !important;
11
+ color: #444 !important;
12
+ margin-bottom: 0px !important;
13
+ }
14
+ .error-message{
15
+ color: red;
16
+ }
17
+ .radio-btn-group {
18
+ display: flex;
19
+ gap: 6px;
20
+ height: 32px;
21
+ }
22
+ ::ng-deep .radio-btn-gender .mdc-form-field .mdc-radio {
23
+ display: none !important;
24
+ }
25
+ .radio-card-gender {
26
+ box-shadow: none;
27
+ border-color : var(--radio-button-border-color,#DADADA);
28
+ border-width : var(--radio-button-border-width, 1px solid);
29
+ background: var(--radio-button-background-color, #FFFFFF);
30
+ display: flex;
31
+ align-items: center;
32
+ cursor: pointer;
33
+ width: max-content !important;
34
+ border-radius: var(--radio-button-border-radius, 6px);;
35
+ }
36
+ ::ng-deep .radioButtonGender .mdc-form-field .mdc-radio {
37
+ display: none !important;
38
+ }
39
+ .forRadioLabel {
40
+ font-size: var(--radio-button-font-size, 12px) !important;
41
+ font-weight: var(--radio-button-font-weight, 400);
42
+ cursor: pointer;
43
+ color: var(--radio-button-font-color, #444444);
44
+ }
45
+ .radio-btn-icon{
46
+ margin-top: -2px;
47
+ margin-left: 4px;
48
+ }
49
+ .selected-radio-btn {
50
+ border: 1px solid #ffbb00 !important;
51
+ }
52
+ .disable-radio-btn {
53
+ background: rgba(245, 245, 245, 1);
54
+ border: 1px solid var(--Colors-Greys-Border-Grey, rgba(221, 221, 221, 1));
55
+ pointer-events: none;
56
+ cursor: none;
57
+ }
@@ -0,0 +1,37 @@
1
+ <label class="field-lable" *ngIf="field() && field()?.isVisible && field().isShowLabel" [ngStyle]="{
2
+ }"> {{field()?.label}} <span class="error-message" *ngIf="field()?.validators?.isRequired">*</span> </label>
3
+ <mat-radio-group class="w-100" *ngIf="field() && field()?.isVisible"
4
+ class="radio-btn-group radio-btn-gender"
5
+ [required]="field()?.validators?.isRequired"
6
+ [value]="inputValue"
7
+ >
8
+ <div
9
+ class="card radio-card-gender py-auto px-1"
10
+ *ngFor="let data of field()?.options"
11
+ [ngClass]="{'disable-radio-btn': field()?.isDisable}"
12
+ [ngStyle]="{
13
+ '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,
14
+ '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,
15
+ '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,
16
+ '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,
17
+ }"
18
+ >
19
+ <mat-radio-button
20
+ style="min-width: 72px; text-align: center;"
21
+ class="radioButtonGender"
22
+ (click)="onValueChange(data.value)"
23
+ [value]="data.value"
24
+ >
25
+ <span style="white-space: pre-line;" class="forRadioLabel" [ngStyle]="{
26
+ '--radio-button-font-weight': field()?.controlStyle?.fontWeight,
27
+ '--radio-button-font-size': field()?.controlStyle?.fontSize,
28
+ '--radio-button-font-color': field()?.controlStyle?.color,
29
+ }">{{ data.label }}
30
+ <img class="radio-btn-icon" *ngIf="field()?.imageUrl" [src]="field()?.imageUrl" alt="">
31
+ </span>
32
+ </mat-radio-button>
33
+ </div>
34
+ </mat-radio-group>
35
+ <div class="error-message" *ngIf="false">
36
+ {{field()?.validators?.patternMessage}}.
37
+ </div>
@@ -0,0 +1,55 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, forwardRef, Input, input } from '@angular/core';
3
+ import { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatRadioModule } from '@angular/material/radio';
5
+ import { MasterControlService } from '../master-control.service';
6
+
7
+ @Component({
8
+ selector: 'lib-radio',
9
+ standalone: true,
10
+ imports: [
11
+ MatRadioModule,
12
+ CommonModule,
13
+ ReactiveFormsModule
14
+ ],
15
+ templateUrl: './radio.component.html',
16
+ styleUrl: './radio.component.css',
17
+ providers: [
18
+ {
19
+ provide: NG_VALUE_ACCESSOR,
20
+ useExisting: RadioComponent,
21
+ multi: true
22
+ }
23
+ ]
24
+ })
25
+ export class RadioComponent implements ControlValueAccessor {
26
+ constructor(public masterService : MasterControlService){}
27
+ field : any = input.required<any>();
28
+ inputValue: any = null;
29
+
30
+ onChange: any = () => {};
31
+ onTouched: any = () => {};
32
+
33
+ ngOnInit(): void {
34
+ // Initialize inputValue with a default or initial value if needed
35
+ }
36
+
37
+ writeValue(value: any): void {
38
+ this.inputValue = value;
39
+ }
40
+
41
+ registerOnChange(fn: any): void {
42
+ this.onChange = fn;
43
+ }
44
+
45
+ registerOnTouched(fn: any): void {
46
+ this.onTouched = fn;
47
+ }
48
+
49
+ onValueChange(newValue: any): void {
50
+ this.inputValue = newValue;
51
+ this.onChange(newValue);
52
+ this.onTouched();
53
+ }
54
+
55
+ }