carriera-intern 0.0.0 → 1.1.76

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 (600) hide show
  1. package/README.md +63 -59
  2. package/fesm2022/carriera-intern.mjs +11245 -0
  3. package/fesm2022/carriera-intern.mjs.map +1 -0
  4. package/index.d.ts +2557 -0
  5. package/package.json +24 -60
  6. package/{projects/carriera-intern-components/public → public}/assets/icons/Thumb-active.svg +3 -3
  7. package/{projects/carriera-intern-components/public → public}/assets/icons/Thumb.svg +3 -3
  8. package/{projects/carriera-intern-components/public → public}/assets/icons/arrows/cai-arrow-primary-up.svg +3 -3
  9. package/{projects/carriera-intern-components/public → public}/assets/icons/arrows/cai-arrow-secondary-down.svg +3 -3
  10. package/{projects/carriera-intern-components/public → public}/assets/icons/arrows/cai-arrow-secondary-left.svg +3 -3
  11. package/{projects/carriera-intern-components/public → public}/assets/icons/arrows/cai-arrow-secondary-right.svg +3 -3
  12. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_bbt.svg +5 -5
  13. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_bmo_harris.svg +13 -13
  14. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_capital_one.svg +11 -11
  15. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_chase.svg +11 -11
  16. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_chime.svg +10 -10
  17. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_citi.svg +8 -8
  18. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_fifth_third.svg +14 -14
  19. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_green_dot.svg +17 -17
  20. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_mb_financial.svg +5 -5
  21. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_meta.svg +11 -11
  22. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_navi_federal.svg +14 -14
  23. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_of_america.svg +5 -5
  24. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_pnc.svg +10 -10
  25. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_regions.svg +14 -14
  26. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_renasant.svg +14 -14
  27. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_tcf.svg +11 -11
  28. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_truist.svg +3 -3
  29. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_us.svg +4 -4
  30. package/{projects/carriera-intern-components/public → public}/assets/icons/banks/ic_bank_wells_fargo.svg +3 -3
  31. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-color.svg +3 -3
  32. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-drop-zone-focus.svg +48 -48
  33. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-edit.svg +4 -4
  34. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-edit2.svg +3 -3
  35. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-expand.svg +3 -3
  36. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-gps.svg +3 -3
  37. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration-dark.svg +4 -4
  38. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration-drop-zone-cover.svg +34 -34
  39. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration-drop-zone-profile.svg +58 -58
  40. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration-drop-zone-video.svg +41 -41
  41. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration-drop-zone.svg +43 -43
  42. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-illustration.svg +18 -18
  43. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-loader.svg +3 -3
  44. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-search.svg +3 -3
  45. package/{projects/carriera-intern-components/public → public}/assets/icons/cai-violation-hazmat.svg +3 -3
  46. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-contact.svg +3 -3
  47. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-count.svg +3 -3
  48. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-fuel-card.svg +3 -3
  49. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-people.svg +3 -3
  50. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-share.svg +3 -3
  51. package/{projects/carriera-intern-components/public → public}/assets/icons/fuel-contact/cai-user-2.svg +3 -3
  52. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-address.svg +3 -3
  53. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-checkmark.svg +3 -3
  54. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-date.svg +3 -3
  55. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-email.svg +2 -2
  56. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-fax.svg +5 -5
  57. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-label.svg +3 -3
  58. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-money-additional.svg +3 -3
  59. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-money.svg +3 -3
  60. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-phone-extension.svg +3 -3
  61. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-phone.svg +3 -3
  62. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-sort-by.svg +3 -3
  63. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-sort-descending.svg +4 -4
  64. package/{projects/carriera-intern-components/public → public}/assets/icons/general/cai-website.svg +3 -3
  65. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_corrosive_8.svg +6 -6
  66. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_dangerous_when_wet_4.svg +4 -4
  67. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_1.svg +6 -6
  68. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_2.svg +6 -6
  69. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_3.svg +6 -6
  70. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_4.svg +6 -6
  71. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_5.svg +6 -6
  72. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_explosives_1_6.svg +6 -6
  73. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_flammable_3.svg +4 -4
  74. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_flammable_gas_2.svg +4 -4
  75. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_flammable_solid_4.svg +5 -5
  76. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_inhalation_hazzard_2.svg +5 -5
  77. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_inhalation_hazzard_6.svg +5 -5
  78. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_organic_peroxide_5_2.svg +7 -7
  79. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_oxidizer_5_1.svg +6 -6
  80. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_oxygen_non_flam_gas_2.svg +6 -6
  81. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_radioactive_7.svg +5 -5
  82. package/{projects/carriera-intern-components/public → public}/assets/icons/hazardous/ic_spontaneously_combustible_4.svg +5 -5
  83. package/{projects/carriera-intern-components/public → public}/assets/icons/integration/cai-efs.svg +4 -4
  84. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-cancel.svg +3 -3
  85. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-copy.svg +3 -3
  86. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-dislike.svg +3 -3
  87. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-drag.svg +3 -3
  88. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-favorite.svg +3 -3
  89. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-like.svg +3 -3
  90. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-minus.svg +3 -3
  91. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-password-hidden.svg +3 -3
  92. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-password-key.svg +3 -3
  93. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-password-shown.svg +3 -3
  94. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai-plus.svg +3 -3
  95. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai_time.svg +2 -2
  96. package/{projects/carriera-intern-components/public → public}/assets/icons/interaction/cai_x.svg +4 -4
  97. package/{projects/carriera-intern-components/public → public}/assets/icons/load/cai-driver.svg +3 -3
  98. package/{projects/carriera-intern-components/public → public}/assets/icons/load/cai-load.svg +5 -5
  99. package/{projects/carriera-intern-components/public → public}/assets/icons/load/cai-ltl-single.svg +3 -3
  100. package/{projects/carriera-intern-components/public → public}/assets/icons/load/cai-parking.svg +3 -3
  101. package/{projects/carriera-intern-components/public → public}/assets/icons/load/cai-weight.svg +3 -3
  102. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_atro.svg +6 -6
  103. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_beall.svg +7 -7
  104. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_bedard.svg +8 -8
  105. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_butler.svg +7 -7
  106. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_de_lucio.svg +17 -17
  107. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_dorsey.svg +3 -3
  108. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_east.svg +3 -3
  109. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_fontaine.svg +3 -3
  110. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_fruehauf.svg +3 -3
  111. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_gallegos.svg +3 -3
  112. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_great_dane.svg +3 -3
  113. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_heil.svg +6 -6
  114. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_hudson.svg +3 -3
  115. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_hyndai.svg +3 -3
  116. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_kaufman.svg +3 -3
  117. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_mac.svg +3 -3
  118. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_manac.svg +3 -3
  119. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_polar.svg +3 -3
  120. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_ravens.svg +3 -3
  121. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_reitnouer.svg +12 -12
  122. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_strick.svg +3 -3
  123. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_timpte.svg +8 -8
  124. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_trail_king.svg +7 -7
  125. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_transcraft.svg +12 -12
  126. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_tremcar.svg +10 -10
  127. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_tytal.svg +3 -3
  128. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_utility.svg +3 -3
  129. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_vanguard.svg +3 -3
  130. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_vantage.svg +3 -3
  131. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_wabash.svg +3 -3
  132. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_walinga.svg +8 -8
  133. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trailers/ic_trailer_wilson.svg +3 -3
  134. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_chevrolet.svg +3 -3
  135. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_ford.svg +3 -3
  136. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_freightliner.svg +3 -3
  137. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_gmc.svg +3 -3
  138. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_hino.svg +3 -3
  139. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_international.svg +3 -3
  140. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_isuzu.svg +3 -3
  141. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_kenworth.svg +3 -3
  142. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_mack.svg +3 -3
  143. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_peterbilt.svg +3 -3
  144. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_volvo.svg +3 -3
  145. package/{projects/carriera-intern-components/public → public}/assets/icons/makes/trucks/ic_truck_western_star.svg +3 -3
  146. package/{projects/carriera-intern-components/public → public}/assets/icons/menu/cai-delete.svg +4 -4
  147. package/{projects/carriera-intern-components/public → public}/assets/icons/menu/cai-download.svg +3 -3
  148. package/{projects/carriera-intern-components/public → public}/assets/icons/menu/cai-reset.svg +3 -3
  149. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/cai-pm-base.svg +3 -3
  150. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/trailer/cai-pm-general.svg +3 -3
  151. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/trailer/cai-pm-pto-pump.svg +5 -5
  152. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/trailer/cai-repair-reefer.svg +3 -3
  153. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-air-filter.svg +5 -5
  154. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-alignment.svg +5 -5
  155. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-battery.svg +3 -3
  156. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-belts.svg +5 -5
  157. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-brake-chamber.svg +3 -3
  158. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-engine-oil-filter.svg +4 -4
  159. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-engine-tune-up.svg +3 -3
  160. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-radiator.svg +3 -3
  161. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-transmission-fluid.svg +4 -4
  162. package/{projects/carriera-intern-components/public → public}/assets/icons/pm/truck/cai-pm-turbo.svg +3 -3
  163. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-ab.svg +3 -3
  164. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-bc.svg +35 -35
  165. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-mb.svg +3 -3
  166. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-nb.svg +7 -7
  167. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-nl.svg +4 -4
  168. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-ns.svg +6 -6
  169. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-on.svg +7 -7
  170. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-pe.svg +3 -3
  171. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-qc.svg +4 -4
  172. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-sk.svg +3 -3
  173. package/{projects/carriera-intern-components/public → public}/assets/icons/states/ca/cai-ca-yt.svg +3 -3
  174. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ak.svg +14 -14
  175. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-al.svg +3 -3
  176. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ar.svg +3 -3
  177. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-az.svg +3 -3
  178. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ca.svg +3 -3
  179. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-co.svg +3 -3
  180. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ct.svg +3 -3
  181. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-de.svg +3 -3
  182. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-fl.svg +3 -3
  183. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ga.svg +3 -3
  184. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-hi.svg +10 -10
  185. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ia.svg +3 -3
  186. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-id.svg +3 -3
  187. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-il.svg +3 -3
  188. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-in.svg +3 -3
  189. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ks.svg +3 -3
  190. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ky.svg +3 -3
  191. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-la.svg +4 -4
  192. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ma.svg +7 -7
  193. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-md.svg +7 -7
  194. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-me.svg +9 -9
  195. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-mi.svg +11 -11
  196. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-mn.svg +4 -4
  197. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-mo.svg +3 -3
  198. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ms.svg +3 -3
  199. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-mt.svg +3 -3
  200. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nc.svg +3 -3
  201. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nd.svg +3 -3
  202. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ne.svg +3 -3
  203. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nh.svg +3 -3
  204. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nj.svg +5 -5
  205. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nm.svg +3 -3
  206. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-nv.svg +3 -3
  207. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ny.svg +4 -4
  208. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-oh.svg +4 -4
  209. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ok.svg +3 -3
  210. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-or.svg +3 -3
  211. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-pa.svg +3 -3
  212. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ri.svg +8 -8
  213. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-sc.svg +3 -3
  214. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-sd.svg +3 -3
  215. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-tn.svg +3 -3
  216. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-tx.svg +3 -3
  217. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-ut.svg +3 -3
  218. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-va.svg +4 -4
  219. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-vt.svg +7 -7
  220. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-wa.svg +15 -15
  221. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-wi.svg +4 -4
  222. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-wv.svg +3 -3
  223. package/{projects/carriera-intern-components/public → public}/assets/icons/states/us/cai-us-wy.svg +3 -3
  224. package/{projects/carriera-intern-components/public → public}/assets/icons/status/cai-status-warning-lite.svg +3 -3
  225. package/{projects/carriera-intern-components/public → public}/assets/icons/status/cai-status-warning.svg +3 -3
  226. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_bottom-dump.svg +5 -5
  227. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_carhauler-stinger.svg +5 -5
  228. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_carhauler.svg +5 -5
  229. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_chassis.svg +5 -5
  230. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_conestoga.svg +13 -13
  231. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_container.svg +6 -6
  232. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_dryvan.svg +5 -5
  233. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_end-dump.svg +5 -5
  234. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_flatbed.svg +5 -5
  235. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_hopper.svg +6 -6
  236. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_low-boy.svg +6 -6
  237. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_reefer.svg +5 -5
  238. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_side-kit.svg +6 -6
  239. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_step-deck.svg +7 -7
  240. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_tanker-pneumatic.svg +5 -5
  241. package/{projects/carriera-intern-components/public → public}/assets/icons/trailers/ic_trailer_tanker.svg +5 -5
  242. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_box-truck.svg +7 -7
  243. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_car-hauler.svg +7 -7
  244. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_cargo-van.svg +5 -5
  245. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_cement.svg +8 -8
  246. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_dump.svg +8 -8
  247. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_garbage.svg +10 -10
  248. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_reefer.svg +6 -6
  249. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_semi-truck.svg +8 -8
  250. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_semi-wSleeper.svg +8 -8
  251. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_spotter.svg +6 -6
  252. package/{projects/carriera-intern-components/public → public}/assets/icons/trucks/ic_truck_tow-truck.svg +8 -8
  253. package/{projects/carriera-intern-components/public → public}/assets/json/icons.json +985 -985
  254. package/{projects/carriera-intern-components/src → src}/styles/README.md +59 -59
  255. package/{projects/carriera-intern-components/src → src}/styles/_variables.scss +301 -301
  256. package/{projects/carriera-intern-components/src → src}/styles/cropper.scss +39 -39
  257. package/{projects/carriera-intern-components/src → src}/styles/custompickers.scss +827 -827
  258. package/{projects/carriera-intern-components/src → src}/styles/popover.scss +224 -224
  259. package/{projects/carriera-intern-components/src → src}/styles/review_variables.scss +45 -45
  260. package/{projects/carriera-intern-components/src → src}/styles/tooltip.scss +119 -119
  261. package/{projects/carriera-intern-components/src → src}/styles/utility/colors.scss +265 -265
  262. package/{projects/carriera-intern-components/src → src}/styles/utility/utilities.scss +17 -17
  263. package/{projects/carriera-intern-components/src → src}/styles.scss +43 -43
  264. package/.cursor/rules/icons.mdc +0 -7
  265. package/.editorconfig +0 -17
  266. package/.vscode/extensions.json +0 -4
  267. package/.vscode/launch.json +0 -20
  268. package/.vscode/tasks.json +0 -42
  269. package/angular.json +0 -94
  270. package/carriera-intern@0.0.0 +0 -0
  271. package/projects/carriera-intern-components/.storybook/main.ts +0 -12
  272. package/projects/carriera-intern-components/.storybook/preview-head.html +0 -13
  273. package/projects/carriera-intern-components/.storybook/preview.ts +0 -54
  274. package/projects/carriera-intern-components/.storybook/tsconfig.doc.json +0 -10
  275. package/projects/carriera-intern-components/.storybook/tsconfig.json +0 -11
  276. package/projects/carriera-intern-components/.storybook/typings.d.ts +0 -4
  277. package/projects/carriera-intern-components/README.md +0 -63
  278. package/projects/carriera-intern-components/ng-package.json +0 -14
  279. package/projects/carriera-intern-components/package.json +0 -14
  280. package/projects/carriera-intern-components/public/favicon.ico +0 -0
  281. package/projects/carriera-intern-components/src/Changelog.mdx +0 -285
  282. package/projects/carriera-intern-components/src/Icons.mdx +0 -279
  283. package/projects/carriera-intern-components/src/app/app.config.ts +0 -26
  284. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.html +0 -28
  285. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.scss +0 -414
  286. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.spec.ts +0 -23
  287. package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.ts +0 -66
  288. package/projects/carriera-intern-components/src/app/components/avatar/avatar.stories.ts +0 -787
  289. package/projects/carriera-intern-components/src/app/components/avatar/models/avatar.model.ts +0 -52
  290. package/projects/carriera-intern-components/src/app/components/avatar/models/index.ts +0 -1
  291. package/projects/carriera-intern-components/src/app/components/avatar/pipes/avatar-classes.pipe.ts +0 -98
  292. package/projects/carriera-intern-components/src/app/components/avatar/pipes/index.ts +0 -2
  293. package/projects/carriera-intern-components/src/app/components/avatar/pipes/initials.pipe.ts +0 -31
  294. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.css +0 -0
  295. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.html +0 -10
  296. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.spec.ts +0 -23
  297. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.ts +0 -25
  298. package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.stories.ts +0 -65
  299. package/projects/carriera-intern-components/src/app/components/copy/copy.component.html +0 -66
  300. package/projects/carriera-intern-components/src/app/components/copy/copy.component.scss +0 -103
  301. package/projects/carriera-intern-components/src/app/components/copy/copy.component.spec.ts +0 -22
  302. package/projects/carriera-intern-components/src/app/components/copy/copy.component.ts +0 -57
  303. package/projects/carriera-intern-components/src/app/components/copy/stories/copy.stories.ts +0 -170
  304. package/projects/carriera-intern-components/src/app/components/counter/counter.component.html +0 -33
  305. package/projects/carriera-intern-components/src/app/components/counter/counter.component.scss +0 -197
  306. package/projects/carriera-intern-components/src/app/components/counter/counter.component.spec.ts +0 -22
  307. package/projects/carriera-intern-components/src/app/components/counter/counter.component.ts +0 -219
  308. package/projects/carriera-intern-components/src/app/components/counter/counter.stories.ts +0 -65
  309. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.html +0 -223
  310. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.scss +0 -792
  311. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.spec.ts +0 -23
  312. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.ts +0 -323
  313. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.stories.ts +0 -409
  314. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/helpers/dispatch-dropdown.helper.ts +0 -248
  315. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-config.interface.ts +0 -10
  316. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-option.interface.ts +0 -4
  317. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/index.ts +0 -2
  318. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/mock/parking-data.json +0 -1550
  319. package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/pipes/dispatch-search-filter.pipe.ts +0 -26
  320. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.html +0 -76
  321. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.scss +0 -141
  322. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.spec.ts +0 -22
  323. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.ts +0 -268
  324. package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.stories.ts +0 -184
  325. package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/index.ts +0 -1
  326. package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/last-status-data.interface.ts +0 -6
  327. package/projects/carriera-intern-components/src/app/components/dispatch-location/pipes/last-status-format.pipe.ts +0 -35
  328. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.html +0 -229
  329. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.scss +0 -1115
  330. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.spec.ts +0 -23
  331. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.ts +0 -277
  332. package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.stories.ts +0 -256
  333. package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/document-tag.interface.ts +0 -4
  334. package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/index.ts +0 -1
  335. package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/button-actions.config.ts +0 -30
  336. package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/index.ts +0 -1
  337. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.html +0 -376
  338. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.scss +0 -9
  339. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.spec.ts +0 -22
  340. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.ts +0 -1272
  341. package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.stories.ts +0 -1253
  342. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-labels.enum.ts +0 -0
  343. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-variant.enum.ts +0 -7
  344. package/projects/carriera-intern-components/src/app/components/drop-zone/enums/index.ts +0 -1
  345. package/projects/carriera-intern-components/src/app/components/drop-zone/models/app-file.model.ts +0 -28
  346. package/projects/carriera-intern-components/src/app/components/drop-zone/models/file.response.ts +0 -10
  347. package/projects/carriera-intern-components/src/app/components/drop-zone/models/index.ts +0 -2
  348. package/projects/carriera-intern-components/src/app/components/drop-zone/pipes/drag-mode-animation.pipe.ts +0 -40
  349. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/drop-zone-documents.helper.ts +0 -67
  350. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/index.ts +0 -1
  351. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-cropper.scss +0 -202
  352. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-documents.scss +0 -166
  353. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-drag-mode.scss +0 -107
  354. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-images.scss +0 -106
  355. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-layout.scss +0 -208
  356. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-states.scss +0 -183
  357. package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-variations.scss +0 -189
  358. package/projects/carriera-intern-components/src/app/components/input/directives/helpers/index.ts +0 -1
  359. package/projects/carriera-intern-components/src/app/components/input/directives/helpers/mask.helper.ts +0 -52
  360. package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.spec.ts +0 -13
  361. package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.ts +0 -274
  362. package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.spec.ts +0 -13
  363. package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.ts +0 -442
  364. package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.spec.ts +0 -13
  365. package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.ts +0 -282
  366. package/projects/carriera-intern-components/src/app/components/input/input.component.html +0 -2669
  367. package/projects/carriera-intern-components/src/app/components/input/input.component.scss +0 -3000
  368. package/projects/carriera-intern-components/src/app/components/input/input.component.spec.ts +0 -23
  369. package/projects/carriera-intern-components/src/app/components/input/input.component.ts +0 -1486
  370. package/projects/carriera-intern-components/src/app/components/input/mock/banks.json +0 -249
  371. package/projects/carriera-intern-components/src/app/components/input/mock/basic.json +0 -42
  372. package/projects/carriera-intern-components/src/app/components/input/mock/brokers.json +0 -544
  373. package/projects/carriera-intern-components/src/app/components/input/mock/colors.json +0 -95
  374. package/projects/carriera-intern-components/src/app/components/input/mock/commodities.json +0 -12
  375. package/projects/carriera-intern-components/src/app/components/input/mock/contacts.json +0 -117
  376. package/projects/carriera-intern-components/src/app/components/input/mock/dispatchers.json +0 -83
  377. package/projects/carriera-intern-components/src/app/components/input/mock/dispatches.json +0 -4188
  378. package/projects/carriera-intern-components/src/app/components/input/mock/fuel-list-dropdown.json +0 -968
  379. package/projects/carriera-intern-components/src/app/components/input/mock/fuel-transaction.json +0 -78
  380. package/projects/carriera-intern-components/src/app/components/input/mock/fuelcard.json +0 -472
  381. package/projects/carriera-intern-components/src/app/components/input/mock/hazardous.json +0 -166
  382. package/projects/carriera-intern-components/src/app/components/input/mock/labelColors.json +0 -81
  383. package/projects/carriera-intern-components/src/app/components/input/mock/labels.json +0 -169
  384. package/projects/carriera-intern-components/src/app/components/input/mock/new-load-modal-res.json +0 -1148
  385. package/projects/carriera-intern-components/src/app/components/input/mock/noboard.json +0 -1665
  386. package/projects/carriera-intern-components/src/app/components/input/mock/owner.json +0 -209
  387. package/projects/carriera-intern-components/src/app/components/input/mock/pm.json +0 -112
  388. package/projects/carriera-intern-components/src/app/components/input/mock/shipper.json +0 -1192
  389. package/projects/carriera-intern-components/src/app/components/input/mock/split-driver.json +0 -99
  390. package/projects/carriera-intern-components/src/app/components/input/mock/split-trailer.json +0 -79
  391. package/projects/carriera-intern-components/src/app/components/input/mock/split-truck.json +0 -49
  392. package/projects/carriera-intern-components/src/app/components/input/mock/states.json +0 -605
  393. package/projects/carriera-intern-components/src/app/components/input/mock/toll.json +0 -106
  394. package/projects/carriera-intern-components/src/app/components/input/mock/trailermakes.json +0 -196
  395. package/projects/carriera-intern-components/src/app/components/input/mock/truck_trailer.json +0 -184
  396. package/projects/carriera-intern-components/src/app/components/input/mock/truckmakes.json +0 -76
  397. package/projects/carriera-intern-components/src/app/components/input/models/dropdown.model.ts +0 -376
  398. package/projects/carriera-intern-components/src/app/components/input/models/index.ts +0 -2
  399. package/projects/carriera-intern-components/src/app/components/input/models/input.model.ts +0 -227
  400. package/projects/carriera-intern-components/src/app/components/input/pipes/broker-progress.pipe.ts +0 -36
  401. package/projects/carriera-intern-components/src/app/components/input/pipes/clear-tooltip.pipe.ts +0 -38
  402. package/projects/carriera-intern-components/src/app/components/input/pipes/error-message.pipe.ts +0 -54
  403. package/projects/carriera-intern-components/src/app/components/input/pipes/highlight-search.pipe.ts +0 -42
  404. package/projects/carriera-intern-components/src/app/components/input/pipes/index.ts +0 -6
  405. package/projects/carriera-intern-components/src/app/components/input/pipes/input-class.pipe.ts +0 -109
  406. package/projects/carriera-intern-components/src/app/components/input/pipes/remap-pm-icons.pipe.ts +0 -49
  407. package/projects/carriera-intern-components/src/app/components/input/stories/Documentation.mdx +0 -190
  408. package/projects/carriera-intern-components/src/app/components/input/stories/dropdown-options.ts +0 -80
  409. package/projects/carriera-intern-components/src/app/components/input/stories/dropdown.stories.ts +0 -376
  410. package/projects/carriera-intern-components/src/app/components/input/stories/input-dropdown.stories.ts +0 -405
  411. package/projects/carriera-intern-components/src/app/components/input/stories/input-inverse.stories.ts +0 -232
  412. package/projects/carriera-intern-components/src/app/components/input/stories/input-load.stories.ts +0 -150
  413. package/projects/carriera-intern-components/src/app/components/input/stories/input-placeholder.stories.ts +0 -225
  414. package/projects/carriera-intern-components/src/app/components/input/stories/input-subcontent.stories.ts +0 -264
  415. package/projects/carriera-intern-components/src/app/components/input/stories/input-table.stories.ts +0 -211
  416. package/projects/carriera-intern-components/src/app/components/input/stories/input.stories.ts +0 -1159
  417. package/projects/carriera-intern-components/src/app/components/input/stories/modal.stories.ts +0 -162
  418. package/projects/carriera-intern-components/src/app/components/input/utilities/constants/cast.constants.ts +0 -91
  419. package/projects/carriera-intern-components/src/app/components/input/utilities/constants/index.ts +0 -1
  420. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/index.ts +0 -2
  421. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/input.helper.ts +0 -985
  422. package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/keyboard-navigation.helper.ts +0 -402
  423. package/projects/carriera-intern-components/src/app/components/input/utilities/index.ts +0 -2
  424. package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-layers-string.enum.ts +0 -4
  425. package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-type-string.enum.ts +0 -7
  426. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.html +0 -13
  427. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.scss +0 -0
  428. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.spec.ts +0 -22
  429. package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.ts +0 -509
  430. package/projects/carriera-intern-components/src/app/components/input-address/models/address-data.model.ts +0 -22
  431. package/projects/carriera-intern-components/src/app/components/input-address/models/address-list.model.ts +0 -6
  432. package/projects/carriera-intern-components/src/app/components/input-address/models/long-lat.model.ts +0 -4
  433. package/projects/carriera-intern-components/src/app/components/input-address/models/sent-address-data.model.ts +0 -25
  434. package/projects/carriera-intern-components/src/app/components/input-address/stories/address.stories.ts +0 -181
  435. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.html +0 -180
  436. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.scss +0 -862
  437. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.ts +0 -1559
  438. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.stories.ts +0 -507
  439. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.html +0 -134
  440. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.scss +0 -0
  441. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.spec.ts +0 -24
  442. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.ts +0 -331
  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.html +0 -190
  444. 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
  445. 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 +0 -26
  446. 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 +0 -234
  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.html +0 -23
  448. 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
  449. 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 +0 -26
  450. 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 +0 -60
  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.html +0 -27
  452. 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
  453. 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 +0 -26
  454. 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 +0 -187
  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.html +0 -68
  456. 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
  457. 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 +0 -26
  458. 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 +0 -163
  459. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/cai-input.config.ts +0 -193
  460. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/index.ts +0 -1
  461. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-left-string.enum.ts +0 -5
  462. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-list-preview-string.enum.ts +0 -4
  463. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-main-string.enum.ts +0 -5
  464. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-scroll-type-string.enum.ts +0 -4
  465. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-string.enum.ts +0 -6
  466. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-type-string.enum.ts +0 -3
  467. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/config.enum.ts +0 -7
  468. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-change.model.ts +0 -6
  469. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-type.model.ts +0 -8
  470. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/pipes/calendar-months.pipe.ts +0 -23
  471. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/services/calendar-datetime-picker.service.ts +0 -35
  472. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/strategy/calendar-strategy.ts +0 -120
  473. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/utils/constants/custom-datetime-pickers.constants.ts +0 -48
  474. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/enums/input-config-name-string.enum.ts +0 -7
  475. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/index.ts +0 -1
  476. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/input-datetime.interface.ts +0 -11
  477. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/index.ts +0 -5
  478. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/label-color.model.ts +0 -11
  479. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-clear-class.pipe.ts +0 -105
  480. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-date-time-container-class.pipe.ts +0 -66
  481. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-dropdown-arrow-class.pipe.ts +0 -68
  482. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-placeholder-icon.class.pipe.ts +0 -68
  483. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/show-clear.pipe.ts +0 -20
  484. package/projects/carriera-intern-components/src/app/components/input-datetime-picker/scss/ca-input.colors.scss +0 -287
  485. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.html +0 -194
  486. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.scss +0 -613
  487. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.spec.ts +0 -22
  488. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.ts +0 -208
  489. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.stories.ts +0 -52
  490. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/mock/brokerContacts.json +0 -74
  491. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/models/contact.interface.ts +0 -23
  492. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contact-count.pipe.ts +0 -14
  493. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contacts-height.pipe.ts +0 -34
  494. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/departments-height.pipe.ts +0 -57
  495. package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/map-contacts.pipe.ts +0 -51
  496. package/projects/carriera-intern-components/src/app/components/pm/mock/repair-pm.json +0 -2743
  497. package/projects/carriera-intern-components/src/app/components/pm/pm.component.html +0 -82
  498. package/projects/carriera-intern-components/src/app/components/pm/pm.component.scss +0 -260
  499. package/projects/carriera-intern-components/src/app/components/pm/pm.component.spec.ts +0 -23
  500. package/projects/carriera-intern-components/src/app/components/pm/pm.component.ts +0 -207
  501. package/projects/carriera-intern-components/src/app/components/pm/pm.stories.ts +0 -104
  502. package/projects/carriera-intern-components/src/app/components/rating_review/enums/filter-type.enum.ts +0 -7
  503. package/projects/carriera-intern-components/src/app/components/rating_review/enums/review-type.enum.ts +0 -5
  504. package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.spec.ts +0 -8
  505. package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.ts +0 -42
  506. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.html +0 -57
  507. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.scss +0 -94
  508. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.spec.ts +0 -23
  509. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.ts +0 -105
  510. package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.stories.ts +0 -451
  511. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.html +0 -236
  512. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.scss +0 -564
  513. package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.ts +0 -360
  514. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.html +0 -321
  515. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.scss +0 -887
  516. package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.ts +0 -159
  517. package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/index.ts +0 -1
  518. package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/selected-business-field.interface.ts +0 -11
  519. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.html +0 -100
  520. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.scss +0 -239
  521. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.spec.ts +0 -22
  522. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.ts +0 -28
  523. package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.stories.ts +0 -132
  524. package/projects/carriera-intern-components/src/app/components/signature/signature.component.html +0 -63
  525. package/projects/carriera-intern-components/src/app/components/signature/signature.component.scss +0 -229
  526. package/projects/carriera-intern-components/src/app/components/signature/signature.component.spec.ts +0 -23
  527. package/projects/carriera-intern-components/src/app/components/signature/signature.component.ts +0 -102
  528. package/projects/carriera-intern-components/src/app/components/signature/signature.stories.ts +0 -32
  529. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/index.ts +0 -1
  530. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/scroll-state.enum.ts +0 -6
  531. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.html +0 -29
  532. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.scss +0 -106
  533. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.spec.ts +0 -23
  534. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.ts +0 -458
  535. package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.stories.ts +0 -343
  536. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/index.ts +0 -2
  537. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option-config.interface.ts +0 -4
  538. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option.interface.ts +0 -4
  539. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/index.ts +0 -1
  540. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/tab-search-filter.pipe.ts +0 -20
  541. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.html +0 -66
  542. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.scss +0 -441
  543. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.spec.ts +0 -22
  544. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.ts +0 -105
  545. package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option.stories.ts +0 -93
  546. package/projects/carriera-intern-components/src/app/components/text-area/interfaces/index.ts +0 -1
  547. package/projects/carriera-intern-components/src/app/components/text-area/interfaces/text-area.interface.ts +0 -4
  548. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.html +0 -29
  549. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.scss +0 -294
  550. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.spec.ts +0 -23
  551. package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.ts +0 -213
  552. package/projects/carriera-intern-components/src/app/components/text-area/text-area.stories.ts +0 -90
  553. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/index.ts +0 -1
  554. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/interval-dropdown-option.interface.ts +0 -10
  555. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.html +0 -98
  556. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.scss +0 -437
  557. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.spec.ts +0 -22
  558. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.ts +0 -160
  559. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.stories.ts +0 -77
  560. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/pipes/dropdown-filter-input-config.pipe.ts +0 -52
  561. package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/utils/helpers/interval-dropdown.helper.ts +0 -193
  562. package/projects/carriera-intern-components/src/app/directives/hover-svg-directives.ts +0 -49
  563. package/projects/carriera-intern-components/src/app/directives/index.ts +0 -3
  564. package/projects/carriera-intern-components/src/app/directives/infinite-scroll.directive.ts +0 -64
  565. package/projects/carriera-intern-components/src/app/directives/intersection-observer.directive.ts +0 -50
  566. package/projects/carriera-intern-components/src/app/enums/alignment.enum.ts +0 -4
  567. package/projects/carriera-intern-components/src/app/enums/general-actions.enum.ts +0 -71
  568. package/projects/carriera-intern-components/src/app/enums/index.ts +0 -3
  569. package/projects/carriera-intern-components/src/app/enums/string-placeholder.enum.ts +0 -3
  570. package/projects/carriera-intern-components/src/app/models/pm.model.ts +0 -11
  571. package/projects/carriera-intern-components/src/app/models/review.model.ts +0 -29
  572. package/projects/carriera-intern-components/src/app/models/truck.model.ts +0 -5
  573. package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.spec.ts +0 -8
  574. package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.ts +0 -29
  575. package/projects/carriera-intern-components/src/app/pipes/currency.pipe.spec.ts +0 -8
  576. package/projects/carriera-intern-components/src/app/pipes/currency.pipe.ts +0 -61
  577. package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.spec.ts +0 -8
  578. package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.ts +0 -30
  579. package/projects/carriera-intern-components/src/app/services/document.service.spec.ts +0 -16
  580. package/projects/carriera-intern-components/src/app/services/document.service.ts +0 -168
  581. package/projects/carriera-intern-components/src/app/utils/autofill-validators.ts +0 -32
  582. package/projects/carriera-intern-components/src/app/utils/constants/index.ts +0 -1
  583. package/projects/carriera-intern-components/src/app/utils/constants/input-character-sets.constants.ts +0 -142
  584. package/projects/carriera-intern-components/src/app/utils/index.ts +0 -2
  585. package/projects/carriera-intern-components/src/app/validators/custom-validators.ts +0 -45
  586. package/projects/carriera-intern-components/src/public-api.ts +0 -31
  587. package/projects/carriera-intern-components/tsconfig.lib.json +0 -15
  588. package/projects/carriera-intern-components/tsconfig.lib.prod.json +0 -11
  589. package/projects/carriera-intern-components/tsconfig.spec.json +0 -15
  590. package/tsconfig.json +0 -33
  591. /package/{projects/carriera-intern-components/public → public}/assets/animations/animation-document-update.json +0 -0
  592. /package/{projects/carriera-intern-components/public → public}/assets/animations/animation-image.json +0 -0
  593. /package/{projects/carriera-intern-components/public → public}/assets/animations/animation-logo.json +0 -0
  594. /package/{projects/carriera-intern-components/public → public}/assets/animations/animation-media.json +0 -0
  595. /package/{projects/carriera-intern-components/public → public}/assets/cdl.png +0 -0
  596. /package/{projects/carriera-intern-components/public → public}/assets/exampledoc.png +0 -0
  597. /package/{projects/carriera-intern-components/public → public}/assets/examplelargeview.png +0 -0
  598. /package/{projects/carriera-intern-components/public → public}/assets/invexample.png +0 -0
  599. /package/{projects/carriera-intern-components/public → public}/assets/invoice.png +0 -0
  600. /package/{projects/carriera-intern-components/public → public}/assets/truck.png +0 -0
