carriera-intern 0.0.0

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 (597) hide show
  1. package/.cursor/rules/icons.mdc +7 -0
  2. package/.editorconfig +17 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +59 -0
  7. package/angular.json +94 -0
  8. package/carriera-intern@0.0.0 +0 -0
  9. package/package.json +61 -0
  10. package/projects/carriera-intern-components/.storybook/main.ts +12 -0
  11. package/projects/carriera-intern-components/.storybook/preview-head.html +13 -0
  12. package/projects/carriera-intern-components/.storybook/preview.ts +54 -0
  13. package/projects/carriera-intern-components/.storybook/tsconfig.doc.json +10 -0
  14. package/projects/carriera-intern-components/.storybook/tsconfig.json +11 -0
  15. package/projects/carriera-intern-components/.storybook/typings.d.ts +4 -0
  16. package/projects/carriera-intern-components/README.md +63 -0
  17. package/projects/carriera-intern-components/ng-package.json +14 -0
  18. package/projects/carriera-intern-components/package.json +14 -0
  19. package/projects/carriera-intern-components/public/assets/animations/animation-document-update.json +1 -0
  20. package/projects/carriera-intern-components/public/assets/animations/animation-image.json +1 -0
  21. package/projects/carriera-intern-components/public/assets/animations/animation-logo.json +1 -0
  22. package/projects/carriera-intern-components/public/assets/animations/animation-media.json +1 -0
  23. package/projects/carriera-intern-components/public/assets/cdl.png +0 -0
  24. package/projects/carriera-intern-components/public/assets/exampledoc.png +0 -0
  25. package/projects/carriera-intern-components/public/assets/examplelargeview.png +0 -0
  26. package/projects/carriera-intern-components/public/assets/icons/Thumb-active.svg +3 -0
  27. package/projects/carriera-intern-components/public/assets/icons/Thumb.svg +3 -0
  28. package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-primary-up.svg +3 -0
  29. package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-down.svg +3 -0
  30. package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-left.svg +3 -0
  31. package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-right.svg +3 -0
  32. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_bbt.svg +5 -0
  33. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_bmo_harris.svg +13 -0
  34. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_capital_one.svg +11 -0
  35. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_chase.svg +11 -0
  36. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_chime.svg +10 -0
  37. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_citi.svg +8 -0
  38. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_fifth_third.svg +14 -0
  39. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_green_dot.svg +17 -0
  40. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_mb_financial.svg +5 -0
  41. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_meta.svg +11 -0
  42. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_navi_federal.svg +14 -0
  43. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_of_america.svg +5 -0
  44. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_pnc.svg +10 -0
  45. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_regions.svg +14 -0
  46. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_renasant.svg +14 -0
  47. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_tcf.svg +11 -0
  48. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_truist.svg +3 -0
  49. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_us.svg +4 -0
  50. package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_wells_fargo.svg +3 -0
  51. package/projects/carriera-intern-components/public/assets/icons/cai-color.svg +3 -0
  52. package/projects/carriera-intern-components/public/assets/icons/cai-drop-zone-focus.svg +48 -0
  53. package/projects/carriera-intern-components/public/assets/icons/cai-edit.svg +4 -0
  54. package/projects/carriera-intern-components/public/assets/icons/cai-edit2.svg +3 -0
  55. package/projects/carriera-intern-components/public/assets/icons/cai-expand.svg +3 -0
  56. package/projects/carriera-intern-components/public/assets/icons/cai-gps.svg +3 -0
  57. package/projects/carriera-intern-components/public/assets/icons/cai-illustration-dark.svg +4 -0
  58. package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-cover.svg +34 -0
  59. package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-profile.svg +58 -0
  60. package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-video.svg +41 -0
  61. package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone.svg +43 -0
  62. package/projects/carriera-intern-components/public/assets/icons/cai-illustration.svg +18 -0
  63. package/projects/carriera-intern-components/public/assets/icons/cai-loader.svg +3 -0
  64. package/projects/carriera-intern-components/public/assets/icons/cai-search.svg +3 -0
  65. package/projects/carriera-intern-components/public/assets/icons/cai-violation-hazmat.svg +3 -0
  66. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-contact.svg +3 -0
  67. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-count.svg +3 -0
  68. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-fuel-card.svg +3 -0
  69. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-people.svg +3 -0
  70. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-share.svg +3 -0
  71. package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-user-2.svg +3 -0
  72. package/projects/carriera-intern-components/public/assets/icons/general/cai-address.svg +3 -0
  73. package/projects/carriera-intern-components/public/assets/icons/general/cai-checkmark.svg +3 -0
  74. package/projects/carriera-intern-components/public/assets/icons/general/cai-date.svg +3 -0
  75. package/projects/carriera-intern-components/public/assets/icons/general/cai-email.svg +3 -0
  76. package/projects/carriera-intern-components/public/assets/icons/general/cai-fax.svg +5 -0
  77. package/projects/carriera-intern-components/public/assets/icons/general/cai-label.svg +3 -0
  78. package/projects/carriera-intern-components/public/assets/icons/general/cai-money-additional.svg +3 -0
  79. package/projects/carriera-intern-components/public/assets/icons/general/cai-money.svg +3 -0
  80. package/projects/carriera-intern-components/public/assets/icons/general/cai-phone-extension.svg +3 -0
  81. package/projects/carriera-intern-components/public/assets/icons/general/cai-phone.svg +3 -0
  82. package/projects/carriera-intern-components/public/assets/icons/general/cai-sort-by.svg +3 -0
  83. package/projects/carriera-intern-components/public/assets/icons/general/cai-sort-descending.svg +4 -0
  84. package/projects/carriera-intern-components/public/assets/icons/general/cai-website.svg +3 -0
  85. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_corrosive_8.svg +6 -0
  86. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_dangerous_when_wet_4.svg +4 -0
  87. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_1.svg +6 -0
  88. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_2.svg +6 -0
  89. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_3.svg +6 -0
  90. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_4.svg +6 -0
  91. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_5.svg +6 -0
  92. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_6.svg +6 -0
  93. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_3.svg +4 -0
  94. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_gas_2.svg +4 -0
  95. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_solid_4.svg +5 -0
  96. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_inhalation_hazzard_2.svg +5 -0
  97. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_inhalation_hazzard_6.svg +5 -0
  98. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_organic_peroxide_5_2.svg +7 -0
  99. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_oxidizer_5_1.svg +6 -0
  100. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_oxygen_non_flam_gas_2.svg +6 -0
  101. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_radioactive_7.svg +5 -0
  102. package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_spontaneously_combustible_4.svg +5 -0
  103. package/projects/carriera-intern-components/public/assets/icons/integration/cai-efs.svg +4 -0
  104. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-cancel.svg +3 -0
  105. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-copy.svg +3 -0
  106. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-dislike.svg +3 -0
  107. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-drag.svg +3 -0
  108. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-favorite.svg +3 -0
  109. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-like.svg +3 -0
  110. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-minus.svg +3 -0
  111. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-hidden.svg +3 -0
  112. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-key.svg +3 -0
  113. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-shown.svg +3 -0
  114. package/projects/carriera-intern-components/public/assets/icons/interaction/cai-plus.svg +3 -0
  115. package/projects/carriera-intern-components/public/assets/icons/interaction/cai_time.svg +3 -0
  116. package/projects/carriera-intern-components/public/assets/icons/interaction/cai_x.svg +4 -0
  117. package/projects/carriera-intern-components/public/assets/icons/load/cai-driver.svg +3 -0
  118. package/projects/carriera-intern-components/public/assets/icons/load/cai-load.svg +5 -0
  119. package/projects/carriera-intern-components/public/assets/icons/load/cai-ltl-single.svg +3 -0
  120. package/projects/carriera-intern-components/public/assets/icons/load/cai-parking.svg +3 -0
  121. package/projects/carriera-intern-components/public/assets/icons/load/cai-weight.svg +3 -0
  122. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_atro.svg +6 -0
  123. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_beall.svg +7 -0
  124. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_bedard.svg +8 -0
  125. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_butler.svg +7 -0
  126. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_de_lucio.svg +17 -0
  127. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_dorsey.svg +3 -0
  128. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_east.svg +3 -0
  129. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_fontaine.svg +3 -0
  130. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_fruehauf.svg +3 -0
  131. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_gallegos.svg +3 -0
  132. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_great_dane.svg +3 -0
  133. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_heil.svg +6 -0
  134. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_hudson.svg +3 -0
  135. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_hyndai.svg +3 -0
  136. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_kaufman.svg +3 -0
  137. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_mac.svg +3 -0
  138. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_manac.svg +3 -0
  139. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_polar.svg +3 -0
  140. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_ravens.svg +3 -0
  141. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_reitnouer.svg +12 -0
  142. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_strick.svg +3 -0
  143. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_timpte.svg +8 -0
  144. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_trail_king.svg +7 -0
  145. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_transcraft.svg +12 -0
  146. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_tremcar.svg +10 -0
  147. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_tytal.svg +3 -0
  148. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_utility.svg +3 -0
  149. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_vanguard.svg +3 -0
  150. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_vantage.svg +3 -0
  151. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_wabash.svg +3 -0
  152. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_walinga.svg +8 -0
  153. package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_wilson.svg +3 -0
  154. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_chevrolet.svg +3 -0
  155. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_ford.svg +3 -0
  156. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_freightliner.svg +3 -0
  157. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_gmc.svg +3 -0
  158. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_hino.svg +3 -0
  159. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_international.svg +3 -0
  160. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_isuzu.svg +3 -0
  161. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_kenworth.svg +3 -0
  162. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_mack.svg +3 -0
  163. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_peterbilt.svg +3 -0
  164. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_volvo.svg +3 -0
  165. package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_western_star.svg +3 -0
  166. package/projects/carriera-intern-components/public/assets/icons/menu/cai-delete.svg +4 -0
  167. package/projects/carriera-intern-components/public/assets/icons/menu/cai-download.svg +3 -0
  168. package/projects/carriera-intern-components/public/assets/icons/menu/cai-reset.svg +3 -0
  169. package/projects/carriera-intern-components/public/assets/icons/pm/cai-pm-base.svg +3 -0
  170. package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-pm-general.svg +3 -0
  171. package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-pm-pto-pump.svg +5 -0
  172. package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-repair-reefer.svg +3 -0
  173. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-air-filter.svg +5 -0
  174. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-alignment.svg +5 -0
  175. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-battery.svg +3 -0
  176. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-belts.svg +5 -0
  177. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-brake-chamber.svg +3 -0
  178. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-engine-oil-filter.svg +4 -0
  179. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-engine-tune-up.svg +3 -0
  180. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-radiator.svg +3 -0
  181. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-transmission-fluid.svg +4 -0
  182. package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-turbo.svg +3 -0
  183. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-ab.svg +3 -0
  184. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-bc.svg +35 -0
  185. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-mb.svg +3 -0
  186. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-nb.svg +7 -0
  187. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-nl.svg +4 -0
  188. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-ns.svg +6 -0
  189. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-on.svg +7 -0
  190. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-pe.svg +3 -0
  191. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-qc.svg +4 -0
  192. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-sk.svg +3 -0
  193. package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-yt.svg +3 -0
  194. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ak.svg +14 -0
  195. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-al.svg +3 -0
  196. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ar.svg +3 -0
  197. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-az.svg +3 -0
  198. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ca.svg +3 -0
  199. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-co.svg +3 -0
  200. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ct.svg +3 -0
  201. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-de.svg +3 -0
  202. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-fl.svg +3 -0
  203. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ga.svg +3 -0
  204. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-hi.svg +10 -0
  205. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ia.svg +3 -0
  206. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-id.svg +3 -0
  207. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-il.svg +3 -0
  208. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-in.svg +3 -0
  209. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ks.svg +3 -0
  210. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ky.svg +3 -0
  211. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-la.svg +4 -0
  212. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ma.svg +7 -0
  213. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-md.svg +7 -0
  214. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-me.svg +9 -0
  215. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mi.svg +11 -0
  216. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mn.svg +4 -0
  217. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mo.svg +3 -0
  218. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ms.svg +3 -0
  219. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mt.svg +3 -0
  220. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nc.svg +3 -0
  221. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nd.svg +3 -0
  222. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ne.svg +3 -0
  223. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nh.svg +3 -0
  224. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nj.svg +5 -0
  225. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nm.svg +3 -0
  226. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nv.svg +3 -0
  227. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ny.svg +4 -0
  228. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-oh.svg +4 -0
  229. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ok.svg +3 -0
  230. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-or.svg +3 -0
  231. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-pa.svg +3 -0
  232. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ri.svg +8 -0
  233. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-sc.svg +3 -0
  234. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-sd.svg +3 -0
  235. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-tn.svg +3 -0
  236. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-tx.svg +3 -0
  237. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ut.svg +3 -0
  238. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-va.svg +4 -0
  239. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-vt.svg +7 -0
  240. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wa.svg +15 -0
  241. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wi.svg +4 -0
  242. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wv.svg +3 -0
  243. package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wy.svg +3 -0
  244. package/projects/carriera-intern-components/public/assets/icons/status/cai-status-warning-lite.svg +3 -0
  245. package/projects/carriera-intern-components/public/assets/icons/status/cai-status-warning.svg +3 -0
  246. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_bottom-dump.svg +5 -0
  247. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_carhauler-stinger.svg +5 -0
  248. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_carhauler.svg +5 -0
  249. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_chassis.svg +5 -0
  250. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_conestoga.svg +13 -0
  251. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_container.svg +6 -0
  252. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_dryvan.svg +5 -0
  253. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_end-dump.svg +5 -0
  254. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_flatbed.svg +5 -0
  255. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_hopper.svg +6 -0
  256. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_low-boy.svg +6 -0
  257. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_reefer.svg +5 -0
  258. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_side-kit.svg +6 -0
  259. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_step-deck.svg +7 -0
  260. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_tanker-pneumatic.svg +5 -0
  261. package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_tanker.svg +5 -0
  262. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_box-truck.svg +7 -0
  263. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_car-hauler.svg +7 -0
  264. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_cargo-van.svg +5 -0
  265. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_cement.svg +8 -0
  266. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_dump.svg +8 -0
  267. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_garbage.svg +10 -0
  268. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_reefer.svg +6 -0
  269. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_semi-truck.svg +8 -0
  270. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_semi-wSleeper.svg +8 -0
  271. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_spotter.svg +6 -0
  272. package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_tow-truck.svg +8 -0
  273. package/projects/carriera-intern-components/public/assets/invexample.png +0 -0
  274. package/projects/carriera-intern-components/public/assets/invoice.png +0 -0
  275. package/projects/carriera-intern-components/public/assets/json/icons.json +985 -0
  276. package/projects/carriera-intern-components/public/assets/truck.png +0 -0
  277. package/projects/carriera-intern-components/public/favicon.ico +0 -0
  278. package/projects/carriera-intern-components/src/Changelog.mdx +285 -0
  279. package/projects/carriera-intern-components/src/Icons.mdx +279 -0
  280. package/projects/carriera-intern-components/src/app/app.config.ts +26 -0
  281. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.html +28 -0
  282. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.scss +414 -0
  283. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.spec.ts +23 -0
  284. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.ts +66 -0
  285. package/projects/carriera-intern-components/src/app/components/avatar/avatar.stories.ts +787 -0
  286. package/projects/carriera-intern-components/src/app/components/avatar/models/avatar.model.ts +52 -0
  287. package/projects/carriera-intern-components/src/app/components/avatar/models/index.ts +1 -0
  288. package/projects/carriera-intern-components/src/app/components/avatar/pipes/avatar-classes.pipe.ts +98 -0
  289. package/projects/carriera-intern-components/src/app/components/avatar/pipes/index.ts +2 -0
  290. package/projects/carriera-intern-components/src/app/components/avatar/pipes/initials.pipe.ts +31 -0
  291. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.css +0 -0
  292. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.html +10 -0
  293. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.spec.ts +23 -0
  294. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.ts +25 -0
  295. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.stories.ts +65 -0
  296. package/projects/carriera-intern-components/src/app/components/copy/copy.component.html +66 -0
  297. package/projects/carriera-intern-components/src/app/components/copy/copy.component.scss +103 -0
  298. package/projects/carriera-intern-components/src/app/components/copy/copy.component.spec.ts +22 -0
  299. package/projects/carriera-intern-components/src/app/components/copy/copy.component.ts +57 -0
  300. package/projects/carriera-intern-components/src/app/components/copy/stories/copy.stories.ts +170 -0
  301. package/projects/carriera-intern-components/src/app/components/counter/counter.component.html +33 -0
  302. package/projects/carriera-intern-components/src/app/components/counter/counter.component.scss +197 -0
  303. package/projects/carriera-intern-components/src/app/components/counter/counter.component.spec.ts +22 -0
  304. package/projects/carriera-intern-components/src/app/components/counter/counter.component.ts +219 -0
  305. package/projects/carriera-intern-components/src/app/components/counter/counter.stories.ts +65 -0
  306. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.html +223 -0
  307. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.scss +792 -0
  308. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.spec.ts +23 -0
  309. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.ts +323 -0
  310. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.stories.ts +409 -0
  311. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/helpers/dispatch-dropdown.helper.ts +248 -0
  312. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-config.interface.ts +10 -0
  313. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-option.interface.ts +4 -0
  314. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/index.ts +2 -0
  315. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/mock/parking-data.json +1550 -0
  316. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/pipes/dispatch-search-filter.pipe.ts +26 -0
  317. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.html +76 -0
  318. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.scss +141 -0
  319. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.spec.ts +22 -0
  320. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.ts +268 -0
  321. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.stories.ts +184 -0
  322. package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/index.ts +1 -0
  323. package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/last-status-data.interface.ts +6 -0
  324. package/projects/carriera-intern-components/src/app/components/dispatch-location/pipes/last-status-format.pipe.ts +35 -0
  325. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.html +229 -0
  326. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.scss +1115 -0
  327. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.spec.ts +23 -0
  328. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.ts +277 -0
  329. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.stories.ts +256 -0
  330. package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/document-tag.interface.ts +4 -0
  331. package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/index.ts +1 -0
  332. package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/button-actions.config.ts +30 -0
  333. package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/index.ts +1 -0
  334. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.html +376 -0
  335. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.scss +9 -0
  336. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.spec.ts +22 -0
  337. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.ts +1272 -0
  338. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.stories.ts +1253 -0
  339. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-labels.enum.ts +0 -0
  340. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-variant.enum.ts +7 -0
  341. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/index.ts +1 -0
  342. package/projects/carriera-intern-components/src/app/components/drop-zone/models/app-file.model.ts +28 -0
  343. package/projects/carriera-intern-components/src/app/components/drop-zone/models/file.response.ts +10 -0
  344. package/projects/carriera-intern-components/src/app/components/drop-zone/models/index.ts +2 -0
  345. package/projects/carriera-intern-components/src/app/components/drop-zone/pipes/drag-mode-animation.pipe.ts +40 -0
  346. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/drop-zone-documents.helper.ts +67 -0
  347. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/index.ts +1 -0
  348. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-cropper.scss +202 -0
  349. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-documents.scss +166 -0
  350. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-drag-mode.scss +107 -0
  351. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-images.scss +106 -0
  352. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-layout.scss +208 -0
  353. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-states.scss +183 -0
  354. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-variations.scss +189 -0
  355. package/projects/carriera-intern-components/src/app/components/input/directives/helpers/index.ts +1 -0
  356. package/projects/carriera-intern-components/src/app/components/input/directives/helpers/mask.helper.ts +52 -0
  357. package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.spec.ts +13 -0
  358. package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.ts +274 -0
  359. package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.spec.ts +13 -0
  360. package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.ts +442 -0
  361. package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.spec.ts +13 -0
  362. package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.ts +282 -0
  363. package/projects/carriera-intern-components/src/app/components/input/input.component.html +2669 -0
  364. package/projects/carriera-intern-components/src/app/components/input/input.component.scss +3000 -0
  365. package/projects/carriera-intern-components/src/app/components/input/input.component.spec.ts +23 -0
  366. package/projects/carriera-intern-components/src/app/components/input/input.component.ts +1486 -0
  367. package/projects/carriera-intern-components/src/app/components/input/mock/banks.json +249 -0
  368. package/projects/carriera-intern-components/src/app/components/input/mock/basic.json +42 -0
  369. package/projects/carriera-intern-components/src/app/components/input/mock/brokers.json +544 -0
  370. package/projects/carriera-intern-components/src/app/components/input/mock/colors.json +95 -0
  371. package/projects/carriera-intern-components/src/app/components/input/mock/commodities.json +12 -0
  372. package/projects/carriera-intern-components/src/app/components/input/mock/contacts.json +117 -0
  373. package/projects/carriera-intern-components/src/app/components/input/mock/dispatchers.json +83 -0
  374. package/projects/carriera-intern-components/src/app/components/input/mock/dispatches.json +4188 -0
  375. package/projects/carriera-intern-components/src/app/components/input/mock/fuel-list-dropdown.json +968 -0
  376. package/projects/carriera-intern-components/src/app/components/input/mock/fuel-transaction.json +78 -0
  377. package/projects/carriera-intern-components/src/app/components/input/mock/fuelcard.json +472 -0
  378. package/projects/carriera-intern-components/src/app/components/input/mock/hazardous.json +166 -0
  379. package/projects/carriera-intern-components/src/app/components/input/mock/labelColors.json +81 -0
  380. package/projects/carriera-intern-components/src/app/components/input/mock/labels.json +169 -0
  381. package/projects/carriera-intern-components/src/app/components/input/mock/new-load-modal-res.json +1148 -0
  382. package/projects/carriera-intern-components/src/app/components/input/mock/noboard.json +1665 -0
  383. package/projects/carriera-intern-components/src/app/components/input/mock/owner.json +209 -0
  384. package/projects/carriera-intern-components/src/app/components/input/mock/pm.json +112 -0
  385. package/projects/carriera-intern-components/src/app/components/input/mock/shipper.json +1192 -0
  386. package/projects/carriera-intern-components/src/app/components/input/mock/split-driver.json +99 -0
  387. package/projects/carriera-intern-components/src/app/components/input/mock/split-trailer.json +79 -0
  388. package/projects/carriera-intern-components/src/app/components/input/mock/split-truck.json +49 -0
  389. package/projects/carriera-intern-components/src/app/components/input/mock/states.json +605 -0
  390. package/projects/carriera-intern-components/src/app/components/input/mock/toll.json +106 -0
  391. package/projects/carriera-intern-components/src/app/components/input/mock/trailermakes.json +196 -0
  392. package/projects/carriera-intern-components/src/app/components/input/mock/truck_trailer.json +184 -0
  393. package/projects/carriera-intern-components/src/app/components/input/mock/truckmakes.json +76 -0
  394. package/projects/carriera-intern-components/src/app/components/input/models/dropdown.model.ts +376 -0
  395. package/projects/carriera-intern-components/src/app/components/input/models/index.ts +2 -0
  396. package/projects/carriera-intern-components/src/app/components/input/models/input.model.ts +227 -0
  397. package/projects/carriera-intern-components/src/app/components/input/pipes/broker-progress.pipe.ts +36 -0
  398. package/projects/carriera-intern-components/src/app/components/input/pipes/clear-tooltip.pipe.ts +38 -0
  399. package/projects/carriera-intern-components/src/app/components/input/pipes/error-message.pipe.ts +54 -0
  400. package/projects/carriera-intern-components/src/app/components/input/pipes/highlight-search.pipe.ts +42 -0
  401. package/projects/carriera-intern-components/src/app/components/input/pipes/index.ts +6 -0
  402. package/projects/carriera-intern-components/src/app/components/input/pipes/input-class.pipe.ts +109 -0
  403. package/projects/carriera-intern-components/src/app/components/input/pipes/remap-pm-icons.pipe.ts +49 -0
  404. package/projects/carriera-intern-components/src/app/components/input/stories/Documentation.mdx +190 -0
  405. package/projects/carriera-intern-components/src/app/components/input/stories/dropdown-options.ts +80 -0
  406. package/projects/carriera-intern-components/src/app/components/input/stories/dropdown.stories.ts +376 -0
  407. package/projects/carriera-intern-components/src/app/components/input/stories/input-dropdown.stories.ts +405 -0
  408. package/projects/carriera-intern-components/src/app/components/input/stories/input-inverse.stories.ts +232 -0
  409. package/projects/carriera-intern-components/src/app/components/input/stories/input-load.stories.ts +150 -0
  410. package/projects/carriera-intern-components/src/app/components/input/stories/input-placeholder.stories.ts +225 -0
  411. package/projects/carriera-intern-components/src/app/components/input/stories/input-subcontent.stories.ts +264 -0
  412. package/projects/carriera-intern-components/src/app/components/input/stories/input-table.stories.ts +211 -0
  413. package/projects/carriera-intern-components/src/app/components/input/stories/input.stories.ts +1159 -0
  414. package/projects/carriera-intern-components/src/app/components/input/stories/modal.stories.ts +162 -0
  415. package/projects/carriera-intern-components/src/app/components/input/utilities/constants/cast.constants.ts +91 -0
  416. package/projects/carriera-intern-components/src/app/components/input/utilities/constants/index.ts +1 -0
  417. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/index.ts +2 -0
  418. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/input.helper.ts +985 -0
  419. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/keyboard-navigation.helper.ts +402 -0
  420. package/projects/carriera-intern-components/src/app/components/input/utilities/index.ts +2 -0
  421. package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-layers-string.enum.ts +4 -0
  422. package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-type-string.enum.ts +7 -0
  423. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.html +13 -0
  424. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.scss +0 -0
  425. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.spec.ts +22 -0
  426. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.ts +509 -0
  427. package/projects/carriera-intern-components/src/app/components/input-address/models/address-data.model.ts +22 -0
  428. package/projects/carriera-intern-components/src/app/components/input-address/models/address-list.model.ts +6 -0
  429. package/projects/carriera-intern-components/src/app/components/input-address/models/long-lat.model.ts +4 -0
  430. package/projects/carriera-intern-components/src/app/components/input-address/models/sent-address-data.model.ts +25 -0
  431. package/projects/carriera-intern-components/src/app/components/input-address/stories/address.stories.ts +181 -0
  432. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.html +180 -0
  433. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.scss +862 -0
  434. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.ts +1559 -0
  435. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.stories.ts +507 -0
  436. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.html +134 -0
  437. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.scss +0 -0
  438. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.spec.ts +24 -0
  439. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.ts +331 -0
  440. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.html +190 -0
  441. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.scss +0 -0
  442. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.spec.ts +26 -0
  443. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.ts +234 -0
  444. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.html +23 -0
  445. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.scss +0 -0
  446. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.spec.ts +26 -0
  447. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.ts +60 -0
  448. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.html +27 -0
  449. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.scss +0 -0
  450. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.spec.ts +26 -0
  451. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.ts +187 -0
  452. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.html +68 -0
  453. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.scss +0 -0
  454. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.spec.ts +26 -0
  455. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.ts +163 -0
  456. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/cai-input.config.ts +193 -0
  457. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/index.ts +1 -0
  458. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-left-string.enum.ts +5 -0
  459. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-list-preview-string.enum.ts +4 -0
  460. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-main-string.enum.ts +5 -0
  461. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-scroll-type-string.enum.ts +4 -0
  462. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-string.enum.ts +6 -0
  463. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-type-string.enum.ts +3 -0
  464. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/config.enum.ts +7 -0
  465. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-change.model.ts +6 -0
  466. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-type.model.ts +8 -0
  467. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/pipes/calendar-months.pipe.ts +23 -0
  468. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/services/calendar-datetime-picker.service.ts +35 -0
  469. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/strategy/calendar-strategy.ts +120 -0
  470. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/utils/constants/custom-datetime-pickers.constants.ts +48 -0
  471. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/enums/input-config-name-string.enum.ts +7 -0
  472. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/index.ts +1 -0
  473. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/input-datetime.interface.ts +11 -0
  474. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/index.ts +5 -0
  475. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/label-color.model.ts +11 -0
  476. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-clear-class.pipe.ts +105 -0
  477. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-date-time-container-class.pipe.ts +66 -0
  478. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-dropdown-arrow-class.pipe.ts +68 -0
  479. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-placeholder-icon.class.pipe.ts +68 -0
  480. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/show-clear.pipe.ts +20 -0
  481. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/scss/ca-input.colors.scss +287 -0
  482. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.html +194 -0
  483. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.scss +613 -0
  484. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.spec.ts +22 -0
  485. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.ts +208 -0
  486. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.stories.ts +52 -0
  487. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/mock/brokerContacts.json +74 -0
  488. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/models/contact.interface.ts +23 -0
  489. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contact-count.pipe.ts +14 -0
  490. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contacts-height.pipe.ts +34 -0
  491. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/departments-height.pipe.ts +57 -0
  492. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/map-contacts.pipe.ts +51 -0
  493. package/projects/carriera-intern-components/src/app/components/pm/mock/repair-pm.json +2743 -0
  494. package/projects/carriera-intern-components/src/app/components/pm/pm.component.html +82 -0
  495. package/projects/carriera-intern-components/src/app/components/pm/pm.component.scss +260 -0
  496. package/projects/carriera-intern-components/src/app/components/pm/pm.component.spec.ts +23 -0
  497. package/projects/carriera-intern-components/src/app/components/pm/pm.component.ts +207 -0
  498. package/projects/carriera-intern-components/src/app/components/pm/pm.stories.ts +104 -0
  499. package/projects/carriera-intern-components/src/app/components/rating_review/enums/filter-type.enum.ts +7 -0
  500. package/projects/carriera-intern-components/src/app/components/rating_review/enums/review-type.enum.ts +5 -0
  501. package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.spec.ts +8 -0
  502. package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.ts +42 -0
  503. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.html +57 -0
  504. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.scss +94 -0
  505. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.spec.ts +23 -0
  506. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.ts +105 -0
  507. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.stories.ts +451 -0
  508. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.html +236 -0
  509. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.scss +564 -0
  510. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.ts +360 -0
  511. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.html +321 -0
  512. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.scss +887 -0
  513. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.ts +159 -0
  514. package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/index.ts +1 -0
  515. package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/selected-business-field.interface.ts +11 -0
  516. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.html +100 -0
  517. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.scss +239 -0
  518. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.spec.ts +22 -0
  519. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.ts +28 -0
  520. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.stories.ts +132 -0
  521. package/projects/carriera-intern-components/src/app/components/signature/signature.component.html +63 -0
  522. package/projects/carriera-intern-components/src/app/components/signature/signature.component.scss +229 -0
  523. package/projects/carriera-intern-components/src/app/components/signature/signature.component.spec.ts +23 -0
  524. package/projects/carriera-intern-components/src/app/components/signature/signature.component.ts +102 -0
  525. package/projects/carriera-intern-components/src/app/components/signature/signature.stories.ts +32 -0
  526. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/index.ts +1 -0
  527. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/scroll-state.enum.ts +6 -0
  528. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.html +29 -0
  529. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.scss +106 -0
  530. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.spec.ts +23 -0
  531. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.ts +458 -0
  532. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.stories.ts +343 -0
  533. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/index.ts +2 -0
  534. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option-config.interface.ts +4 -0
  535. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option.interface.ts +4 -0
  536. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/index.ts +1 -0
  537. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/tab-search-filter.pipe.ts +20 -0
  538. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.html +66 -0
  539. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.scss +441 -0
  540. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.spec.ts +22 -0
  541. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.ts +105 -0
  542. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option.stories.ts +93 -0
  543. package/projects/carriera-intern-components/src/app/components/text-area/interfaces/index.ts +1 -0
  544. package/projects/carriera-intern-components/src/app/components/text-area/interfaces/text-area.interface.ts +4 -0
  545. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.html +29 -0
  546. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.scss +294 -0
  547. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.spec.ts +23 -0
  548. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.ts +213 -0
  549. package/projects/carriera-intern-components/src/app/components/text-area/text-area.stories.ts +90 -0
  550. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/index.ts +1 -0
  551. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/interval-dropdown-option.interface.ts +10 -0
  552. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.html +98 -0
  553. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.scss +437 -0
  554. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.spec.ts +22 -0
  555. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.ts +160 -0
  556. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.stories.ts +77 -0
  557. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/pipes/dropdown-filter-input-config.pipe.ts +52 -0
  558. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/utils/helpers/interval-dropdown.helper.ts +193 -0
  559. package/projects/carriera-intern-components/src/app/directives/hover-svg-directives.ts +49 -0
  560. package/projects/carriera-intern-components/src/app/directives/index.ts +3 -0
  561. package/projects/carriera-intern-components/src/app/directives/infinite-scroll.directive.ts +64 -0
  562. package/projects/carriera-intern-components/src/app/directives/intersection-observer.directive.ts +50 -0
  563. package/projects/carriera-intern-components/src/app/enums/alignment.enum.ts +4 -0
  564. package/projects/carriera-intern-components/src/app/enums/general-actions.enum.ts +71 -0
  565. package/projects/carriera-intern-components/src/app/enums/index.ts +3 -0
  566. package/projects/carriera-intern-components/src/app/enums/string-placeholder.enum.ts +3 -0
  567. package/projects/carriera-intern-components/src/app/models/pm.model.ts +11 -0
  568. package/projects/carriera-intern-components/src/app/models/review.model.ts +29 -0
  569. package/projects/carriera-intern-components/src/app/models/truck.model.ts +5 -0
  570. package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.spec.ts +8 -0
  571. package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.ts +29 -0
  572. package/projects/carriera-intern-components/src/app/pipes/currency.pipe.spec.ts +8 -0
  573. package/projects/carriera-intern-components/src/app/pipes/currency.pipe.ts +61 -0
  574. package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.spec.ts +8 -0
  575. package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.ts +30 -0
  576. package/projects/carriera-intern-components/src/app/services/document.service.spec.ts +16 -0
  577. package/projects/carriera-intern-components/src/app/services/document.service.ts +168 -0
  578. package/projects/carriera-intern-components/src/app/utils/autofill-validators.ts +32 -0
  579. package/projects/carriera-intern-components/src/app/utils/constants/index.ts +1 -0
  580. package/projects/carriera-intern-components/src/app/utils/constants/input-character-sets.constants.ts +142 -0
  581. package/projects/carriera-intern-components/src/app/utils/index.ts +2 -0
  582. package/projects/carriera-intern-components/src/app/validators/custom-validators.ts +45 -0
  583. package/projects/carriera-intern-components/src/public-api.ts +31 -0
  584. package/projects/carriera-intern-components/src/styles/README.md +59 -0
  585. package/projects/carriera-intern-components/src/styles/_variables.scss +301 -0
  586. package/projects/carriera-intern-components/src/styles/cropper.scss +39 -0
  587. package/projects/carriera-intern-components/src/styles/custompickers.scss +827 -0
  588. package/projects/carriera-intern-components/src/styles/popover.scss +224 -0
  589. package/projects/carriera-intern-components/src/styles/review_variables.scss +45 -0
  590. package/projects/carriera-intern-components/src/styles/tooltip.scss +119 -0
  591. package/projects/carriera-intern-components/src/styles/utility/colors.scss +265 -0
  592. package/projects/carriera-intern-components/src/styles/utility/utilities.scss +17 -0
  593. package/projects/carriera-intern-components/src/styles.scss +43 -0
  594. package/projects/carriera-intern-components/tsconfig.lib.json +15 -0
  595. package/projects/carriera-intern-components/tsconfig.lib.prod.json +11 -0
  596. package/projects/carriera-intern-components/tsconfig.spec.json +15 -0
  597. package/tsconfig.json +33 -0
@@ -0,0 +1,442 @@
1
+ import {
2
+ Directive,
3
+ ElementRef,
4
+ HostListener,
5
+ input,
6
+ OnInit,
7
+ } from '@angular/core';
8
+ import { NumberFormatPipe } from '../../../pipes/number-format.pipe';
9
+
10
+ @Directive({
11
+ selector: '[appNumberFormat]',
12
+ providers: [NumberFormatPipe],
13
+ })
14
+ export class NumberFormatDirective implements OnInit {
15
+ /**
16
+ * Input property to enable or disable the number formatting.
17
+ * Defaults to true, meaning formatting is active by default.
18
+ */
19
+ appNumberFormat = input<boolean>(true);
20
+
21
+ /**
22
+ *
23
+ */
24
+ max = input<number>();
25
+
26
+ /**
27
+ * Input property to enable or disable the number formatting.
28
+ * Defaults to true, meaning formatting is active by default.
29
+ */
30
+ isNumberFormattingDisabled = input<boolean>(false);
31
+
32
+ /**
33
+ * Input property to enable or disable the number formatting.
34
+ * Defaults to true, meaning formatting is active by default.
35
+ */
36
+ disableDecimals = input<boolean>(false);
37
+
38
+ prefix = input<string>('');
39
+
40
+ /**
41
+ * Stores the unformatted, "real" numeric value of the input.
42
+ * This is the value that should be used for calculations or form submissions,
43
+ * as opposed to the formatted display value.
44
+ */
45
+ private realValue: string = '';
46
+
47
+ constructor(private el: ElementRef<HTMLInputElement>) {}
48
+
49
+ /**
50
+ * Lifecycle hook that is called after Angular has initialized all data-bound
51
+ * properties of a directive.
52
+ * If number formatting is enabled, it sets up the initial formatting.
53
+ */
54
+ ngOnInit(): void {
55
+ if (this.appNumberFormat()) {
56
+ this.setupNumberFormatting();
57
+ }
58
+ }
59
+
60
+ /**
61
+ * Initializes the number formatting on the input element.
62
+ * It extracts the initial numeric value from the input's current value
63
+ * and then updates the display with the formatted version.
64
+ */
65
+ private setupNumberFormatting(): void {
66
+ const input = this.el.nativeElement;
67
+ // Extract numeric value from whatever might be in the input initially
68
+ this.realValue = this.extractNumericValue(input.value || '');
69
+ this.updateDisplayValue(); // Format and display it
70
+ }
71
+
72
+ /**
73
+ * HostListener for the 'input' event on the host element.
74
+ * This triggers whenever the user types or pastes content into the input.
75
+ * It extracts the numeric value from the current input, updates the
76
+ * display with the formatted number, restores the cursor position,
77
+ * and dispatches a 'realValueChange' event with the unformatted numeric value.
78
+ * @param event - The InputEvent object.
79
+ */
80
+ @HostListener('input', ['$event'])
81
+ onInput(event: InputEvent): void {
82
+ if (!this.appNumberFormat()) return; // Do nothing if formatting is disabled
83
+
84
+ const input = this.el.nativeElement;
85
+ const cursorPosition = input.selectionStart || 0;
86
+ const oldValue = input.value;
87
+
88
+ this.realValue = this.extractNumericValue(oldValue);
89
+ if (this.max()) {
90
+ const numericValue = Number(this.realValue);
91
+ const maxValue = this.max() || 0;
92
+ if (numericValue > maxValue) {
93
+ // Cap the value at max instead of just removing last character
94
+ this.realValue = maxValue.toString();
95
+ }
96
+ }
97
+ if (this.disableDecimals()) {
98
+ this.realValue = this.realValue.split('.')[0];
99
+ }
100
+
101
+ this.updateDisplayValue();
102
+ const newValue = input.value;
103
+ const newCursorPos = this.calculateCursorPosition(
104
+ cursorPosition,
105
+ oldValue,
106
+ newValue,
107
+ );
108
+ input.setSelectionRange(newCursorPos, newCursorPos);
109
+
110
+ this.dispatchRealValueChange(); // Notify parent components of the raw value change
111
+ }
112
+
113
+ /**
114
+ * HostListener for the 'cut' event.
115
+ * Prevents the default cut behavior to manually handle the value change.
116
+ * It reconstructs the value after the cut, extracts the numeric part,
117
+ * updates the display, sets the cursor, and dispatches the real value.
118
+ * @param event - The ClipboardEvent object.
119
+ */
120
+ @HostListener('cut', ['$event'])
121
+ onCut(event: ClipboardEvent): void {
122
+ if (!this.appNumberFormat()) return;
123
+
124
+ const input = this.el.nativeElement;
125
+ const start = input.selectionStart || 0;
126
+ const end = input.selectionEnd || 0;
127
+
128
+ if (start !== end) {
129
+ // If there's a selection
130
+ event.preventDefault(); // Prevent default cut
131
+ const cutText = input.value.slice(start, end);
132
+ event.clipboardData?.setData('text', this.extractNumericValue(cutText)); // Put numeric part on clipboard
133
+
134
+ // Reconstruct value without the cut part
135
+ const oldValue = input.value;
136
+ const valueAfterCut =
137
+ input.value.slice(0, start) + input.value.slice(end);
138
+ this.realValue = this.extractNumericValue(valueAfterCut);
139
+
140
+ this.updateDisplayValue();
141
+ const newValue = input.value;
142
+ const newCursorPos = this.calculateCursorPosition(
143
+ start,
144
+ oldValue,
145
+ newValue,
146
+ );
147
+ input.setSelectionRange(newCursorPos, newCursorPos);
148
+ this.dispatchRealValueChange();
149
+ }
150
+ }
151
+
152
+ /**
153
+ * HostListener for the 'copy' event.
154
+ * Prevents the default copy behavior if there's a selection to ensure
155
+ * that the copied text is the unformatted numeric value of the selection,
156
+ * rather than the potentially formatted display text.
157
+ * @param event - The ClipboardEvent object.
158
+ */
159
+ @HostListener('copy', ['$event'])
160
+ onCopy(event: ClipboardEvent): void {
161
+ if (!this.appNumberFormat()) return;
162
+
163
+ const input = this.el.nativeElement;
164
+ const start = input.selectionStart || 0;
165
+ const end = input.selectionEnd || 0;
166
+
167
+ if (start !== end) {
168
+ // If there's a selection
169
+ event.preventDefault(); // Prevent default copy
170
+ const selectedText = input.value.slice(start, end);
171
+ // Copy the underlying numeric value of the selection
172
+ event.clipboardData?.setData(
173
+ 'text',
174
+ this.extractNumericValue(selectedText),
175
+ );
176
+ }
177
+ }
178
+
179
+ /**
180
+ * HostListener for the 'keydown' event.
181
+ * Filters key presses to allow only digits, a single decimal point,
182
+ * and control keys (Backspace, Arrows, Tab, etc.).
183
+ * This helps maintain a valid numeric input format before the 'input' event fires.
184
+ * @param event - The KeyboardEvent object.
185
+ */
186
+ @HostListener('keydown', ['$event'])
187
+ onKeydown(event: KeyboardEvent): void {
188
+ if (!this.appNumberFormat()) return;
189
+
190
+ const controlKeys = [
191
+ 'Backspace',
192
+ 'Delete',
193
+ 'ArrowLeft',
194
+ 'ArrowRight',
195
+ 'ArrowUp',
196
+ 'ArrowDown',
197
+ 'Tab',
198
+ 'Enter',
199
+ 'Escape',
200
+ 'Home',
201
+ 'End',
202
+ ];
203
+
204
+ // Allow control keys, and modifier key combinations (Ctrl+A, Ctrl+C, etc.)
205
+ if (
206
+ controlKeys.includes(event.key) ||
207
+ event.ctrlKey ||
208
+ event.metaKey ||
209
+ event.altKey
210
+ ) {
211
+ return; // Don't prevent default for these
212
+ }
213
+
214
+ // Allow a single decimal point if not already present in the realValue
215
+ if (
216
+ event.key === '.' &&
217
+ !this.realValue.includes('.') &&
218
+ !this.disableDecimals()
219
+ ) {
220
+ // If the input is empty or realValue is empty, prepend '0' before the decimal
221
+ if (this.realValue === '' || this.realValue === '0') {
222
+ event.preventDefault();
223
+ this.realValue = '0.';
224
+ this.updateDisplayValue();
225
+ this.setCursorToEnd();
226
+ this.dispatchRealValueChange();
227
+ }
228
+ return;
229
+ }
230
+
231
+ // Check if typing a digit would exceed max
232
+ if (/^\d$/.test(event.key) && this.max()) {
233
+ const input = this.el.nativeElement;
234
+ const start = input.selectionStart || 0;
235
+ const end = input.selectionEnd || 0;
236
+ const currentValue = input.value;
237
+
238
+ // Simulate what the value would be after this keypress
239
+ const beforeSelection = currentValue.slice(0, start);
240
+ const afterSelection = currentValue.slice(end);
241
+ const simulatedValue = beforeSelection + event.key + afterSelection;
242
+
243
+ // Extract numeric value from simulated result
244
+ const simulatedNumericValue = this.extractNumericValue(simulatedValue);
245
+ const simulatedNumber = Number(simulatedNumericValue);
246
+
247
+ // Prevent if it would exceed max
248
+ if (simulatedNumber > (this.max() || 0)) {
249
+ event.preventDefault();
250
+ return;
251
+ }
252
+ }
253
+
254
+ // Prevent non-digit keys
255
+ if (!/^\d$/.test(event.key)) {
256
+ event.preventDefault();
257
+ }
258
+ }
259
+
260
+ /**
261
+ * Extracts a clean numeric string from a given value.
262
+ * It removes any non-digit characters except for a single decimal point.
263
+ * It also ensures that there's only one decimal point and limits
264
+ * the decimal part to two digits.
265
+ * @param value - The string value to clean.
266
+ * @returns A string representing the extracted numeric value.
267
+ */
268
+ private extractNumericValue(value: string): string {
269
+ // Remove all non-digit characters except for the decimal point
270
+ value = value.toString();
271
+ let cleanValue = value.replace(/[^\d.]/g, '');
272
+
273
+ // Handle multiple decimal points: keep only the first one
274
+ const parts = cleanValue.split('.');
275
+ if (parts.length > 1) {
276
+ const integerPart = parts[0];
277
+ const decimalPart = parts.slice(1).join(''); // Join back any subsequent parts
278
+ cleanValue = `${integerPart}.${decimalPart}`;
279
+ }
280
+
281
+ // Limit decimal part to two digits
282
+ if (cleanValue.includes('.')) {
283
+ const [integerPart, decimalPart] = cleanValue.split('.');
284
+ const cappedDecimalPart = decimalPart ? decimalPart.substring(0, 2) : '';
285
+ cleanValue = `${integerPart}.${cappedDecimalPart}`;
286
+ }
287
+
288
+ return cleanValue;
289
+ }
290
+
291
+ /**
292
+ * Updates the input element's display value with the formatted version
293
+ * of the current `realValue`.
294
+ * It uses the `NumberFormatPipe` for formatting.
295
+ */
296
+ private updateDisplayValue(): void {
297
+ const input = this.el.nativeElement;
298
+ let formattedValue = '';
299
+
300
+ if (this.realValue === '') {
301
+ input.value = '';
302
+ return;
303
+ }
304
+
305
+ let [integerPart, decimalPart] = this.realValue.split('.');
306
+
307
+ if (integerPart.length > 1) {
308
+ integerPart = integerPart.replace(/^0+/, '') || '0';
309
+ }
310
+
311
+ // If number formatting is disabled, skip thousand separators and decimals
312
+ if (this.isNumberFormattingDisabled()) {
313
+ formattedValue = integerPart;
314
+
315
+ // Still add decimal part if it exists and formatting is not disabled
316
+ if (this.realValue.endsWith('.')) {
317
+ formattedValue = formattedValue + '.';
318
+ } else if (decimalPart !== undefined) {
319
+ formattedValue = formattedValue + '.' + decimalPart;
320
+ }
321
+ } else {
322
+ // Use full formatting with NumberFormatPipe
323
+ const formattedInteger = new NumberFormatPipe().transform(integerPart);
324
+
325
+ if (this.realValue.endsWith('.')) {
326
+ formattedValue = formattedInteger + '.';
327
+ } else if (decimalPart !== undefined) {
328
+ formattedValue = formattedInteger + '.' + decimalPart;
329
+ } else {
330
+ formattedValue = formattedInteger;
331
+ }
332
+ }
333
+
334
+ if (this.prefix()) {
335
+ formattedValue = this.prefix() + formattedValue;
336
+ }
337
+
338
+ input.value = formattedValue;
339
+ }
340
+
341
+ /**
342
+ * Sets the cursor position to the end of the input field.
343
+ * This is typically called after the input value is reformatted.
344
+ */
345
+ private setCursorToEnd(): void {
346
+ const input = this.el.nativeElement;
347
+ const length = input.value.length;
348
+ input.setSelectionRange(length, length);
349
+ }
350
+
351
+ /**
352
+ * Calculates the correct cursor position after formatting.
353
+ * Accounts for added or removed thousand separators and prefix.
354
+ * @param oldCursorPos - The cursor position before formatting
355
+ * @param oldValue - The value before formatting
356
+ * @param newValue - The value after formatting
357
+ * @returns The new cursor position
358
+ */
359
+ private calculateCursorPosition(
360
+ oldCursorPos: number,
361
+ oldValue: string,
362
+ newValue: string,
363
+ ): number {
364
+ const prefixLength = this.prefix().length;
365
+
366
+ // Remove prefix from both values for comparison
367
+ const oldValueWithoutPrefix = oldValue.startsWith(this.prefix())
368
+ ? oldValue.substring(prefixLength)
369
+ : oldValue;
370
+ const newValueWithoutPrefix = newValue.startsWith(this.prefix())
371
+ ? newValue.substring(prefixLength)
372
+ : newValue;
373
+
374
+ // Adjust cursor position relative to prefix
375
+ let adjustedOldCursorPos = oldCursorPos - prefixLength;
376
+ if (adjustedOldCursorPos < 0) adjustedOldCursorPos = 0;
377
+
378
+ // Count digits before cursor in old value (excluding prefix)
379
+ const beforeCursor = oldValueWithoutPrefix.substring(
380
+ 0,
381
+ adjustedOldCursorPos,
382
+ );
383
+ const digitsBeforeCursor = (beforeCursor.match(/[\d.]/g) || []).length;
384
+
385
+ // Find position in new value where we have the same number of digits
386
+ let digitCount = 0;
387
+ let newCursorPos = prefixLength;
388
+
389
+ for (let i = 0; i < newValueWithoutPrefix.length; i++) {
390
+ if (/[\d.]/.test(newValueWithoutPrefix[i])) {
391
+ digitCount++;
392
+ if (digitCount >= digitsBeforeCursor) {
393
+ newCursorPos = prefixLength + i + 1;
394
+ break;
395
+ }
396
+ }
397
+ }
398
+
399
+ // If we haven't set position yet (edge case), set to end
400
+ if (digitCount < digitsBeforeCursor) {
401
+ newCursorPos = newValue.length;
402
+ }
403
+
404
+ return newCursorPos;
405
+ }
406
+
407
+ /**
408
+ * Dispatches a custom event named 'realValueChange' from the host element.
409
+ * The event's `detail` property contains the unformatted `realValue`.
410
+ * This allows parent components or other directives to listen for changes
411
+ * to the underlying numeric value.
412
+ */
413
+ private dispatchRealValueChange(): void {
414
+ let number = Number(this.realValue) + '';
415
+ if (this.realValue === '') number = '';
416
+ const customEvent = new CustomEvent('realValueChange', {
417
+ bubbles: true, // Allows event to bubble up the DOM
418
+ composed: true, // Allows event to cross Shadow DOM boundaries
419
+ detail: number,
420
+ });
421
+ this.el.nativeElement.dispatchEvent(customEvent);
422
+ }
423
+
424
+ /**
425
+ * Public method to get the current unformatted "real" numeric value.
426
+ * @returns The real numeric value as a string.
427
+ */
428
+ getRealValue(): string {
429
+ return this.realValue;
430
+ }
431
+
432
+ /**
433
+ * Public method to set the "real" numeric value from outside the directive.
434
+ * It extracts the numeric part from the provided value and updates the
435
+ * input's display with the formatted version.
436
+ * @param value - The new value to set (can be formatted or unformatted).
437
+ */
438
+ setRealValue(value: string): void {
439
+ this.realValue = this.extractNumericValue(value || '');
440
+ this.updateDisplayValue();
441
+ }
442
+ }
@@ -0,0 +1,13 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { PasswordDirective } from './password.directive';
3
+
4
+ describe('PasswordDirective', () => {
5
+ it('should create an instance', () => {
6
+ const mockElementRef = {
7
+ nativeElement: document.createElement('input'),
8
+ } as ElementRef<HTMLInputElement>;
9
+
10
+ const directive = new PasswordDirective(mockElementRef);
11
+ expect(directive).toBeTruthy();
12
+ });
13
+ });