@@ -1,1486 +0,0 @@
1
- // Angular
2
- import {
3
- AfterViewInit,
4
- Component,
5
- computed,
6
- ElementRef,
7
- HostListener,
8
- input,
9
- OnInit,
10
- Optional,
11
- output,
12
- Self,
13
- signal,
14
- ViewChild,
15
- ChangeDetectorRef,
16
- } from '@angular/core';
17
- import {
18
- ControlValueAccessor,
19
- NgControl,
20
- AbstractControl,
21
- } from '@angular/forms';
22
- import { NgTemplateOutlet } from '@angular/common';
23
-
24
- // Pipes
25
- import { CurrencyPipe } from '../../pipes/currency.pipe';
26
- import {
27
- InputClassPipe,
28
- BrokerProgressPipe,
29
- ClearTooltipPipe,
30
- HighlightSearchPipe,
31
- RemapPmIconsPipe,
32
- ErrorMessagePipe,
33
- } from './pipes';
34
-
35
- // Directives
36
- import { PasswordDirective } from './directives/password.directive';
37
- import { NumberFormatDirective } from './directives/number-format.directive';
38
- import { MaskDirective } from './directives/mask.directive';
39
-
40
- import { InfiniteScrollDirective } from '../../directives/infinite-scroll.directive';
41
- import { IntersectionObserverDirective } from '../../directives/intersection-observer.directive';
42
-
43
- // Bootstrap
44
- import {
45
- NgbDropdownModule,
46
- NgbPopover,
47
- NgbTooltip,
48
- } from '@ng-bootstrap/ng-bootstrap';
49
-
50
- // Models
51
- import {
52
- CaiInputConfig,
53
- DropdownOption,
54
- DropdownArrays,
55
- DropdownOptions,
56
- DropdownKeys,
57
- DropdownGroups,
58
- GroupedNavigationState,
59
- KeyboardNavigationState,
60
- } from './models';
61
-
62
- // Components
63
- import { AvatarComponent } from '../avatar/avatar.component';
64
- import { SvgIconComponent } from 'angular-svg-icon';
65
-
66
- // Helpers
67
- import {
68
- InputHelper,
69
- KeyboardNavigationHelper,
70
- CastableType,
71
- CastableTypeMap,
72
- } from './utilities';
73
-
74
- interface AutofillableFormControl extends AbstractControl {
75
- _autofilled?: boolean;
76
- }
77
-
78
- @Component({
79
- selector: 'cai-input',
80
- templateUrl: './input.component.html',
81
- styleUrl: './input.component.scss',
82
- imports: [
83
- // Pipes
84
- ErrorMessagePipe,
85
- CurrencyPipe,
86
- HighlightSearchPipe,
87
- RemapPmIconsPipe,
88
- ClearTooltipPipe,
89
- BrokerProgressPipe,
90
- InputClassPipe,
91
-
92
- // Directives
93
- PasswordDirective,
94
- NumberFormatDirective,
95
- MaskDirective,
96
- InfiniteScrollDirective,
97
- IntersectionObserverDirective,
98
-
99
- // Bootstrap
100
- NgbDropdownModule,
101
- NgbTooltip,
102
- NgTemplateOutlet,
103
-
104
- // Components
105
- SvgIconComponent,
106
- AvatarComponent,
107
- ],
108
- })
109
- export class InputComponent
110
- implements ControlValueAccessor, AfterViewInit, OnInit
111
- {
112
- // Refs
113
- @ViewChild('inputRef') inputRef!: ElementRef<HTMLInputElement>;
114
- @ViewChild('containerRef') containerRef!: ElementRef<HTMLInputElement>;
115
- @ViewChild('dropdown') dropdown!: NgbPopover;
116
- @ViewChild('closeTooltip') closeTooltip!: NgbPopover;
117
-
118
- // Directive refs
119
- @ViewChild(PasswordDirective) PasswordDirective!: PasswordDirective;
120
- @ViewChild(NumberFormatDirective)
121
- NumberFormatDirective!: NumberFormatDirective;
122
- @ViewChild(MaskDirective)
123
- MaskDirective!: MaskDirective;
124
-
125
- // Inputs
126
-
127
- id = input<string>('');
128
-
129
- config = input<CaiInputConfig>({});
130
-
131
- options = input<DropdownArrays>([]);
132
-
133
- preselectedOptions = input<DropdownArrays | null>(null);
134
-
135
- isLoading = input<boolean>(false);
136
-
137
- hideValidation = input<boolean>(false);
138
- showNoResults = input<boolean>(true);
139
-
140
- preselectedUnit = input<string | null>(null); // Subcontent drop
141
-
142
- unassignedCount = input<number>(0);
143
-
144
- // Signals
145
-
146
- openGroup = signal<number | null>(null);
147
-
148
- isDropdownOpen = signal<boolean>(false);
149
-
150
- closing = signal<boolean>(false);
151
-
152
- canTooltipBeVisible = signal<boolean>(false);
153
- disabled = signal<boolean>(false);
154
-
155
- value = signal<string>('');
156
- searchValue = signal<string>('');
157
-
158
- visible = signal<boolean>(false); // Password visibility
159
-
160
- selectedOption = signal<DropdownOptions | null>(null);
161
- multipleSelectedOptions = signal<DropdownOptions[]>([]);
162
-
163
- focused = signal<boolean>(false);
164
- hovered = signal<boolean>(false);
165
-
166
- isAdding = signal<boolean>(false);
167
- isAutofilled = signal<boolean>(false);
168
-
169
- isFocusedWithMouseClick = signal<boolean>(false);
170
-
171
- // Dispatch board signals
172
- foldedBoards = signal<number[]>([]);
173
-
174
- randomAutocomplete = signal<string>(this.randomizeAutocomplete());
175
-
176
- // Grouped: Where 0 for optionIndex is always the group item head
177
- keyboardNavigationState = signal<KeyboardNavigationState>({
178
- singleIndex: null,
179
- groupedNavigationState: null,
180
- });
181
-
182
- // Computed signals
183
-
184
- public isDisabled = computed<boolean>(() => {
185
- return this.disabled() || !!this.config().disabled;
186
- });
187
-
188
- public dropdownOptions = computed<DropdownOptions[]>(() => {
189
- const options = InputHelper.getSearchedDropdownOptions(
190
- this.options(),
191
- this.searchValue() || '',
192
- this.config().dropdown,
193
- this.config().search && !this.config().useOutsideSearch,
194
- this.foldedBoards(),
195
- this.config().optionLabel,
196
- this.openGroup(),
197
- this.isDropdownOpen(),
198
- );
199
- return options;
200
- });
201
-
202
- // Should apply contentful styles
203
- public hasText = computed<boolean>(() => {
204
- return Boolean(
205
- this.value() ||
206
- (this.selectedOption() && this.config().dropdown !== 'subcontent') ||
207
- this.isAutofilled() ||
208
- !!this.multipleSelectedOptions().length,
209
- );
210
- });
211
-
212
- public containerWidth = signal<number>(0);
213
-
214
- step = computed(() => {
215
- const numericValue = parseFloat(this.value() || '0');
216
- const value = numericValue || 0;
217
- if (this.config().step === 'automatic') {
218
- if (value < 20000) return 1000;
219
- else if (value < 50000) return 5000;
220
- else if (value < 100000) return 10000;
221
- else return 20000;
222
- } else if (this.config().step) return this.config().step as number;
223
- else {
224
- return 1;
225
- }
226
- });
227
-
228
- public isGroupedDropdown = computed<boolean>(() => {
229
- return (
230
- this.config().dropdown === 'dispatch' ||
231
- this.config().dropdown === 'ftl-dispatch' ||
232
- this.config().dropdown === 'fuel-stop-transaction' ||
233
- // For toll we skip the header items since they are not selectable
234
- this.config().dropdown === 'toll' ||
235
- // Won't handle for now since we're delaying split functionality
236
- this.config().dropdown === 'split-driver' ||
237
- this.config().dropdown === 'split-truck' ||
238
- this.config().dropdown === 'split-trailer'
239
- );
240
- });
241
-
242
- // Outputs
243
- onBlur = output();
244
- onFocused = output();
245
- onReset = output();
246
-
247
- onValueChange = output<string | number | null>();
248
-
249
- onOptionAdded = output<string>(); // When an option is added
250
- onAdd = output(); // When add is clicked
251
-
252
- onSelectionChange = output<DropdownKeys | null>();
253
- onSelectedObject = output<DropdownOptions | null>();
254
- onSelectedGroup = output<DropdownGroups | null>();
255
-
256
- onClear = output();
257
- onAutofill = output();
258
- onScrolledToBottom = output();
259
- onScrolledToBottomGroup = output();
260
- onSearch = output<string>();
261
- onValueAdded = output<string | number | null>();
262
- onRemove = output();
263
- onHoverRemove = output<boolean>();
264
-
265
- dropdownPopperOptions = (options: Partial<Record<string, unknown>> = {}) => {
266
- // const modifiers = (options['modifiers'] as { name?: string; options?: Record<string, unknown> }[] | undefined) ?? [];
267
- // // Filter out the specific flip modifier with options
268
- // const flipModifier = modifiers.find((m) => m?.name === 'flip' && m?.options === undefined)
269
- // const otherModifiers = modifiers.filter((m) => m !== flipModifier);
270
-
271
- // const newOptions ={
272
- // ...options,
273
- // modifiers: [
274
- // ...otherModifiers,
275
- // {
276
- // ...flipModifier,
277
- // name: 'flip',
278
- // options: {
279
- // altBoundary: true,
280
- // rootBoundary: 'document',
281
- // padding: 8,
282
- // },
283
- // },
284
- // ],
285
- // };
286
- return options;
287
- };
288
-
289
- constructor(
290
- @Optional() @Self() public ngControl: NgControl | null,
291
- private cdr: ChangeDetectorRef,
292
- ) {
293
- if (this.ngControl) {
294
- this.ngControl.valueAccessor = this;
295
- }
296
- }
297
-
298
- onAutofilled(): void {
299
- if (!this.config().autocomplete) {
300
- return;
301
- }
302
-
303
- this.onAutofill.emit();
304
-
305
- const ctrl = this.ngControl?.control as AutofillableFormControl;
306
- if (!ctrl) return;
307
-
308
- ctrl._autofilled = true;
309
- this.isAutofilled.set(true);
310
- ctrl.setErrors(null);
311
- ctrl.markAsDirty();
312
- ctrl.markAsTouched();
313
- ctrl.updateValueAndValidity({ emitEvent: false });
314
- this.cdr.detectChanges();
315
- }
316
-
317
- clearAutofillFlag(): void {
318
- const ctrl = this.ngControl?.control as AutofillableFormControl;
319
- if (ctrl?._autofilled) {
320
- ctrl._autofilled = false;
321
- this.isAutofilled.set(false);
322
- ctrl.updateValueAndValidity({ emitEvent: false });
323
- }
324
- }
325
-
326
- ngOnInit(): void {
327
- const optionLabel = this.config().optionLabel || 'label';
328
-
329
- if (
330
- this.preselectedUnit() &&
331
- this.options() &&
332
- this.config().dropdown === 'subcontent'
333
- ) {
334
- const option = (this.options() as DropdownOption[])!.find((option) => {
335
- return (
336
- option[optionLabel]?.toString().toLowerCase() ===
337
- this.preselectedUnit()?.toString().toLowerCase()
338
- );
339
- });
340
- if (option) {
341
- this.selectedOption.set(option);
342
- }
343
- }
344
- }
345
-
346
- ngAfterViewInit(): void {
347
- setTimeout(() => {
348
- this.updateContainerWidth();
349
- if (this.config().autofocus) {
350
- this.focus();
351
- }
352
-
353
- // Set up autofill detection via animation events
354
- if (
355
- this.config().autocomplete &&
356
- this.config().autocomplete !== 'off' &&
357
- this.inputRef?.nativeElement
358
- ) {
359
- this.setupAutofillDetection();
360
- }
361
- }, 0);
362
- }
363
-
364
- private setupAutofillDetection(): void {
365
- if (!this.inputRef?.nativeElement) return;
366
-
367
- const inputElement = this.inputRef.nativeElement;
368
-
369
- // Check for autofill using CSS pseudo-class detection
370
- const checkForAutofill = () => {
371
- if (this.isAutofilled()) return;
372
-
373
- // Check if the element matches the -webkit-autofill pseudo-class
374
- const isAutofilled =
375
- inputElement.matches(':-webkit-autofill') ||
376
- inputElement.matches(':-webkit-autofill:hover') ||
377
- inputElement.matches(':-webkit-autofill:focus') ||
378
- inputElement.matches(':-webkit-autofill:active');
379
-
380
- if (isAutofilled) {
381
- this.onAutofilled();
382
- }
383
- };
384
-
385
- // Periodic checks for autofill
386
- setTimeout(checkForAutofill, 200);
387
- setTimeout(checkForAutofill, 500);
388
- setTimeout(checkForAutofill, 1000);
389
- }
390
-
391
- private updateContainerWidth(): void {
392
- if (this.containerRef?.nativeElement) {
393
- this.containerWidth.set(this.containerRef.nativeElement.offsetWidth);
394
- }
395
- }
396
-
397
- onInput(event: Event): void {
398
- // Clear autofill flag when user manually types
399
- this.clearAutofillFlag();
400
-
401
- const inputElement = event.target as HTMLInputElement;
402
- const inputEvent = event as InputEvent;
403
- const inputData = inputEvent.data;
404
- const max = this.config().max;
405
-
406
- // Handle inputs normally for all inputs other than password and number
407
- if (
408
- ((this.config().type === 'password' ||
409
- this.config().type === 'account') &&
410
- this.config().reveal) ||
411
- this.config().type === 'number'
412
- ) {
413
- return;
414
- }
415
-
416
- if (
417
- inputData &&
418
- (this.config().disabledCharacters?.length ||
419
- this.config().enabledCharacters?.length ||
420
- this.config().spacesAllowed !== undefined)
421
- ) {
422
- // Capture cursor position before any modifications
423
- const cursorPosition = inputElement.selectionStart || 0;
424
- const beforeCursor = inputElement.value.substring(
425
- 0,
426
- cursorPosition - inputData.length,
427
- );
428
- const afterCursor = inputElement.value.substring(cursorPosition);
429
-
430
- let filteredData = inputData;
431
-
432
- if (this.config().disabledCharacters?.length) {
433
- filteredData = Array.from(filteredData)
434
- .filter(
435
- (char) =>
436
- !this.config().disabledCharacters?.includes(char?.toLowerCase()),
437
- )
438
- .join('');
439
- }
440
-
441
- if (this.config().enabledCharacters?.length) {
442
- filteredData = Array.from(filteredData)
443
- .filter((char) =>
444
- this.config().enabledCharacters?.includes(char?.toLowerCase()),
445
- )
446
- .join('');
447
- }
448
-
449
- if (this.config().spacesAllowed !== undefined) {
450
- // First, handle space validation (leading spaces and double spaces)
451
- let processedData = '';
452
- for (let i = 0; i < filteredData.length; i++) {
453
- const char = filteredData[i];
454
- const fullValueSoFar = beforeCursor + processedData;
455
-
456
- if (char === ' ') {
457
- if (fullValueSoFar.length === 0) {
458
- continue;
459
- }
460
-
461
- if (fullValueSoFar.endsWith(' ')) {
462
- continue;
463
- }
464
- }
465
-
466
- processedData += char;
467
- }
468
-
469
- const fullValue = beforeCursor + processedData + afterCursor;
470
- const currentSpaceCount = (fullValue.match(/ /g) || []).length;
471
-
472
- // Then apply space count limit
473
- if (currentSpaceCount > this.config().spacesAllowed!) {
474
- const spacesInProcessedData = (processedData.match(/ /g) || [])
475
- .length;
476
- const currentSpacesWithoutProcessed =
477
- currentSpaceCount - spacesInProcessedData;
478
- const allowedSpacesInProcessed = Math.max(
479
- 0,
480
- this.config().spacesAllowed! - currentSpacesWithoutProcessed,
481
- );
482
-
483
- if (allowedSpacesInProcessed === 0) {
484
- processedData = processedData.replace(/ /g, '');
485
- } else if (spacesInProcessedData > allowedSpacesInProcessed) {
486
- const spacesToRemove =
487
- spacesInProcessedData - allowedSpacesInProcessed;
488
- let removedCount = 0;
489
- processedData = Array.from(processedData)
490
- .filter((char) => {
491
- if (char === ' ' && removedCount < spacesToRemove) {
492
- removedCount++;
493
- return false;
494
- }
495
- return true;
496
- })
497
- .join('');
498
- }
499
- }
500
-
501
- filteredData = processedData;
502
- }
503
-
504
- if (filteredData !== inputData) {
505
- inputElement.value = beforeCursor + filteredData + afterCursor;
506
- const newCursorPosition = beforeCursor.length + filteredData.length;
507
- inputElement.setSelectionRange(newCursorPosition, newCursorPosition);
508
- }
509
- }
510
-
511
- if (max && inputElement.value.length > max) {
512
- const cursorPosition = inputElement.selectionStart || 0;
513
- inputElement.value = inputElement.value.slice(0, max);
514
- // Restore cursor position, capping at max length
515
- const newCursorPosition = Math.min(cursorPosition, max);
516
- inputElement.setSelectionRange(newCursorPosition, newCursorPosition);
517
- }
518
-
519
- if (this.config().textTransform) {
520
- const cursorPosition = inputElement.selectionStart || 0;
521
- let newCursorPosition = cursorPosition;
522
-
523
- switch (this.config().textTransform) {
524
- case 'capitalize':
525
- let words = inputElement.value.split(' ');
526
- inputElement.value = words
527
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
528
- .join(' ');
529
- break;
530
- case 'uppercase':
531
- inputElement.value = inputElement.value
532
- .split('')
533
- .map((letter) => {
534
- if (this.config().textTransformExceptions?.includes(letter)) {
535
- return letter.toLowerCase();
536
- }
537
- return letter.toUpperCase();
538
- })
539
- .join('');
540
- break;
541
- case 'lowercase':
542
- inputElement.value = inputElement.value.toLowerCase();
543
- break;
544
- }
545
-
546
- // Restore cursor position after text transformation (deferred to allow bulk operations)
547
- inputElement.setSelectionRange(newCursorPosition, newCursorPosition);
548
- }
549
-
550
- this.value.set(inputElement.value);
551
- this.searchValue.set(inputElement.value);
552
-
553
- if (
554
- this.config().search &&
555
- !this.config().dropdownAutocomplete &&
556
- !this.isAdding()
557
- ) {
558
- this.onSearch.emit(inputElement.value);
559
- this.onTouched();
560
-
561
- if (
562
- this.keyboardNavigationState().singleIndex !== null ||
563
- this.keyboardNavigationState().groupedNavigationState !== null
564
- ) {
565
- this.startKeyboardNavigation();
566
- }
567
-
568
- if (!this.dropdown.isOpen()) {
569
- this.openDropdown();
570
- }
571
-
572
- if (this.selectedOption()) {
573
- this.selectedOption.set(null);
574
- this.dispatchOnChange(null);
575
-
576
- this.onSelectionChange.emit(null);
577
- this.onSelectedObject.emit(null);
578
- }
579
- return;
580
- }
581
-
582
- if (this.config().dropdownAutocomplete) {
583
- if (!this.dropdown.isOpen()) {
584
- this.openDropdown();
585
- }
586
- this.startKeyboardNavigation();
587
- }
588
-
589
- this.dispatchOnChange(this.value());
590
- }
591
-
592
- // Event from password, number format, and mask directives
593
- @HostListener('realValueChange', ['$event'])
594
- onRealValueChange(event: CustomEvent): void {
595
- this.value.set(event.detail);
596
- this.searchValue.set(event.detail);
597
-
598
- if (this.config().type === 'number') {
599
- this.dispatchOnChange(Number(event.detail));
600
- return;
601
- }
602
-
603
- this.dispatchOnChange(event.detail);
604
- }
605
-
606
- // ControlValueAccessor methods
607
- onChange = (_: any) => {};
608
- onTouched = () => {};
609
-
610
- dispatchOnChange(value: any): void {
611
- if (value === undefined || value === null || value === '') {
612
- this.onChange(null);
613
- this.onValueChange.emit(null);
614
- } else {
615
- this.onChange(value);
616
- this.onValueChange.emit(value);
617
- }
618
-
619
- requestAnimationFrame(() => {
620
- if (this.config().passwordRequirements) {
621
- if (this.ngControl?.control?.valid) {
622
- this.closeDropdown();
623
- } else {
624
- this.openDropdown();
625
- }
626
- }
627
- });
628
- }
629
-
630
- registerOnChange(fn: any): void {
631
- this.onChange = fn;
632
- }
633
-
634
- registerOnTouched(fn: any): void {
635
- this.onTouched = fn;
636
- }
637
-
638
- setDisabledState(isDisabled: boolean): void {
639
- this.disabled.set(isDisabled);
640
- }
641
-
642
- /**
643
- * Writes a new value to the element. (ControlValueAccessor)
644
- */
645
- writeValue(value: any): void {
646
- if (value && this.config().textTransform && typeof value === 'string') {
647
- switch (this.config().textTransform) {
648
- case 'capitalize':
649
- let words = value.split(' ');
650
- value = words
651
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
652
- .join(' ');
653
- break;
654
- case 'uppercase':
655
- value = value
656
- .split('')
657
- .map((letter) => {
658
- if (this.config().textTransformExceptions?.includes(letter)) {
659
- return letter.toLowerCase();
660
- }
661
- return letter.toUpperCase();
662
- })
663
- .join('');
664
- break;
665
- case 'lowercase':
666
- value = value.toLowerCase();
667
- break;
668
- }
669
- }
670
- this.value.set(value);
671
- this.searchValue.set(value);
672
-
673
- const optionValue = this.config().optionValue;
674
-
675
- requestAnimationFrame(() => {
676
- if (value || value === 0) {
677
- this.onTouched();
678
- } else {
679
- this.selectedOption.set(null);
680
- this.setValue();
681
- return;
682
- }
683
-
684
- if (
685
- !(this.config().dropdown && !this.config().dropdownAutocomplete) ||
686
- this.config().dropdown === 'subcontent'
687
- ) {
688
- this.setValue();
689
- }
690
-
691
- if (this.config().dropdownAutocomplete) {
692
- return;
693
- }
694
-
695
- if (!this.options() && !this.preselectedOptions()) {
696
- return;
697
- }
698
-
699
- if (!this.options()?.length && !this.preselectedOptions()?.length) {
700
- return;
701
- }
702
-
703
- const options = !!this.preselectedOptions()?.length
704
- ? [...this.options(), ...this.preselectedOptions()!]
705
- : this.options();
706
-
707
- const { newValue, selectedOption, multipleSelectedOptions } =
708
- InputHelper.getOptionValue(
709
- value,
710
- options,
711
- optionValue as keyof DropdownOptions,
712
- this.config(),
713
- );
714
-
715
- if (this.config().dropdown !== 'subcontent') {
716
- this.value.set(newValue || '');
717
- this.searchValue.set(newValue || '');
718
- this.selectedOption.set(selectedOption || null);
719
- this.multipleSelectedOptions.set(multipleSelectedOptions || []);
720
- }
721
- });
722
- }
723
-
724
- /**
725
- * Increments the value of a number input by the current step.
726
- */
727
- increment(event?: MouseEvent): void {
728
- const max = this.config().max;
729
- if (max && Number(this.value()) + this.step() > max) {
730
- this.value.set(String(max));
731
- } else {
732
- this.value.update((v) =>
733
- String(
734
- (parseFloat(v) ? parseFloat(v) : this.config().min || 0) +
735
- this.step(),
736
- ),
737
- );
738
- }
739
- this.dispatchOnChange(this.value());
740
- this.setValue();
741
- this.focus(event);
742
- }
743
-
744
- /**
745
- * Decrements the value of a number input by the current step.
746
- */
747
- decrement(event?: MouseEvent): void {
748
- const min = this.config().min;
749
- if (min && Number(this.value()) - this.step() < min) {
750
- this.value.set(String(min));
751
- } else {
752
- this.value.update((v) => {
753
- const currentValue = parseFloat(v) ? parseFloat(v) : 0;
754
- const nextValue = currentValue - this.step();
755
- return String(nextValue <= 0 ? 0 : nextValue);
756
- });
757
- }
758
- this.dispatchOnChange(this.value());
759
- this.setValue();
760
- this.focus(event);
761
- }
762
-
763
- /**
764
- * Toggles the visibility of the password input.
765
- * @param event - The MouseEvent that triggered the toggle.
766
- */
767
- toggleVisibility(event?: MouseEvent): void {
768
- if (this.config().type !== 'password' && this.config().type !== 'account') {
769
- return;
770
- }
771
-
772
- if (this.focused() || !this.hasText()) {
773
- this.focus(event);
774
- }
775
- this.visible.update((v) => !v);
776
- setTimeout(() => this.setValue(), 0);
777
- }
778
-
779
- /**
780
- * Sets the value in the actual HTML input element or updates the
781
- * "real" value in the associated directive.
782
- */
783
- setValue(): void {
784
- if (!this.inputRef || !this.inputRef.nativeElement) {
785
- return;
786
- }
787
-
788
- let type =
789
- !!this.config().mask && !this.config().reveal
790
- ? 'masked'
791
- : this.config().type;
792
-
793
- if ((type === 'password' || type === 'account') && !this.config().reveal) {
794
- type = 'text';
795
- }
796
-
797
- switch (type) {
798
- case 'password':
799
- if (this.PasswordDirective) {
800
- this.PasswordDirective.setRealValue(this.value());
801
- } else {
802
- this.inputRef.nativeElement.value = this.value();
803
- }
804
- break;
805
- case 'account':
806
- if (this.PasswordDirective) {
807
- this.PasswordDirective.setRealValue(this.value());
808
- } else {
809
- this.inputRef.nativeElement.value = this.value();
810
- }
811
- break;
812
- case 'number':
813
- if (this.NumberFormatDirective) {
814
- this.NumberFormatDirective.setRealValue(this.value());
815
- } else {
816
- this.inputRef.nativeElement.value = this.value();
817
- }
818
- break;
819
- case 'masked':
820
- if (this.MaskDirective) {
821
- this.MaskDirective.setRealValue(this.value());
822
- } else {
823
- this.inputRef.nativeElement.value = this.value();
824
- }
825
- break;
826
- default:
827
- this.inputRef.nativeElement.value = this.value();
828
- break;
829
- }
830
- }
831
-
832
- /**
833
- * Focuses the input element.
834
- * Prevents the default action of the mouse event to avoid unintended behaviors
835
- * like double focus or focus loss.
836
- * @param event - The MouseEvent that initiated the focus action.
837
- */
838
- focus(event?: MouseEvent): void {
839
- this.isFocusedWithMouseClick.set(true);
840
- if (event?.target === this.inputRef?.nativeElement) {
841
- return;
842
- }
843
- if (event) {
844
- event.stopPropagation();
845
- event.preventDefault();
846
- }
847
- if (this.inputRef && this.inputRef.nativeElement) {
848
- this.inputRef.nativeElement.focus();
849
- }
850
- }
851
-
852
- /**
853
- * Called when the input element receives focus (focus event).
854
- */
855
- onFocus(event: FocusEvent): void {
856
- this.onFocused.emit();
857
- this.updateContainerWidth();
858
- this.focused.set(true);
859
- this.keyboardNavigationState.set({
860
- singleIndex: null,
861
- groupedNavigationState: null,
862
- });
863
-
864
- if (this.config().dropdown && !this.isAdding()) {
865
- // Mouse clicked focus should always open the dropdown, but keyboard focus should only open the dropdown if there is no selected option
866
- if (!this.isFocusedWithMouseClick()) {
867
- if (!this.selectedOption()) {
868
- this.startKeyboardNavigation();
869
- if (!this.config().dropdownAutocomplete) {
870
- this.openDropdown();
871
- }
872
- }
873
- } else {
874
- this.openDropdown();
875
- }
876
- }
877
-
878
- if (this.config().passwordRequirements) {
879
- if (this.ngControl?.control?.invalid) {
880
- this.openDropdown();
881
- }
882
- }
883
-
884
- this.isFocusedWithMouseClick.set(false);
885
-
886
- if (!this.config().add && !this.config().search) return;
887
-
888
- if (this.isAdding()) return;
889
-
890
- if (this.config().search && !this.config().dropdownAutocomplete) {
891
- this.value.set('');
892
- this.searchValue.set('');
893
- this.inputRef.nativeElement.value = this.value();
894
- }
895
- }
896
-
897
- /**
898
- * Called when the input element loses focus (blur event).
899
- */
900
- dispatchOnBlur(): void {
901
- this.onBlur.emit();
902
- this.onTouched();
903
- this.closeDropdown();
904
- this.focused.set(false);
905
- this.isFocusedWithMouseClick.set(false);
906
-
907
- if (
908
- !this.config().add &&
909
- !(this.config().dropdown === 'dispatch') &&
910
- !this.config().search
911
- )
912
- return;
913
-
914
- if (this.isAdding()) {
915
- this.isAdding.set(false);
916
- this.reset();
917
-
918
- return;
919
- }
920
-
921
- requestAnimationFrame(() => {
922
- if (!this.config().dropdownAutocomplete) {
923
- this.inputRef.nativeElement.value = '';
924
- this.value.set('');
925
- }
926
- });
927
- }
928
-
929
- toggleHovered(value: boolean): void {
930
- this.hovered.set(value);
931
- }
932
-
933
- /**
934
- * Resets the input field's value to an empty string.
935
- */
936
- reset(event?: MouseEvent): void {
937
- if (this.config().hasRemoveModal) {
938
- this.closeTooltip.close();
939
- this.onRemove.emit();
940
-
941
- return;
942
- }
943
-
944
- if (this.config().hasResetButton) {
945
- this.closeTooltip.close();
946
- this.onReset.emit();
947
- return;
948
- }
949
-
950
- if (this.isAdding()) this.isAdding.set(false);
951
-
952
- if (this.config().dropdown === 'multiple') {
953
- this.multipleSelectedOptions.set([]);
954
- }
955
- this.value.set('');
956
- this.searchValue.set('');
957
- this.dispatchOnChange(''); // Notify form control of the change
958
- this.setValue(); // Update the actual input element
959
-
960
- this.onClear.emit();
961
- this.onSearch.emit('');
962
- this.onValueChange.emit('');
963
- this.selectedOption.set(null);
964
- this.onSelectionChange.emit(null);
965
- this.onSelectedObject.emit(null);
966
-
967
- this.closeTooltip.close();
968
-
969
- requestAnimationFrame(() => {
970
- this.updateContainerWidth();
971
- });
972
-
973
- if (event) {
974
- this.focus(event);
975
- }
976
- }
977
-
978
- onClearHover(value: boolean): void {
979
- this.onHoverRemove.emit(value);
980
- this.canTooltipBeVisible.set(value);
981
- }
982
-
983
- closeDropdown(addNew?: boolean): void {
984
- this.updateContainerWidth();
985
-
986
- if (!addNew) {
987
- this.closing.set(true);
988
-
989
- setTimeout(() => {
990
- this.dropdown.close();
991
- this.isDropdownOpen.set(false);
992
- this.closing.set(false);
993
- }, 200);
994
- } else {
995
- this.dropdown.close();
996
- this.isDropdownOpen.set(false);
997
- this.closing.set(false);
998
- }
999
- }
1000
-
1001
- openDropdown(): void {
1002
- this.dropdown.open();
1003
- this.isDropdownOpen.set(true);
1004
- }
1005
-
1006
- randomizeAutocomplete(): string {
1007
- return `${Math.random().toString(36).substring(2, 15)}`;
1008
- }
1009
-
1010
- /**
1011
- * Type guard that checks if a given property exists on an object.
1012
- * @param obj The object to check.
1013
- * @param prop The property to check for.
1014
- * @returns `true` if `prop` exists on `obj`, `false` otherwise.
1015
- */
1016
- hasProperty<T extends object>(obj: T, prop: PropertyKey): prop is keyof T {
1017
- return prop in obj;
1018
- }
1019
-
1020
- /**
1021
- * Stops event propagation to prevent parent popover from closing
1022
- * @param event - The event to stop
1023
- */
1024
- stopEventPropagation(event: Event): void {
1025
- event.stopPropagation();
1026
- event.stopImmediatePropagation();
1027
- }
1028
-
1029
- handleMultipleSelection(
1030
- option: DropdownOptions,
1031
- optionValue: keyof DropdownOptions,
1032
- ) {
1033
- if (
1034
- this.multipleSelectedOptions().some(
1035
- (selectedOption) => selectedOption.id === option.id,
1036
- )
1037
- ) {
1038
- this.multipleSelectedOptions.update((options) =>
1039
- options.filter((selectedOption) => selectedOption.id !== option.id),
1040
- );
1041
- } else {
1042
- this.multipleSelectedOptions.update((options) => [...options, option]);
1043
- }
1044
-
1045
- this.dispatchOnChange([
1046
- ...this.multipleSelectedOptions().map((option) => option[optionValue]),
1047
- ]);
1048
- }
1049
-
1050
- /**
1051
- * Handles when an option is selected from the dropdown.
1052
- * @param option - The selected option.
1053
- * @param event - The MouseEvent that initiated the selection action.
1054
- */
1055
- handleOption(option: DropdownOptions, event?: MouseEvent) {
1056
- if (event) {
1057
- this.stopEventPropagation(event);
1058
- }
1059
-
1060
- const optionValue = this.config().optionValue ?? 'id';
1061
-
1062
- if (optionValue && this.hasProperty(option, optionValue)) {
1063
- if (
1064
- this.config().dropdown !== 'subcontent' &&
1065
- this.config().dropdown !== 'multiple'
1066
- ) {
1067
- this.dispatchOnChange(option[optionValue]);
1068
- }
1069
-
1070
- if (this.config().dropdown === 'multiple') {
1071
- this.handleMultipleSelection(option, optionValue);
1072
- }
1073
-
1074
- event?.stopPropagation();
1075
- this.onSelectionChange.emit(option[optionValue]);
1076
- this.onSelectedObject.emit(option);
1077
- }
1078
-
1079
- // Multiple selection dropdown stores the selected options in the selectedOption signal and autocomplete has the value in the value signal
1080
- if (
1081
- this.config().dropdown !== 'multiple' &&
1082
- !this.config().dropdownAutocomplete
1083
- ) {
1084
- this.selectedOption.set(option);
1085
- }
1086
-
1087
- // Subcontent drop just adds the subcontent as a subcontent
1088
- if (this.config().dropdown === 'subcontent') {
1089
- this.closeDropdown();
1090
- this.focus(event);
1091
- this.setValue();
1092
-
1093
- return;
1094
- }
1095
-
1096
- // Clear the value for searching and adding etc...
1097
- if (
1098
- typeof this.config().dropdown === 'string' ||
1099
- (this.config().search && !this.config().dropdownAutocomplete) ||
1100
- this.config().add
1101
- ) {
1102
- this.value.set('');
1103
- } else {
1104
- this.value.set(
1105
- (option as DropdownOption)[this.config().optionLabel || 'label'],
1106
- );
1107
- }
1108
-
1109
- this.setValue();
1110
- this.closeDropdown();
1111
- }
1112
-
1113
- // For multiple selection dropdown
1114
- isSelectedOption(option: DropdownOptions) {
1115
- if (this.config().dropdown === 'multiple') {
1116
- return this.multipleSelectedOptions().some(
1117
- (selectedOption) => selectedOption.id === option.id,
1118
- );
1119
- }
1120
- return this.selectedOption()?.id === option.id;
1121
- }
1122
-
1123
- /**
1124
- * Adds a new option to the dropdown.
1125
- * @param option - The option to add.
1126
- */
1127
- addOption() {
1128
- const option = this.inputRef.nativeElement.value;
1129
-
1130
- if (!option) {
1131
- this.isAdding.set(false);
1132
- this.reset();
1133
- }
1134
-
1135
- if (this.config().isEdit) {
1136
- this.onOptionAdded.emit(option);
1137
- return;
1138
- }
1139
-
1140
- if (this.config().writeAddValue) {
1141
- this.value.set(option);
1142
- this.setValue();
1143
- this.dispatchOnChange(option);
1144
- this.onValueAdded.emit(option);
1145
- this.isAdding.set(false);
1146
-
1147
- this.selectedOption.set({
1148
- id: -1,
1149
- [this.config().optionLabel || 'label']: option,
1150
- });
1151
-
1152
- requestAnimationFrame(() => {
1153
- this.inputRef.nativeElement.blur();
1154
- });
1155
- return;
1156
- }
1157
-
1158
- this.isAdding.set(false);
1159
-
1160
- this.value.set('');
1161
- this.setValue();
1162
- this.onOptionAdded.emit(option);
1163
- }
1164
-
1165
- /**
1166
- * Handles when the user clicks on the "ADD NEW" button in the dropdown.
1167
- * It sets the `isAdding` signal to `true`, closes the dropdown, and focuses the input.
1168
- * @param event - The MouseEvent that initiated the action.
1169
- */
1170
- handleAddingOption(event?: MouseEvent) {
1171
- this.onAdd.emit();
1172
- this.selectedOption.set(null);
1173
-
1174
- if (!this.config().add) return;
1175
-
1176
- // Open modal variant
1177
- if (
1178
- this.config().canOpenModal ||
1179
- (typeof this.config().dropdown === 'string' &&
1180
- this.config().dropdown !== 'pm' &&
1181
- this.config().dropdown !== 'bank')
1182
- ) {
1183
- this.closeDropdown(true);
1184
- return;
1185
- }
1186
-
1187
- // Adding in input variant
1188
- this.isAdding.set(true);
1189
- this.closeDropdown();
1190
- if (event) this.focus(event);
1191
- }
1192
-
1193
- // Dispatch modal
1194
-
1195
- fold(boardId: number, event?: MouseEvent, group?: DropdownGroups) {
1196
- if (event) {
1197
- this.focus(event);
1198
- }
1199
-
1200
- if (group) {
1201
- this.onSelectedGroup.emit(group);
1202
- }
1203
-
1204
- // Handle Fuel Stop Transaction - Opening one franchise will close the other
1205
- if (this.config().dropdown === 'fuel-stop-transaction') {
1206
- if (!group?.isFranchise) {
1207
- this.handleOption(group as DropdownOptions);
1208
- requestAnimationFrame(() => {
1209
- this.inputRef.nativeElement.blur();
1210
- });
1211
- return;
1212
- }
1213
-
1214
- if (!group?.count) {
1215
- return;
1216
- }
1217
-
1218
- if (this.openGroup() === boardId) {
1219
- this.openGroup.set(null);
1220
- return;
1221
- }
1222
-
1223
- this.openGroup.set(boardId);
1224
-
1225
- return;
1226
- }
1227
-
1228
- // Can have many open boards at a time
1229
- if (this.foldedBoards().includes(boardId)) {
1230
- this.foldedBoards.update((boards) =>
1231
- boards.filter((id) => id !== boardId),
1232
- );
1233
- return;
1234
- }
1235
-
1236
- this.foldedBoards.update((boards) => [...boards, boardId]);
1237
- }
1238
-
1239
- // #region Casting methods for template
1240
-
1241
- /**
1242
- * Type-safe casting method for templates.
1243
- * Usage in template: cast(value, 'dispatch') or cast(value, 'broker'), etc.
1244
- * @param value - The value to cast
1245
- * @param type - The type string (e.g., 'dispatch', 'broker', 'contact')
1246
- * @returns The casted value or null
1247
- */
1248
- cast<T extends CastableType>(
1249
- value: unknown,
1250
- type: T,
1251
- ): CastableTypeMap[T] | null {
1252
- return InputHelper.cast(value, type);
1253
- }
1254
-
1255
- // #endregion Casting methods for template
1256
-
1257
- /**
1258
- * Handles infinite scroll event when dropdown is scrolled to bottom
1259
- * Emits an event that parent components can listen to for loading more data
1260
- */
1261
- onDropdownScrolledToBottom(isGroup?: boolean): void {
1262
- isGroup
1263
- ? this.onScrolledToBottomGroup.emit()
1264
- : this.onScrolledToBottom.emit();
1265
- }
1266
-
1267
- onDropdownBackgroundClick(event: MouseEvent): void {
1268
- if (
1269
- event.target instanceof HTMLElement &&
1270
- !event.target.classList.contains('dropdown-menu')
1271
- ) {
1272
- return;
1273
- }
1274
-
1275
- this.focus(event);
1276
- event.stopPropagation();
1277
- }
1278
-
1279
- onDropdownIconClick(event: MouseEvent): void {
1280
- if (!this.focused() || !this.dropdown.isOpen()) {
1281
- this.focus(event);
1282
- this.openDropdown();
1283
- return;
1284
- }
1285
- this.inputRef.nativeElement.blur();
1286
- event.stopPropagation();
1287
- }
1288
-
1289
- // #region Keyboard Navigation
1290
-
1291
- acceptSelection(event: KeyboardEvent): void {
1292
- event.preventDefault();
1293
- event.stopPropagation();
1294
-
1295
- const { singleIndex, groupedNavigationState } =
1296
- this.keyboardNavigationState();
1297
-
1298
- if (!this.dropdown.isOpen()) {
1299
- return;
1300
- }
1301
-
1302
- // Click on ADD
1303
- if (
1304
- this.config().add &&
1305
- (singleIndex === -1 || groupedNavigationState?.groupIndex === -1)
1306
- ) {
1307
- this.handleAddingOption();
1308
-
1309
- if (!this.config().writeAddValue) {
1310
- requestAnimationFrame(() => {
1311
- this.inputRef?.nativeElement.blur();
1312
- });
1313
- }
1314
-
1315
- return;
1316
- }
1317
-
1318
- if (this.isGroupedDropdown()) {
1319
- if (groupedNavigationState?.optionIndex === 0) {
1320
- const group =
1321
- this.dropdownOptions()[groupedNavigationState?.groupIndex || 0];
1322
-
1323
- if (group) {
1324
- this.fold(group?.id || 0, undefined, group as DropdownGroups);
1325
- }
1326
- return;
1327
- }
1328
- }
1329
-
1330
- const option = KeyboardNavigationHelper.getOptionFromFocusedIndex(
1331
- this.keyboardNavigationState(),
1332
- this.dropdownOptions(),
1333
- this.config().dropdown as string,
1334
- this.isGroupedDropdown(),
1335
- );
1336
-
1337
- if (option) {
1338
- this.handleOption(option);
1339
-
1340
- requestAnimationFrame(() => {
1341
- this.inputRef?.nativeElement.blur();
1342
-
1343
- KeyboardNavigationHelper.focusNextInput(this.inputRef);
1344
- });
1345
- }
1346
- }
1347
-
1348
- handleArrowKeys(event: KeyboardEvent): void {
1349
- if (event) {
1350
- event.preventDefault();
1351
- event.stopPropagation();
1352
- }
1353
-
1354
- if (!this.dropdown.isOpen()) {
1355
- this.openDropdown();
1356
- }
1357
-
1358
- const arrowKeyNavigationState =
1359
- KeyboardNavigationHelper.getArrowKeyNavigationState(
1360
- this.keyboardNavigationState(),
1361
- this.isGroupedDropdown(),
1362
- this.config().add || false,
1363
- this.config().dropdown as string,
1364
- this.dropdownOptions(),
1365
- event.key,
1366
- );
1367
-
1368
- this.setKeyboardNavigationState(
1369
- arrowKeyNavigationState.singleIndex,
1370
- arrowKeyNavigationState.groupedNavigationState,
1371
- );
1372
-
1373
- KeyboardNavigationHelper.scrollToOption();
1374
- }
1375
-
1376
- handleFirstAndLastSelection(event: KeyboardEvent): void {
1377
- if (event) {
1378
- event.preventDefault();
1379
- event.stopPropagation();
1380
- }
1381
-
1382
- const firstLastNavigationState =
1383
- KeyboardNavigationHelper.getFirstLastNavigationState(
1384
- this.keyboardNavigationState(),
1385
- this.isGroupedDropdown(),
1386
- this.config().add || false,
1387
- this.config().dropdown as string,
1388
- this.dropdownOptions(),
1389
- event.key,
1390
- );
1391
-
1392
- this.setKeyboardNavigationState(
1393
- firstLastNavigationState.singleIndex,
1394
- firstLastNavigationState.groupedNavigationState,
1395
- );
1396
-
1397
- KeyboardNavigationHelper.scrollToOption();
1398
- }
1399
-
1400
- startKeyboardNavigation(): void {
1401
- const { singleIndex, groupedNavigationState } =
1402
- KeyboardNavigationHelper.getInitialKeyboardNavigationState(
1403
- this.config().dropdown as string,
1404
- this.isGroupedDropdown(),
1405
- this.dropdownOptions(),
1406
- );
1407
-
1408
- this.setKeyboardNavigationState(singleIndex, groupedNavigationState);
1409
- }
1410
-
1411
- setKeyboardNavigationState(
1412
- singleIndex: number | null,
1413
- groupedNavigationState: GroupedNavigationState | null,
1414
- ): void {
1415
- this.keyboardNavigationState.set({ singleIndex, groupedNavigationState });
1416
- }
1417
-
1418
- handleDropdownKeyboardNavigation(event: KeyboardEvent): void {
1419
- // TODO: Handle multiple selection input
1420
-
1421
- if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
1422
- this.handleArrowKeys(event);
1423
- }
1424
-
1425
- if (event.key === 'Home' || event.key === 'End') {
1426
- this.handleFirstAndLastSelection(event);
1427
- }
1428
-
1429
- if (event.key === 'Enter') {
1430
- this.acceptSelection(event);
1431
- }
1432
-
1433
- if (
1434
- (event.key === 'Delete' || event.key === 'Backspace') &&
1435
- !this.value() &&
1436
- !this.isAdding() &&
1437
- this.selectedOption()
1438
- ) {
1439
- this.reset();
1440
- }
1441
- }
1442
-
1443
- handleNumberKeyboardNavigation(event: KeyboardEvent): void {
1444
- if (event.key === 'ArrowUp') {
1445
- event.preventDefault();
1446
- event.stopPropagation();
1447
- this.increment();
1448
- }
1449
-
1450
- if (event.key === 'ArrowDown') {
1451
- event.preventDefault();
1452
- event.stopPropagation();
1453
- this.decrement();
1454
- }
1455
- }
1456
-
1457
- handlePasswordKeyboardNavigation(event: KeyboardEvent): void {
1458
- if ((event.altKey || event.metaKey) && event.key === 's') {
1459
- event.preventDefault();
1460
- event.stopPropagation();
1461
- this.toggleVisibility();
1462
- }
1463
- }
1464
-
1465
- handleKeydown(event: KeyboardEvent): void {
1466
- if (event.key === 'Escape') {
1467
- event.preventDefault();
1468
- event.stopPropagation();
1469
- this.inputRef?.nativeElement.blur();
1470
- }
1471
-
1472
- if (this.config().dropdown) {
1473
- this.handleDropdownKeyboardNavigation(event);
1474
- }
1475
-
1476
- if (this.config().type === 'number' && !this.config().dropdown) {
1477
- this.handleNumberKeyboardNavigation(event);
1478
- }
1479
-
1480
- if (this.config().type === 'account' || this.config().type === 'password') {
1481
- this.handlePasswordKeyboardNavigation(event);
1482
- }
1483
- }
1484
-
1485
- // #endregion Keyboard Navigation
1486
- }