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,2669 +0,0 @@
1
- <!-- #region Variables -->
2
- @let valid =
3
- ngControl?.valid &&
4
- (ngControl?.touched || ngControl?.dirty) &&
5
- !isAdding() &&
6
- !isDisabled();
7
- @let invalid =
8
- ngControl?.invalid &&
9
- (ngControl?.touched || ngControl?.dirty) &&
10
- !isAdding() &&
11
- !isDisabled();
12
- @let subcontent =
13
- config().subcontent ||
14
- (config().dropdown === "subcontent" &&
15
- selectedOption() &&
16
- cast(selectedOption(), "dropdownOption")![config().optionLabel || "label"]);
17
-
18
- @let name = config().name;
19
- @let password = config().type === "password" || config().type === "account";
20
-
21
- @let optionLabel = this.config().optionLabel || "label";
22
- @let dropdownType = this.config().dropdown;
23
-
24
- @let focusedOptionIndex = keyboardNavigationState().singleIndex;
25
- @let groupedNavigationState = keyboardNavigationState().groupedNavigationState;
26
-
27
- @let tooltipClass =
28
- config().inverse
29
- ? "tooltip input-tooltip tooltip-bg-white-700 tooltip-text-black-500"
30
- : "tooltip input-tooltip";
31
-
32
- <!-- #region Multiple selection -->
33
- @if (config().dropdown === "multiple" && !!multipleSelectedOptions().length) {
34
- <div
35
- (pointerdown)="focus($event)"
36
- (mouseenter)="toggleHovered(true)"
37
- (mouseleave)="toggleHovered(false)"
38
- class="multiple-container"
39
- [class]="{
40
- focused: focused(),
41
- hovered: hovered(),
42
- }"
43
- >
44
- <label class="multiple-label">{{ name }}</label>
45
-
46
- @for (option of multipleSelectedOptions(); track $index) {
47
- <div class="multiple-selected">
48
- <p>{{ cast(option, "dropdownOption")![optionLabel || "label"] }}</p>
49
- <button
50
- type="button"
51
- class=""
52
- (pointerdown)="handleOption(option, $event)"
53
- [tabIndex]="-1"
54
- ngbTooltip="Clear"
55
- [placement]="'top'"
56
- [tooltipClass]="tooltipClass"
57
- [autoClose]="true"
58
- #closeTooltip="ngbTooltip"
59
- [container]="'body'"
60
- >
61
- <svg-icon
62
- name="cai-cancel"
63
- class="multiple-remove-button multiple-remove-icon bg-icon"
64
- ></svg-icon>
65
- </button>
66
- </div>
67
- }
68
- </div>
69
- }
70
- <!-- #endregion -->
71
-
72
- @let hasFloatingError =
73
- config().errorBehavior === "floating" ||
74
- (!!config().inTable && config().placeholderBehavior !== "static");
75
-
76
- <div
77
- class="app-input-container"
78
- [class]="
79
- {
80
- config: config(),
81
- hideValidation: hideValidation(),
82
- isPasswordVisible: visible(),
83
- isInvalid: !!invalid,
84
- isValid: !!valid,
85
- isHovered: hovered(),
86
- hasText: hasText(),
87
- isAdding: isAdding(),
88
- selectedOption: selectedOption(),
89
- } | inputClass
90
- "
91
- ngbDropdown
92
- [autoClose]="false"
93
- #dropdown="ngbDropdown"
94
- dropdownClass="cai-dropdown"
95
- #containerRef
96
- [ngbTooltip]="errorTooltip"
97
- [disableTooltip]="!hasFloatingError"
98
- [container]="'body'"
99
- [placement]="['bottom']"
100
- tooltipClass="tooltip tooltip-bg-red-500 input-tooltip "
101
- (pointerdown)="focus($event)"
102
- (mouseenter)="dropdownType === 'multiple' && toggleHovered(true)"
103
- (mouseleave)="dropdownType === 'multiple' && toggleHovered(false)"
104
- >
105
- <!--
106
- [popperOptions]="dropdownPopperOptions"
107
- -->
108
- @if (config().icon && !password && !config().withButtons) {
109
- <div
110
- class="icon-container"
111
- (pointerdown)="focus($event)"
112
- [class]="{
113
- 'colored-icon': config().iconColor,
114
- }"
115
- [style.--icon-color]="config().iconColor || ''"
116
- >
117
- <svg-icon class="icon" [name]="config().icon || ''"></svg-icon>
118
- @if (!config().noSeparator) {
119
- <div class="separator"></div>
120
- }
121
- </div>
122
- }
123
- @if (password) {
124
- <div class="icon-container" (pointerdown)="toggleVisibility($event)">
125
- <div
126
- class="password-icons"
127
- [ngbTooltip]="passwordTooltip"
128
- [container]="'body'"
129
- [tooltipClass]="tooltipClass"
130
- [autoClose]="true"
131
- [placement]="'top'"
132
- [openDelay]="600"
133
- >
134
- <svg-icon
135
- class="icon password-key hover-icon"
136
- name="cai-password-key"
137
- ></svg-icon>
138
- <svg-icon
139
- class="icon password-shown hover-icon"
140
- name="cai-password-shown"
141
- ></svg-icon>
142
- <svg-icon
143
- class="icon password-hidden hover-icon"
144
- name="cai-password-hidden"
145
- ></svg-icon>
146
- </div>
147
- <div class="separator"></div>
148
- </div>
149
- }
150
-
151
- <input
152
- class="app-input"
153
- [tabindex]="isDisabled() ? '-1' : '0'"
154
- [type]="
155
- password && !config().reveal ? (visible() ? 'text' : 'password') : 'text'
156
- "
157
- [required]="config().required"
158
- [disabled]="isDisabled()"
159
- (input)="onInput($event)"
160
- (blur)="dispatchOnBlur()"
161
- [id]="id()"
162
- [attr.aria-label]="config().label"
163
- [attr.name]="
164
- config().autocomplete ? config().autocomplete : randomAutocomplete()
165
- "
166
- [placeholder]="config()?.placeholder || ''"
167
- [autocomplete]="
168
- config().autocomplete ? config().autocomplete : randomAutocomplete()
169
- "
170
- #inputRef
171
- [appPassword]="password"
172
- [appMask]="config().mask || ''"
173
- [reveal]="config().reveal || 0"
174
- [account]="config().type === 'account'"
175
- [visible]="visible()"
176
- [appNumberFormat]="config().type === 'number'"
177
- [isNumberFormattingDisabled]="config().isNumberFormattingDisabled || false"
178
- [disableDecimals]="config().disableDecimals || false"
179
- [prefix]="config().prefix || ''"
180
- [max]="config().max"
181
- (keydown)="handleKeydown($event)"
182
- (focus)="onFocus($event)"
183
- />
184
- @if (
185
- !(dropdownType === "multiple" && !!multipleSelectedOptions().length) &&
186
- config().placeholderBehavior !== "hidden"
187
- ) {
188
- <label
189
- class="app-input-label"
190
- [class.placeholder-color]="this.config().placeholderColor"
191
- [style.--placeholder-color]="this.config().placeholderColor || ''"
192
- (click)="focus($event)"
193
- >
194
- <!-- Truck Trailer Driver Dropdown label -->
195
- @if (dropdownType === "dispatch" || dropdownType === "ftl-dispatch") {
196
- <p class="truck-item app-input-name">Truck</p>
197
- <p class="trailer-item">Trailer</p>
198
- <p>Driver</p>
199
- <p class="sub-label">Rate</p>
200
- }
201
- <!-- Split Load -->
202
- @else if (dropdownType === "split-driver") {
203
- <p class="app-input-name">{{ name }}</p>
204
- <p class="sub-label">Rate</p>
205
- } @else if (
206
- dropdownType === "split-truck" || dropdownType === "split-trailer"
207
- ) {
208
- <p class="app-input-name">{{ name }}</p>
209
- <p class="sub-label">Location</p>
210
- }
211
- <!-- Dropdown variants -->
212
- @else if (dropdownType === "broker") {
213
- <p class="app-input-name">{{ name }}</p>
214
- <p class="sub-label">Credit</p>
215
- } @else if (dropdownType === "contact") {
216
- <p class="app-input-name">{{ name }}</p>
217
- <p class="sub-label">Phone</p>
218
- } @else if (dropdownType === "shipper") {
219
- <p class="app-input-name">{{ name }}</p>
220
- <p class="sub-label">Address</p>
221
- } @else if (dropdownType === "owner") {
222
- <p class="owner-ein app-input-name">EIN</p>
223
- <p class="app-input-name">Company Name</p>
224
- } @else if (dropdownType === "fuelcard") {
225
- <p class="fuelcard-number app-input-name">Card No.</p>
226
- <p class="fuelcard-brand app-input-name">Provider</p>
227
- <p class="app-input-name">Nickname</p>
228
- }
229
- <!-- Default Dropdown label -->
230
- @else {
231
- <span class="app-input-name">{{ name }}</span>
232
- }
233
- </label>
234
- }
235
- @if (config().type === "number" && config().withButtons) {
236
- <div class="number-container">
237
- <div class="number-buttons">
238
- <div class="separator"></div>
239
- <div
240
- class="plus-button-container"
241
- ngbTooltip="Add"
242
- [tooltipClass]="tooltipClass"
243
- [container]="'body'"
244
- [autoClose]="true"
245
- [openDelay]="600"
246
- [placement]="'top'"
247
- (pointerdown)="increment($event)"
248
- >
249
- <svg-icon name="cai-plus" class="bg-icon plus-icon"></svg-icon>
250
- </div>
251
- <div
252
- class="minus-button-container"
253
- ngbTooltip="Remove"
254
- [placement]="'top'"
255
- [container]="'body'"
256
- [tooltipClass]="tooltipClass"
257
- [autoClose]="true"
258
- [openDelay]="600"
259
- (pointerdown)="decrement($event)"
260
- >
261
- <svg-icon name="cai-minus" class="bg-icon minus-icon"></svg-icon>
262
- </div>
263
- </div>
264
- </div>
265
- }
266
- @if (!config().inTable) {
267
- @if (!dropdownType) {
268
- <svg-icon
269
- name="cai-checkmark"
270
- class="app-input-icon positive-icon"
271
- ></svg-icon>
272
- <svg-icon
273
- name="cai-status-warning"
274
- class="app-input-icon warning-icon"
275
- ></svg-icon>
276
- }
277
- }
278
-
279
- @if (
280
- invalid &&
281
- config().errorBehavior !== "hidden" &&
282
- (ngControl?.errors | errorMessage: config().customErrors)[0] &&
283
- !(config().inTable && config().placeholderBehavior !== "static")
284
- ) {
285
- <div class="app-input-error">
286
- {{ (ngControl?.errors | errorMessage: config().customErrors)[0] }}
287
- </div>
288
- }
289
-
290
- <!-- Accept button -->
291
- @if ((config().add && isAdding()) || config().isEdit) {
292
- <button
293
- type="button"
294
- class="app-input-icon button-icon accept-button"
295
- (pointerdown)="addOption()"
296
- [tabIndex]="-1"
297
- ngbTooltip="Confirm"
298
- [openDelay]="600"
299
- [placement]="'top'"
300
- [tooltipClass]="tooltipClass"
301
- [container]="'body'"
302
- [autoClose]="true"
303
- >
304
- <svg-icon class="bg-icon" name="cai-checkmark"></svg-icon>
305
- </button>
306
- }
307
-
308
- <!-- Cancel button -->
309
- <button
310
- type="button"
311
- class="app-input-icon button-icon cancel-button"
312
- (pointerdown)="reset($event)"
313
- (mouseenter)="onClearHover(true)"
314
- (mouseleave)="onClearHover(false)"
315
- [tabIndex]="-1"
316
- ngbTooltip="{{
317
- hasText()
318
- | clearTooltip
319
- : isAdding()
320
- : config().isEdit || false
321
- : config().placeholderBehavior || 'dynamic'
322
- : dropdownType === 'multiple'
323
- : config().hasResetButton
324
- : canTooltipBeVisible()
325
- }}"
326
- [openDelay]="600"
327
- [tooltipClass]="tooltipClass"
328
- [placement]="'top'"
329
- [container]="'body'"
330
- [autoClose]="true"
331
- #closeTooltip="ngbTooltip"
332
- >
333
- @let iconName =
334
- config().hasResetButton
335
- ? "cai-reset"
336
- : config().removable
337
- ? "cai-delete"
338
- : "cai-cancel";
339
- <svg-icon class="bg-icon" [name]="iconName"></svg-icon>
340
- </button>
341
-
342
- <div class="dropdown-anchor" ngbDropdownAnchor></div>
343
- <!-- Dropdown menu -->
344
-
345
- @let hasLoader = isLoading() !== undefined;
346
-
347
- @if (hasLoader) {
348
- <div class="loader" [class.loading]="isLoading()">
349
- <svg-icon name="cai-loader" class="loader-icon"></svg-icon>
350
- </div>
351
- }
352
-
353
- @if (dropdownType) {
354
- @let maxHeight =
355
- ((dropdownOptions()?.length || (showNoResults() ? 1 : 0)) +
356
- (config().add ? 1 : 0)) *
357
- 30 +
358
- 4;
359
-
360
- @let animateDropdown =
361
- dropdownType !== "toll" &&
362
- dropdownType !== "fuel-stop-transaction" &&
363
- dropdownType !== "dispatch" &&
364
- dropdownType !== "ftl-dispatch" &&
365
- dropdownType !== "split-driver" &&
366
- dropdownType !== "split-truck" &&
367
- dropdownType !== "split-trailer";
368
-
369
- @let unfilteredHeight =
370
- dropdownType === "contact" || !animateDropdown
371
- ? 244
372
- : ((options()?.length || (showNoResults() ? 1 : 0)) +
373
- (config().add ? 1 : 0)) *
374
- 30 +
375
- 4;
376
-
377
- <div
378
- ngbDropdownMenu
379
- class="dropdown-menu input-dropdown-menu"
380
- [class]="{
381
- 'hide-dropdown':
382
- config().dropdownAutocomplete &&
383
- !dropdownOptions()?.length &&
384
- !(showNoResults() && value()),
385
- 'animate-dropdown': animateDropdown,
386
- 'size-22': config().size === 22,
387
- 'has-stroke': config().hasStroke,
388
- }"
389
- [class.closing]="closing()"
390
- [style.--unfiltered-height]="
391
- unfilteredHeight > 244 ? '244px' : unfilteredHeight + 'px'
392
- "
393
- [style.--max-height]="maxHeight > 244 ? '244px' : maxHeight + 'px'"
394
- [style.width.px]="containerWidth()"
395
- [tabindex]="-1"
396
- (pointerdown)="onDropdownBackgroundClick($event)"
397
- (pointerup)="stopEventPropagation($event)"
398
- (mouseup)="stopEventPropagation($event)"
399
- (click)="stopEventPropagation($event)"
400
- >
401
- <div
402
- class="dropdown-menu-content"
403
- [tabindex]="-1"
404
- caiInfiniteScroll
405
- [scrollThreshold]="50"
406
- (scrolledToBottom)="onDropdownScrolledToBottom()"
407
- >
408
- @if (config().add) {
409
- <button
410
- class="dropdown-item add-new"
411
- [class.focused]="
412
- focusedOptionIndex === -1 ||
413
- groupedNavigationState?.groupIndex === -1
414
- "
415
- (pointerdown)="handleAddingOption($event)"
416
- >
417
- <p>ADD NEW</p>
418
- <svg-icon name="cai-plus" class="dropdown-item-icon"></svg-icon>
419
- </button>
420
- }
421
- <ng-container *ngTemplateOutlet="dropdownMenuRef"></ng-container>
422
- </div>
423
- </div>
424
-
425
- @if (!config().dropdownAutocomplete) {
426
- <div
427
- class="dropdown-icon-container"
428
- [class.open]="dropdown.isOpen() && !closing()"
429
- (pointerdown)="onDropdownIconClick($event)"
430
- >
431
- <svg-icon
432
- name="cai-arrow-secondary-down"
433
- class="dropdown-icon icon"
434
- ></svg-icon>
435
- </div>
436
- }
437
- @let specialDropdown =
438
- dropdownType === "dispatch" ||
439
- dropdownType === "ftl-dispatch" ||
440
- dropdownType === "broker" ||
441
- dropdownType === "contact" ||
442
- dropdownType === "shipper" ||
443
- dropdownType === "bank" ||
444
- dropdownType === "dispatcher" ||
445
- dropdownType === "truck" ||
446
- dropdownType === "trailer" ||
447
- dropdownType === "hazardous" ||
448
- dropdownType === "state" ||
449
- dropdownType === "owner" ||
450
- dropdownType === "fuelcard" ||
451
- dropdownType === "pm" ||
452
- dropdownType === "color" ||
453
- dropdownType === "make" ||
454
- dropdownType === "toll" ||
455
- dropdownType === "provider" ||
456
- dropdownType === "split-driver" ||
457
- dropdownType === "split-truck" ||
458
- dropdownType === "split-trailer";
459
- <!-- Placeholder -->
460
- @if (specialDropdown) {
461
- <ng-container *ngTemplateOutlet="selectedOptionRef"></ng-container>
462
- } @else if (
463
- (config().add || config().search) &&
464
- !inputRef.value &&
465
- !this.isAdding() &&
466
- dropdownType !== "subcontent"
467
- ) {
468
- <div class="dropdown-selected">
469
- @if (config().placeholderBehavior === "static") {
470
- <p class="selected-label-hidden">
471
- {{ name + (config().required ? " *" : "") }}
472
- </p>
473
- <p class="selected-text">
474
- {{
475
- selectedOption() &&
476
- cast(selectedOption(), "dropdownOption")![
477
- optionLabel || "label"
478
- ]
479
- }}
480
- </p>
481
- } @else {
482
- @if (
483
- selectedOption() &&
484
- cast(selectedOption(), "dropdownOption")![
485
- optionLabel || "label"
486
- ] === "Hazardous"
487
- ) {
488
- <svg-icon name="cai-violation-hazmat" class="icon"></svg-icon>
489
- <p class="dropdown-selected-content">
490
- {{
491
- selectedOption() &&
492
- cast(selectedOption(), "dropdownOption")![
493
- optionLabel || "label"
494
- ]
495
- }}
496
- </p>
497
- } @else {
498
- <p class="dropdown-selected-content">
499
- {{
500
- selectedOption() &&
501
- cast(selectedOption(), "dropdownOption")![
502
- optionLabel || "label"
503
- ]
504
- }}
505
- </p>
506
- }
507
- }
508
- </div>
509
- }
510
- } @else if (config().isEdit && !inputRef.value) {
511
- <div class="dropdown-selected">
512
- <p class="dropdown-selected-content">{{ name }}</p>
513
- </div>
514
- }
515
- @if (config().passwordRequirements) {
516
- <div
517
- class="dropdown-menu password-requirement"
518
- ngbDropdownMenu
519
- [style.width.px]="containerWidth()"
520
- [class.closing]="closing()"
521
- (pointerup)="stopEventPropagation($event)"
522
- (mouseup)="stopEventPropagation($event)"
523
- (click)="stopEventPropagation($event)"
524
- >
525
- <ng-container *ngTemplateOutlet="passwordRequirementsRef"></ng-container>
526
- </div>
527
- }
528
- @if (subcontent) {
529
- <p class="subcontent">
530
- @if (!(config().alignment === "right")) {
531
- <span class="subcontent-hide"
532
- >{{
533
- config().search
534
- ? selectedOption() &&
535
- cast(selectedOption(), "dropdownOption")![
536
- optionLabel || "label"
537
- ]
538
- : inputRef.value
539
- }}
540
- </span>
541
- }
542
- {{ subcontent }}
543
- </p>
544
- }
545
- </div>
546
-
547
- <!-- #region Templates -->
548
-
549
- <!-- #region Password requirements -->
550
- <ng-template #passwordRequirementsRef>
551
- @let isMinLengthValid =
552
- !this.ngControl?.errors?.["minlength"] && this.value();
553
- @let isHasNumberValid =
554
- !this.ngControl?.errors?.["hasNumber"] && this.value();
555
- @let isHasSymbolValid =
556
- !this.ngControl?.errors?.["hasSymbol"] && this.value();
557
- @let isHasUppercaseValid =
558
- !this.ngControl?.errors?.["hasUppercase"] && this.value();
559
-
560
- <p>Strong Password Requirement</p>
561
- <ul>
562
- <li [class.valid]="isMinLengthValid">
563
- <svg-icon
564
- [name]="isMinLengthValid ? 'cai-checkmark' : 'cai-cancel'"
565
- [class]="isMinLengthValid ? 'checkmark' : 'cancel'"
566
- class="icon"
567
- ></svg-icon
568
- ><span>Minimum 8 characters</span>
569
- </li>
570
- <li [class.valid]="isHasNumberValid">
571
- <svg-icon
572
- class="icon"
573
- [name]="isHasNumberValid ? 'cai-checkmark' : 'cai-cancel'"
574
- [class]="isHasNumberValid ? 'checkmark' : 'cancel'"
575
- ></svg-icon
576
- ><span>One number</span>
577
- </li>
578
- <li [class.valid]="isHasSymbolValid">
579
- <svg-icon
580
- class="icon"
581
- [name]="isHasSymbolValid ? 'cai-checkmark' : 'cai-cancel'"
582
- [class]="isHasSymbolValid ? 'checkmark' : 'cancel'"
583
- ></svg-icon
584
- ><span>One symbol</span>
585
- </li>
586
- <li [class.valid]="isHasUppercaseValid">
587
- <svg-icon
588
- class="icon"
589
- [name]="isHasUppercaseValid ? 'cai-checkmark' : 'cai-cancel'"
590
- [class]="isHasUppercaseValid ? 'checkmark' : 'cancel'"
591
- ></svg-icon
592
- ><span>One upper-case letter</span>
593
- </li>
594
- </ul>
595
- </ng-template>
596
- <!-- #endregion -->
597
- @let search = config().search;
598
-
599
- <ng-template #dropdownMenuRef>
600
- @switch (dropdownType) {
601
- @case ("dispatch") {
602
- <ng-container *ngTemplateOutlet="dispatchesRef"></ng-container>
603
- }
604
- @case ("ftl-dispatch") {
605
- <ng-container *ngTemplateOutlet="ftlDispatchRef"></ng-container>
606
- }
607
- @case ("broker") {
608
- <ng-container *ngTemplateOutlet="brokerRef"></ng-container>
609
- }
610
- @case ("contact") {
611
- <ng-container *ngTemplateOutlet="contactRef"></ng-container>
612
- }
613
- @case ("shipper") {
614
- <ng-container *ngTemplateOutlet="shipperRef"></ng-container>
615
- }
616
- @case ("bank") {
617
- <ng-container *ngTemplateOutlet="bankRef"></ng-container>
618
- }
619
- @case ("dispatcher") {
620
- <ng-container *ngTemplateOutlet="dispatcherRef"></ng-container>
621
- }
622
- @case ("trailer") {
623
- <ng-container *ngTemplateOutlet="trailerRef"></ng-container>
624
- }
625
- @case ("truck") {
626
- <ng-container *ngTemplateOutlet="truckRef"></ng-container>
627
- }
628
- @case ("hazardous") {
629
- <ng-container *ngTemplateOutlet="hazardousRef"></ng-container>
630
- }
631
- @case ("state") {
632
- <ng-container *ngTemplateOutlet="stateRef"></ng-container>
633
- }
634
- @case ("owner") {
635
- <ng-container *ngTemplateOutlet="ownerRef"></ng-container>
636
- }
637
- @case ("fuelcard") {
638
- <ng-container *ngTemplateOutlet="fuelcardRef"></ng-container>
639
- }
640
- @case ("pm") {
641
- <ng-container *ngTemplateOutlet="pmRef"></ng-container>
642
- }
643
- @case ("multiple") {
644
- <ng-container *ngTemplateOutlet="multipleRef"></ng-container>
645
- }
646
- @case ("make") {
647
- <ng-container *ngTemplateOutlet="makeRef"></ng-container>
648
- }
649
- @case ("toll") {
650
- <ng-container *ngTemplateOutlet="tollRef"></ng-container>
651
- }
652
- @case ("color") {
653
- <ng-container *ngTemplateOutlet="colorRef"></ng-container>
654
- }
655
- @case ("fuel-stop-transaction") {
656
- <ng-container *ngTemplateOutlet="fuelStopTransactionRef"></ng-container>
657
- }
658
- @case ("provider") {
659
- <ng-container *ngTemplateOutlet="providerRef"></ng-container>
660
- }
661
- @case ("split-driver") {
662
- <ng-container *ngTemplateOutlet="splitDriverRef"></ng-container>
663
- }
664
- @case ("split-truck") {
665
- <ng-container *ngTemplateOutlet="splitTruckRef"></ng-container>
666
- }
667
- @case ("split-trailer") {
668
- <ng-container *ngTemplateOutlet="splitTrailerRef"></ng-container>
669
- }
670
- @case ("subcontent") {
671
- <ng-container *ngTemplateOutlet="dropdownOptionsRef"></ng-container>
672
- }
673
- @default {
674
- <ng-container *ngTemplateOutlet="dropdownOptionsRef"></ng-container>
675
- }
676
- }
677
- </ng-template>
678
-
679
- <ng-template #selectedOptionRef>
680
- @switch (dropdownType) {
681
- @case ("dispatch") {
682
- <ng-container *ngTemplateOutlet="selectedDispatchRef"></ng-container>
683
- }
684
- @case ("ftl-dispatch") {
685
- <ng-container *ngTemplateOutlet="selectedDispatchRef"></ng-container>
686
- }
687
- @case ("broker") {
688
- <ng-container *ngTemplateOutlet="selectedBrokerRef"></ng-container>
689
- }
690
- @case ("contact") {
691
- <ng-container *ngTemplateOutlet="selectedContactRef"></ng-container>
692
- }
693
- @case ("shipper") {
694
- <ng-container *ngTemplateOutlet="selectedShipperRef"></ng-container>
695
- }
696
- @case ("bank") {
697
- <ng-container *ngTemplateOutlet="selectedBankRef"></ng-container>
698
- }
699
- @case ("dispatcher") {
700
- <ng-container *ngTemplateOutlet="selectedDispatcherRef"></ng-container>
701
- }
702
- @case ("trailer") {
703
- <ng-container *ngTemplateOutlet="selectedTrailerRef"></ng-container>
704
- }
705
- @case ("truck") {
706
- <ng-container *ngTemplateOutlet="selectedTruckRef"></ng-container>
707
- }
708
- @case ("hazardous") {
709
- <ng-container *ngTemplateOutlet="selectedHazardousRef"></ng-container>
710
- }
711
- @case ("state") {
712
- <ng-container *ngTemplateOutlet="selectedStateRef"></ng-container>
713
- }
714
- @case ("owner") {
715
- <ng-container *ngTemplateOutlet="selectedOwnerRef"></ng-container>
716
- }
717
- @case ("fuelcard") {
718
- <ng-container *ngTemplateOutlet="selectedFuelcardRef"></ng-container>
719
- }
720
- @case ("pm") {
721
- <ng-container *ngTemplateOutlet="selectedPmRef"></ng-container>
722
- }
723
- @case ("make") {
724
- <ng-container *ngTemplateOutlet="selectedMakeRef"></ng-container>
725
- }
726
- @case ("toll") {
727
- <ng-container *ngTemplateOutlet="selectedTollRef"></ng-container>
728
- }
729
- @case ("color") {
730
- <ng-container *ngTemplateOutlet="selectedColorRef"></ng-container>
731
- }
732
- @case ("provider") {
733
- <ng-container *ngTemplateOutlet="selectedProviderRef"></ng-container>
734
- }
735
- @case ("split-driver") {
736
- <ng-container *ngTemplateOutlet="selectedSplitDriverRef"></ng-container>
737
- }
738
- @case ("split-truck") {
739
- <ng-container *ngTemplateOutlet="selectedSplitTruckRef"></ng-container>
740
- }
741
- @case ("split-trailer") {
742
- <ng-container *ngTemplateOutlet="selectedSplitTrailerRef"></ng-container>
743
- }
744
- }
745
- </ng-template>
746
-
747
- <!-- Standard dropdown -->
748
- <ng-template #dropdownOptionsRef>
749
- @if (dropdownOptions().length) {
750
- @for (option of dropdownOptions(); track $index; let index = $index) {
751
- @let dropdownOption = cast(option, "dropdownOption")!;
752
- <button
753
- tabindex="-1"
754
- class="dropdown-item"
755
- id="option-{{ dropdownOption.id }}"
756
- [class]="{
757
- selected:
758
- cast(selectedOption(), 'dropdownOption')?.id === dropdownOption.id,
759
- focused: focusedOptionIndex === index,
760
- }"
761
- (pointerdown)="handleOption(dropdownOption, $event)"
762
- >
763
- @if (dropdownOption[optionLabel] === "Hazardous") {
764
- <svg-icon name="cai-violation-hazmat" class="icon"></svg-icon>
765
- }
766
- <p
767
- class="dropdown-content-with-icon"
768
- [innerHTML]="
769
- search
770
- ? (dropdownOption[optionLabel] | highlightSearch: value())
771
- : dropdownOption[optionLabel]
772
- "
773
- ></p>
774
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
775
- </button>
776
- }
777
- } @else {
778
- <p class="dropdown-item no-results">No results</p>
779
- }
780
- </ng-template>
781
-
782
- <ng-template #multipleRef>
783
- @if (dropdownOptions().length) {
784
- @for (option of dropdownOptions(); track $index; let index = $index) {
785
- @let dropdownOption = cast(option, "dropdownOption")!;
786
- <button
787
- tabindex="-1"
788
- class="dropdown-item"
789
- id="option-{{ dropdownOption.id }}"
790
- (pointerdown)="handleOption(dropdownOption, $event)"
791
- [class]="{
792
- selected: isSelectedOption(dropdownOption),
793
- focused: focusedOptionIndex === index,
794
- }"
795
- >
796
- <p
797
- class="dropdown-content-with-icon"
798
- [innerHTML]="
799
- search
800
- ? (dropdownOption[optionLabel] | highlightSearch: value())
801
- : dropdownOption[optionLabel]
802
- "
803
- ></p>
804
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
805
- </button>
806
- }
807
- } @else {
808
- <p class="dropdown-item no-results">No results</p>
809
- }
810
- </ng-template>
811
-
812
- <ng-template #bankRef>
813
- @if (dropdownOptions().length) {
814
- @for (bank of dropdownOptions(); track $index; let index = $index) {
815
- @let bankOption = cast(bank, "bank")!;
816
- <button
817
- tabindex="-1"
818
- class="dropdown-item"
819
- id="option-{{ bankOption.id }}"
820
- (pointerdown)="handleOption(bankOption, $event)"
821
- [class]="{
822
- selected: cast(selectedOption(), 'bank')?.id === bankOption.id,
823
- focused: focusedOptionIndex === index,
824
- }"
825
- >
826
- @if (bankOption.logoName) {
827
- <svg-icon
828
- class="full-icon"
829
- [name]="bankOption.logoName.slice(0, -4)"
830
- ></svg-icon>
831
- } @else {
832
- <p
833
- class="dropdown-content-with-icon"
834
- [innerHTML]="
835
- search
836
- ? (bankOption.name || '' | highlightSearch: value())
837
- : bankOption.name
838
- "
839
- ></p>
840
- }
841
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
842
- </button>
843
- }
844
- } @else {
845
- <p class="dropdown-item no-results">No results</p>
846
- }
847
- </ng-template>
848
-
849
- <ng-template #makeRef>
850
- @if (dropdownOptions().length) {
851
- @for (make of dropdownOptions(); track $index; let index = $index) {
852
- @let makeOption = cast(make, "make")!;
853
- <button
854
- tabindex="-1"
855
- class="dropdown-item"
856
- id="option-{{ makeOption.id }}"
857
- (pointerdown)="handleOption(makeOption, $event)"
858
- [class]="{
859
- selected: cast(selectedOption(), 'make')?.id === makeOption.id,
860
- focused: focusedOptionIndex === index,
861
- }"
862
- >
863
- @if (makeOption.logoName) {
864
- <svg-icon
865
- class="full-icon"
866
- [name]="makeOption.logoName.slice(0, -4)"
867
- ></svg-icon>
868
- } @else {
869
- <p
870
- class="dropdown-content-with-icon"
871
- [innerHTML]="
872
- search
873
- ? (makeOption.name || '' | highlightSearch: value())
874
- : makeOption.name
875
- "
876
- ></p>
877
- }
878
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
879
- </button>
880
- }
881
- } @else {
882
- <p class="dropdown-item no-results">No results</p>
883
- }
884
- </ng-template>
885
-
886
- <!-- Broker -->
887
- <ng-template #brokerRef>
888
- @if (dropdownOptions().length) {
889
- @for (broker of dropdownOptions(); track $index; let index = $index) {
890
- @let brokerOption = cast(broker, "broker")!;
891
- <button
892
- tabindex="-1"
893
- class="dropdown-item"
894
- id="broker-{{ brokerOption.id }}"
895
- (pointerdown)="
896
- !(brokerOption.dnu || brokerOption.ban) &&
897
- handleOption(brokerOption, $event)
898
- "
899
- [class]="{
900
- selected: cast(selectedOption(), 'broker')?.id === brokerOption.id,
901
- focused: focusedOptionIndex === index,
902
- banned: brokerOption.dnu || brokerOption.ban,
903
- dnu: brokerOption.dnu,
904
- }"
905
- >
906
- @if (brokerOption?.dnu || brokerOption?.ban) {
907
- <svg-icon name="cai-minus" class="round-icon"></svg-icon>
908
- } @else if (brokerOption?.fraudCheck) {
909
- <svg-icon
910
- name="cai-status-warning-lite"
911
- class="icon fraud"
912
- ></svg-icon>
913
- }
914
- <p
915
- class="dropdown-content"
916
- [innerHTML]="
917
- search
918
- ? (brokerOption.businessName || '' | highlightSearch: value())
919
- : brokerOption.businessName
920
- "
921
- ></p>
922
- <div class="dropdown-subitem-end">
923
- <div class="end-item-base">
924
- @if (!brokerOption.creditLimit) {
925
- <p>Unlimited</p>
926
- } @else {
927
- <p>{{ brokerOption.availableCredit || 0 | currency }}</p>
928
- <div
929
- class="progress-bar"
930
- [style.--progress]="
931
- (
932
- brokerOption
933
- | brokerProgress: brokerOption.dnu || brokerOption.ban
934
- ).activePercentageOfPaid + '%'
935
- "
936
- [class]="
937
- (
938
- brokerOption
939
- | brokerProgress: brokerOption.dnu || brokerOption.ban
940
- ).status
941
- "
942
- ></div>
943
- }
944
- </div>
945
- <div class="end-item-hover">
946
- <p>
947
- {{ brokerOption.loadsCount }} |
948
- {{ brokerOption.availableCredit || 0 | currency }}
949
- </p>
950
- <svg-icon name="cai-load" class="icon"></svg-icon>
951
- </div>
952
- </div>
953
- </button>
954
- }
955
- } @else {
956
- <p class="dropdown-item no-results">No results</p>
957
- }
958
- </ng-template>
959
-
960
- <!-- Contact dropdown -->
961
- <ng-template #contactRef>
962
- @if (dropdownOptions().length) {
963
- @for (contact of dropdownOptions(); track $index; let index = $index) {
964
- @let contactOption = cast(contact, "contact")!;
965
- <button
966
- tabindex="-1"
967
- class="dropdown-item"
968
- id="contact-{{ contact.id }}"
969
- (pointerdown)="handleOption(contact, $event)"
970
- [class]="{
971
- selected: cast(selectedOption(), 'contact')?.id === contact.id,
972
- focused: focusedOptionIndex === index,
973
- }"
974
- >
975
- <p
976
- [innerHTML]="
977
- search
978
- ? (contactOption.contactName || '' | highlightSearch: value())
979
- : contactOption.contactName
980
- "
981
- ></p>
982
- <div class="dropdown-subitem-end">
983
- <div class="end-item-base">
984
- <p>{{ contactOption.department?.name }}</p>
985
- </div>
986
- <div class="end-item-hover">
987
- <p>
988
- {{ contactOption.phone }}
989
- </p>
990
- </div>
991
- </div>
992
- </button>
993
- }
994
- } @else {
995
- <p class="dropdown-item no-results">No results</p>
996
- }
997
- </ng-template>
998
-
999
- <!-- Owner dropdown -->
1000
- <ng-template #ownerRef>
1001
- @if (dropdownOptions().length) {
1002
- @for (owner of dropdownOptions(); track $index; let index = $index) {
1003
- @let ownerOption = cast(owner, "owner");
1004
- <button
1005
- tabindex="-1"
1006
- class="dropdown-item"
1007
- id="owner-{{ ownerOption?.id }}"
1008
- (pointerdown)="handleOption(ownerOption!, $event)"
1009
- [class]="{
1010
- selected: cast(selectedOption(), 'owner')?.id === ownerOption?.id,
1011
- focused: focusedOptionIndex === index,
1012
- }"
1013
- >
1014
- <p
1015
- class="owner-ein"
1016
- [innerHTML]="
1017
- search
1018
- ? (ownerOption?.ein || '' | highlightSearch: value())
1019
- : ownerOption?.ein
1020
- "
1021
- ></p>
1022
- <p
1023
- [innerHTML]="
1024
- search
1025
- ? (ownerOption?.name || '' | highlightSearch: value())
1026
- : ownerOption?.name
1027
- "
1028
- ></p>
1029
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
1030
- </button>
1031
- }
1032
- } @else {
1033
- <p class="dropdown-item no-results">No results</p>
1034
- }
1035
- </ng-template>
1036
-
1037
- <!-- Fuelcard dropdown -->
1038
- <ng-template #fuelcardRef>
1039
- @if (dropdownOptions().length) {
1040
- @for (fuelcard of dropdownOptions(); track $index; let index = $index) {
1041
- @let fuelcardOption = cast(fuelcard, "fuelCard");
1042
- <button
1043
- tabindex="-1"
1044
- class="dropdown-item"
1045
- id="fuelcard-{{ fuelcardOption?.id }}"
1046
- (pointerdown)="handleOption(fuelcardOption!, $event)"
1047
- [class]="{
1048
- selected:
1049
- cast(selectedOption(), 'fuelCard')?.id === fuelcardOption?.id,
1050
- focused: focusedOptionIndex === index,
1051
- }"
1052
- >
1053
- <p
1054
- class="fuelcard-number"
1055
- [innerHTML]="
1056
- search
1057
- ? (fuelcardOption?.number || '' | highlightSearch: value())
1058
- : fuelcardOption?.number
1059
- "
1060
- ></p>
1061
- <p
1062
- class="fuelcard-brand"
1063
- [innerHTML]="
1064
- search
1065
- ? (fuelcardOption?.brand || '' | highlightSearch: value())
1066
- : fuelcardOption?.brand
1067
- "
1068
- ></p>
1069
- <p
1070
- [innerHTML]="
1071
- search
1072
- ? (fuelcardOption?.account || '' | highlightSearch: value())
1073
- : fuelcardOption?.account
1074
- "
1075
- ></p>
1076
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
1077
- </button>
1078
- }
1079
- } @else {
1080
- <p class="dropdown-item no-results">No results</p>
1081
- }
1082
- </ng-template>
1083
-
1084
- <!-- Shipper dropdown -->
1085
- <ng-template #shipperRef>
1086
- @if (dropdownOptions().length) {
1087
- @for (shipper of dropdownOptions(); track $index; let index = $index) {
1088
- @let shipperOption = cast(shipper, "shipper")!;
1089
- <button
1090
- tabindex="-1"
1091
- class="dropdown-item"
1092
- id="shipper-{{ shipperOption.id }}"
1093
- (pointerdown)="handleOption(shipperOption, $event)"
1094
- [class]="{
1095
- selected: cast(selectedOption(), 'shipper')?.id === shipperOption.id,
1096
- focused: focusedOptionIndex === index,
1097
- }"
1098
- >
1099
- <p
1100
- class="max-w-280 text-truncate"
1101
- [innerHTML]="
1102
- search
1103
- ? (shipperOption.businessName || '' | highlightSearch: value())
1104
- : shipperOption.businessName
1105
- "
1106
- ></p>
1107
- <div class="dropdown-subitem-end">
1108
- <div class="end-item-base">
1109
- <p
1110
- class="max-w-280 text-truncate"
1111
- [innerHTML]="
1112
- search
1113
- ? (shipperOption.address?.address || ''
1114
- | highlightSearch: value())
1115
- : shipperOption.address?.address
1116
- "
1117
- ></p>
1118
- </div>
1119
- <div class="end-item-hover">
1120
- <p>
1121
- {{ shipperOption.pickupCount }} Pickup |
1122
- {{ shipperOption.deliveryCount }} Delivery
1123
- </p>
1124
- <svg-icon name="cai-load" class="icon"></svg-icon>
1125
- </div>
1126
- </div>
1127
- </button>
1128
- }
1129
- } @else {
1130
- <p class="dropdown-item no-results">No results</p>
1131
- }
1132
- </ng-template>
1133
-
1134
- <!-- Dispatch dropdown -->
1135
- <ng-template #dispatchesRef>
1136
- @if (dropdownOptions().length) {
1137
- <button
1138
- tabindex="-1"
1139
- class="dropdown-item"
1140
- (pointerdown)="reset()"
1141
- [class]="{
1142
- selected: !selectedOption(),
1143
- }"
1144
- >
1145
- <p>Unassigned</p>
1146
- <div class="unassigned-ltl">
1147
- <p>{{ unassignedCount() }}</p>
1148
- <svg-icon name="cai-ltl-single" class="icon-sm"></svg-icon>
1149
- </div>
1150
- </button>
1151
- @for (
1152
- dispatchBoard of dropdownOptions();
1153
- track dispatchBoard.id;
1154
- let groupIndex = $index
1155
- ) {
1156
- <!-- Temporary variant since BE doesn't support boards -->
1157
- @let dispatchBoardOption = cast(dispatchBoard, "dispatchBoard")!;
1158
-
1159
- @let isNoBoardsVariant =
1160
- dispatchBoardOption.dispatcher === "NOBOARDSVARIANT";
1161
- @if (dispatchBoardOption.count > 0) {
1162
- @if (!isNoBoardsVariant) {
1163
- @let isGroupFocused =
1164
- groupedNavigationState?.groupIndex === groupIndex &&
1165
- groupedNavigationState?.optionIndex === 0;
1166
- <button
1167
- tabindex="-1"
1168
- class="dropdown-item group-item"
1169
- (pointerdown)="fold(dispatchBoardOption.id, $event)"
1170
- [class]="{
1171
- unfolded: dispatchBoardOption.dispatches?.length || 0 > 0,
1172
- focused: isGroupFocused,
1173
- }"
1174
- >
1175
- <p>
1176
- {{
1177
- dispatchBoardOption.teamBoard
1178
- ? "Team Board"
1179
- : dispatchBoardOption.dispatcher
1180
- }}
1181
- </p>
1182
- <p class="counter">{{ dispatchBoardOption.count }}</p>
1183
- <svg-icon
1184
- name="cai-arrow-primary-up"
1185
- class="group-icon icon"
1186
- ></svg-icon>
1187
- </button>
1188
- }
1189
- @if (
1190
- dispatchBoardOption.dispatches &&
1191
- dispatchBoardOption.dispatches.length > 0
1192
- ) {
1193
- @for (
1194
- dispatch of dispatchBoardOption.dispatches;
1195
- track dispatch.id;
1196
- let optionIndex = $index
1197
- ) {
1198
- @let isOptionFocused =
1199
- groupedNavigationState?.groupIndex === groupIndex &&
1200
- groupedNavigationState?.optionIndex === optionIndex + 1;
1201
- <!-- +1 since optionIndex is 0 for the group item header -->
1202
- <button
1203
- tabindex="-1"
1204
- class="dropdown-item"
1205
- (pointerdown)="handleOption(dispatch, $event)"
1206
- [class]="{
1207
- selected:
1208
- cast(selectedOption(), 'dispatch')?.id === dispatch.id,
1209
- focused: isOptionFocused,
1210
- }"
1211
- >
1212
- <div class="dropdown-subitem truck-item">
1213
- <svg-icon
1214
- class="truck-icon truck-trailer-icon-colors"
1215
- [class]="dispatch.truck.truckType.logoName.slice(0, -4)"
1216
- [name]="dispatch.truck.truckType.logoName.slice(0, -4)"
1217
- ></svg-icon>
1218
- <p
1219
- class="truck-number"
1220
- [innerHTML]="
1221
- dispatch.truck.truckNumber | highlightSearch: value()
1222
- "
1223
- ></p>
1224
- </div>
1225
- <div class="dropdown-subitem trailer-item">
1226
- @if (dispatch.trailer) {
1227
- <svg-icon
1228
- class="trailer-icon truck-trailer-icon-colors"
1229
- [class]="dispatch.trailer.trailerType.logoName.slice(0, -4)"
1230
- [name]="dispatch.trailer.trailerType.logoName.slice(0, -4)"
1231
- ></svg-icon>
1232
- <p
1233
- class="trailer-number"
1234
- [innerHTML]="
1235
- dispatch.trailer.trailerNumber | highlightSearch: value()
1236
- "
1237
- ></p>
1238
- }
1239
- </div>
1240
- <div class="dropdown-subitem">
1241
- @if (dispatch.coDriver) {
1242
- <svg-icon class="dispatch-icon" name="cai-people"></svg-icon>
1243
- <p
1244
- class="driver-name"
1245
- [innerHTML]="
1246
- dispatch.driver.firstName +
1247
- ' & ' +
1248
- dispatch.coDriver.firstName | highlightSearch: value()
1249
- "
1250
- ></p>
1251
- } @else {
1252
- <cai-avatar
1253
- [driver]="dispatch.driver"
1254
- [size]="18"
1255
- [inverse]="true"
1256
- [hover]="false"
1257
- ></cai-avatar>
1258
- <p
1259
- class="driver-name"
1260
- [innerHTML]="
1261
- dispatch.driver.firstName + ' ' + dispatch.driver.lastName
1262
- | highlightSearch: value()
1263
- "
1264
- ></p>
1265
- }
1266
- </div>
1267
- <div class="dropdown-subitem-end">
1268
- <div class="end-item-hover">
1269
- <p>{{ dispatch.payType }}</p>
1270
- <svg-icon name="cai-driver" class="icon-sm"></svg-icon>
1271
- </div>
1272
- <div class="end-item-base dispatch-ltl">
1273
- <p>{{ dispatch.numberOfSingleLtlLoads }}</p>
1274
- <svg-icon name="cai-ltl-single" class="icon-sm"></svg-icon>
1275
- </div>
1276
- </div>
1277
- </button>
1278
- }
1279
- } @else if (isNoBoardsVariant) {
1280
- <p class="dropdown-item no-results">No results</p>
1281
- }
1282
- }
1283
- }
1284
- } @else {
1285
- <p class="dropdown-item no-results">No results</p>
1286
- }
1287
- </ng-template>
1288
-
1289
- <!-- ftl dispatch dropdown -->
1290
- <ng-template #ftlDispatchRef>
1291
- @if (dropdownOptions().length) {
1292
- @for (
1293
- dispatchBoard of dropdownOptions();
1294
- track dispatchBoard.id;
1295
- let groupIndex = $index
1296
- ) {
1297
- @let dispatchBoardOption = cast(dispatchBoard, "dispatchBoard")!;
1298
- @let isGroupFocused =
1299
- groupedNavigationState?.groupIndex === groupIndex &&
1300
- groupedNavigationState?.optionIndex === 0;
1301
- @let isNoBoardsVariant =
1302
- dispatchBoardOption.dispatcher === "NOBOARDSVARIANT";
1303
- @if (dispatchBoardOption.count > 0) {
1304
- @if (!isNoBoardsVariant) {
1305
- <button
1306
- tabindex="-1"
1307
- class="dropdown-item group-item"
1308
- (pointerdown)="fold(dispatchBoardOption.id, $event)"
1309
- [class]="{
1310
- unfolded: dispatchBoardOption.dispatches?.length || 0 > 0,
1311
- focused: isGroupFocused,
1312
- }"
1313
- >
1314
- <p>
1315
- {{
1316
- dispatchBoardOption.teamBoard
1317
- ? "Team Board"
1318
- : dispatchBoardOption.dispatcher
1319
- }}
1320
- </p>
1321
- <p class="counter">{{ dispatchBoardOption.count }}</p>
1322
- <svg-icon
1323
- name="cai-arrow-primary-up"
1324
- class="group-icon icon"
1325
- ></svg-icon>
1326
- </button>
1327
- }
1328
- @if (
1329
- dispatchBoardOption.dispatches &&
1330
- dispatchBoardOption.dispatches.length > 0
1331
- ) {
1332
- @for (
1333
- dispatch of dispatchBoardOption.dispatches;
1334
- track dispatch.id;
1335
- let optionIndex = $index
1336
- ) {
1337
- @let isOptionFocused =
1338
- groupedNavigationState?.groupIndex === groupIndex &&
1339
- groupedNavigationState?.optionIndex === optionIndex + 1;
1340
- <!-- +1 since optionIndex is 0 for the group item header -->
1341
- <button
1342
- class="dropdown-item"
1343
- (pointerdown)="handleOption(dispatch, $event)"
1344
- [class]="{
1345
- selected:
1346
- cast(selectedOption(), 'dispatch')?.id === dispatch.id,
1347
- focused: isOptionFocused,
1348
- }"
1349
- >
1350
- <div class="dropdown-subitem truck-item">
1351
- <svg-icon
1352
- class="truck-icon truck-trailer-icon-colors"
1353
- [class]="dispatch.truck.truckType.logoName.slice(0, -4)"
1354
- [name]="dispatch.truck.truckType.logoName.slice(0, -4)"
1355
- ></svg-icon>
1356
- <p
1357
- class="truck-number"
1358
- [innerHTML]="
1359
- dispatch.truck.truckNumber | highlightSearch: value()
1360
- "
1361
- ></p>
1362
- </div>
1363
- <div class="dropdown-subitem trailer-item">
1364
- @if (dispatch.trailer) {
1365
- <svg-icon
1366
- class="trailer-icon truck-trailer-icon-colors"
1367
- [class]="dispatch.trailer.trailerType.logoName.slice(0, -4)"
1368
- [name]="dispatch.trailer.trailerType.logoName.slice(0, -4)"
1369
- ></svg-icon>
1370
- <p
1371
- class="trailer-number"
1372
- [innerHTML]="
1373
- dispatch.trailer.trailerNumber | highlightSearch: value()
1374
- "
1375
- ></p>
1376
- }
1377
- </div>
1378
- <div class="dropdown-subitem">
1379
- @if (dispatch.coDriver) {
1380
- <svg-icon class="dispatch-icon" name="cai-people"></svg-icon>
1381
- <p
1382
- class="driver-name"
1383
- [innerHTML]="
1384
- dispatch.driver.firstName +
1385
- ' & ' +
1386
- dispatch.coDriver.firstName | highlightSearch: value()
1387
- "
1388
- ></p>
1389
- } @else {
1390
- <cai-avatar
1391
- [driver]="dispatch.driver"
1392
- [size]="18"
1393
- [inverse]="true"
1394
- [hover]="false"
1395
- ></cai-avatar>
1396
- <p
1397
- class="driver-name"
1398
- [innerHTML]="
1399
- dispatch.driver.firstName + ' ' + dispatch.driver.lastName
1400
- | highlightSearch: value()
1401
- "
1402
- ></p>
1403
- }
1404
- </div>
1405
- <div class="dropdown-subitem-end">
1406
- <div class="end-item-hover">
1407
- <!-- Load Status -->
1408
- @if (dispatch.status?.statusString) {
1409
- <div
1410
- class="dispatch-status"
1411
- [class]="
1412
- 'status-' +
1413
- dispatch.status?.statusString
1414
- ?.toLowerCase()
1415
- ?.replaceAll(' ', '')
1416
- ?.replaceAll('.', '')
1417
- "
1418
- >
1419
- @if (
1420
- dispatch.status?.statusString?.toLowerCase() ===
1421
- "repair"
1422
- ) {
1423
- <p class="status-block blue">D</p>
1424
- <p class="status-block green">L</p>
1425
- }
1426
- {{ dispatch.status?.statusString }}
1427
- @if (
1428
- dispatch.status?.statusString?.toLowerCase() ===
1429
- "repair"
1430
- ) {
1431
- <p class="status-block green">P</p>
1432
- <p class="status-block orange">D</p>
1433
- }
1434
- @if (dispatch.status?.statusCheckInNumber) {
1435
- <p class="status-block">
1436
- {{ dispatch.status?.statusCheckInNumber }}
1437
- </p>
1438
- }
1439
- </div>
1440
- <p class="dispatch-separator">|</p>
1441
- }
1442
- <p class="dispatch-load-count">
1443
- <!-- Pending Load Count -->
1444
- <!-- TODO: WAITING ON BE FOR PENDING LOAD COUNT -->
1445
- 0
1446
- </p>
1447
- <svg-icon name="cai-load" class="icon-sm"></svg-icon>
1448
- </div>
1449
- <div class="end-item-base">
1450
- <p>{{ dispatch.payType }}</p>
1451
- <svg-icon name="cai-driver" class="icon-sm"></svg-icon>
1452
- </div>
1453
- </div>
1454
- </button>
1455
- }
1456
- } @else if (isNoBoardsVariant) {
1457
- <p class="dropdown-item no-results">No results</p>
1458
- }
1459
- }
1460
- }
1461
- } @else {
1462
- <p class="dropdown-item no-results">No results</p>
1463
- }
1464
- </ng-template>
1465
-
1466
- <ng-template #splitDriverRef>
1467
- @if (dropdownOptions().length) {
1468
- @for (splitDriverBoard of dropdownOptions(); track splitDriverBoard.id) {
1469
- @let driverBoard = cast(splitDriverBoard, "splitDriverBoard")!;
1470
- <button
1471
- tabindex="-1"
1472
- class="dropdown-item group-item"
1473
- (pointerdown)="fold(driverBoard.id, $event)"
1474
- [class]="{
1475
- unfolded: (driverBoard.drivers?.length ?? 0) > 0,
1476
- }"
1477
- >
1478
- <p>
1479
- {{
1480
- driverBoard.isTeamBoard ? "Team Board" : driverBoard.dispatcherName
1481
- }}
1482
- </p>
1483
- <!-- TODO: Change to count once BE is fixed -->
1484
- <p class="counter">{{ driverBoard.drivers?.length || 0 }}</p>
1485
- <svg-icon
1486
- name="cai-arrow-primary-up"
1487
- class="group-icon icon"
1488
- ></svg-icon>
1489
- </button>
1490
- @for (driver of driverBoard.drivers || []; track driver.id) {
1491
- @let driverOption = cast(driver, "splitDriver")!;
1492
- <button
1493
- class="dropdown-item"
1494
- (pointerdown)="handleOption(driverOption, $event)"
1495
- [class]="{
1496
- selected:
1497
- cast(selectedOption(), 'splitDriver')?.id === driverOption.id,
1498
- }"
1499
- >
1500
- <div class="dropdown-subitem">
1501
- <div class="dropdown-avatar">
1502
- <cai-avatar
1503
- [driver]="driverOption"
1504
- [size]="18"
1505
- [inverse]="true"
1506
- [hover]="false"
1507
- ></cai-avatar>
1508
- </div>
1509
- <p
1510
- class="driver-name"
1511
- [innerHTML]="
1512
- driverOption.firstName + ' ' + driverOption.lastName
1513
- | highlightSearch: value()
1514
- "
1515
- ></p>
1516
- </div>
1517
- <div class="dropdown-subitem-end">
1518
- <div class="end-item-hover">
1519
- @let dispatchStatus =
1520
- driverOption.dispatchStatus?.statusValue?.name;
1521
- @if (dispatchStatus) {
1522
- <div
1523
- class="dispatch-status"
1524
- [class]="
1525
- 'status-' +
1526
- dispatchStatus
1527
- ?.toLowerCase()
1528
- ?.replaceAll(' ', '')
1529
- ?.replaceAll('.', '')
1530
- "
1531
- >
1532
- @if (dispatchStatus?.toLowerCase() === "repair") {
1533
- <p class="status-block blue">D</p>
1534
- <p class="status-block green">L</p>
1535
- }
1536
- {{ dispatchStatus }}
1537
- @if (dispatchStatus?.toLowerCase() === "repair") {
1538
- <p class="status-block green">P</p>
1539
- <p class="status-block orange">D</p>
1540
- }
1541
- @if (driverOption.dispatchStatus?.statusCheckInNumber) {
1542
- <p class="status-block">
1543
- {{ driverOption.dispatchStatus?.statusCheckInNumber }}
1544
- </p>
1545
- }
1546
- </div>
1547
- <p class="dispatch-separator">|</p>
1548
- }
1549
- <p class="dispatch-load-count">
1550
- {{ driverOption.pendingLoadsCount }}
1551
- </p>
1552
- <svg-icon name="cai-load" class="icon-sm"></svg-icon>
1553
- </div>
1554
- <div class="end-item-base">
1555
- <p>{{ driverOption.payTypeValue }}</p>
1556
- </div>
1557
- </div>
1558
- </button>
1559
- }
1560
- }
1561
- } @else {
1562
- <p class="dropdown-item no-results">No results</p>
1563
- }
1564
- </ng-template>
1565
-
1566
- <ng-template #splitTruckRef>
1567
- @if (dropdownOptions().length) {
1568
- @for (splitTruckBoard of dropdownOptions(); track splitTruckBoard.id) {
1569
- @let truckBoard = cast(splitTruckBoard, "splitTruckBoard")!;
1570
- <button
1571
- tabindex="-1"
1572
- class="dropdown-item group-item"
1573
- (pointerdown)="fold(truckBoard.id, $event)"
1574
- [class]="{
1575
- unfolded: (truckBoard.trucks?.length ?? 0) > 0,
1576
- }"
1577
- >
1578
- <p>
1579
- {{
1580
- truckBoard.isTeamBoard ? "Team Board" : truckBoard.dispatcherName
1581
- }}
1582
- </p>
1583
- <!-- TODO: Change to count once BE is fixed -->
1584
- <p class="counter">{{ truckBoard.trucks?.length || 0 }}</p>
1585
- <svg-icon
1586
- name="cai-arrow-primary-up"
1587
- class="group-icon icon"
1588
- ></svg-icon>
1589
- </button>
1590
- @for (truck of truckBoard.trucks || []; track truck.id) {
1591
- @let truckOption = cast(truck, "splitTruck")!;
1592
- <button
1593
- class="dropdown-item"
1594
- (pointerdown)="handleOption(truckOption, $event)"
1595
- [class]="{
1596
- selected:
1597
- cast(selectedOption(), 'splitTruck')?.id === truckOption.id,
1598
- }"
1599
- >
1600
- <div class="dropdown-subitem truck-item">
1601
- <svg-icon
1602
- class="truck-icon"
1603
- [style.--truck-color]="truckOption.color?.code || ''"
1604
- [name]="truckOption.truckType.logoName.slice(0, -4)"
1605
- ></svg-icon>
1606
- <p
1607
- class="truck-number"
1608
- [innerHTML]="truckOption.truckNumber | highlightSearch: value()"
1609
- ></p>
1610
- </div>
1611
- <div class="dropdown-subitem-end">
1612
- <div class="end-item-hover">
1613
- @let dispatchStatus =
1614
- truckOption.dispatchStatus?.statusValue?.name;
1615
- @if (dispatchStatus) {
1616
- <div
1617
- class="dispatch-status"
1618
- [class]="
1619
- 'status-' +
1620
- dispatchStatus
1621
- ?.toLowerCase()
1622
- ?.replaceAll(' ', '')
1623
- ?.replaceAll('.', '')
1624
- "
1625
- >
1626
- @if (dispatchStatus?.toLowerCase() === "repair") {
1627
- <p class="status-block blue">D</p>
1628
- <p class="status-block green">L</p>
1629
- }
1630
- {{ dispatchStatus }}
1631
- @if (dispatchStatus?.toLowerCase() === "repair") {
1632
- <p class="status-block green">P</p>
1633
- <p class="status-block orange">D</p>
1634
- }
1635
- @if (truckOption.dispatchStatus?.statusCheckInNumber) {
1636
- <p class="status-block">
1637
- {{ truckOption.dispatchStatus?.statusCheckInNumber }}
1638
- </p>
1639
- }
1640
- </div>
1641
- <p class="dispatch-separator">|</p>
1642
- }
1643
- <p class="dispatch-load-count">
1644
- {{ truckOption.pendingLoadsCount }}
1645
- </p>
1646
- <svg-icon name="cai-load" class="icon-sm"></svg-icon>
1647
- </div>
1648
- <div class="end-item-base">
1649
- @if (
1650
- truckOption.location?.city &&
1651
- truckOption.location?.stateShortName
1652
- ) {
1653
- <p>
1654
- {{ truckOption.location?.city }},
1655
- {{ truckOption.location?.stateShortName }}
1656
- </p>
1657
- }
1658
- </div>
1659
- </div>
1660
- </button>
1661
- }
1662
- }
1663
- } @else {
1664
- <p class="dropdown-item no-results">No results</p>
1665
- }
1666
- </ng-template>
1667
-
1668
- <ng-template #splitTrailerRef>
1669
- @if (dropdownOptions().length) {
1670
- @for (splitTrailerBoard of dropdownOptions(); track splitTrailerBoard.id) {
1671
- @let trailerBoard = cast(splitTrailerBoard, "splitTrailerBoard")!;
1672
- <button
1673
- tabindex="-1"
1674
- class="dropdown-item group-item"
1675
- (pointerdown)="fold(trailerBoard.id, $event)"
1676
- [class]="{
1677
- unfolded: (trailerBoard.trailers?.length ?? 0) > 0,
1678
- }"
1679
- >
1680
- <p>
1681
- {{
1682
- trailerBoard.isTeamBoard
1683
- ? "Team Board"
1684
- : trailerBoard.dispatcherName
1685
- }}
1686
- </p>
1687
- <!-- TODO: Change to count once BE is fixed -->
1688
- <p class="counter">{{ trailerBoard.trailers?.length || 0 }}</p>
1689
- <svg-icon
1690
- name="cai-arrow-primary-up"
1691
- class="group-icon icon"
1692
- ></svg-icon>
1693
- </button>
1694
- @for (trailer of trailerBoard.trailers || []; track trailer.id) {
1695
- @let trailerOption = cast(trailer, "splitTrailer")!;
1696
- <button
1697
- class="dropdown-item"
1698
- (pointerdown)="handleOption(trailerOption, $event)"
1699
- [class]="{
1700
- selected:
1701
- cast(selectedOption(), 'splitTrailer')?.id === trailerOption.id,
1702
- }"
1703
- >
1704
- <div class="dropdown-subitem trailer-item">
1705
- <svg-icon
1706
- class="trailer-icon"
1707
- [style.--trailer-color]="trailerOption.color?.code || ''"
1708
- [name]="trailerOption.trailerType.logoName.slice(0, -4)"
1709
- ></svg-icon>
1710
- <p
1711
- class="trailer-number"
1712
- [innerHTML]="
1713
- trailerOption.trailerNumber | highlightSearch: value()
1714
- "
1715
- ></p>
1716
- </div>
1717
- <div class="dropdown-subitem-end">
1718
- <div class="end-item-hover">
1719
- @let dispatchStatus =
1720
- trailerOption.dispatchStatus?.statusValue?.name;
1721
- @if (dispatchStatus) {
1722
- <div
1723
- class="dispatch-status"
1724
- [class]="
1725
- 'status-' +
1726
- dispatchStatus
1727
- ?.toLowerCase()
1728
- ?.replaceAll(' ', '')
1729
- ?.replaceAll('.', '')
1730
- "
1731
- >
1732
- @if (dispatchStatus?.toLowerCase() === "repair") {
1733
- <p class="status-block blue">D</p>
1734
- <p class="status-block green">L</p>
1735
- }
1736
- {{ dispatchStatus }}
1737
- @if (dispatchStatus?.toLowerCase() === "repair") {
1738
- <p class="status-block green">P</p>
1739
- <p class="status-block orange">D</p>
1740
- }
1741
- @if (trailerOption.dispatchStatus?.statusCheckInNumber) {
1742
- <p class="status-block">
1743
- {{ trailerOption.dispatchStatus?.statusCheckInNumber }}
1744
- </p>
1745
- }
1746
- </div>
1747
- <p class="dispatch-separator">|</p>
1748
- }
1749
- <p class="dispatch-load-count">
1750
- {{ trailerOption.pendingLoadsCount }}
1751
- </p>
1752
- <svg-icon name="cai-load" class="icon-sm"></svg-icon>
1753
- </div>
1754
- <div class="end-item-base">
1755
- @if (
1756
- trailerOption.location?.city &&
1757
- trailerOption.location?.stateShortName
1758
- ) {
1759
- <p>
1760
- {{ trailerOption.location?.city }},
1761
- {{ trailerOption.location?.stateShortName }}
1762
- </p>
1763
- }
1764
- </div>
1765
- </div>
1766
- </button>
1767
- }
1768
- }
1769
- } @else {
1770
- <p class="dropdown-item no-results">No results</p>
1771
- }
1772
- </ng-template>
1773
-
1774
- <ng-template #tollRef>
1775
- @if (dropdownOptions().length) {
1776
- @for (toll of dropdownOptions(); track $index; let groupIndex = $index) {
1777
- @let tollOption = cast(toll, "tollOption")!;
1778
- @let isGroupFocused =
1779
- groupedNavigationState?.groupIndex === groupIndex &&
1780
- groupedNavigationState?.optionIndex === 0;
1781
- <button
1782
- tabindex="-1"
1783
- class="dropdown-item group-item pe-none"
1784
- [class]="{
1785
- unfolded: tollOption.tollTransponders?.length || 0 > 0,
1786
- focused: isGroupFocused,
1787
- }"
1788
- >
1789
- <p>
1790
- {{ tollOption.groupName }}
1791
- </p>
1792
- </button>
1793
- @let tollTransponders = tollOption.tollTransponders || [];
1794
- @for (
1795
- tollTransponder of tollTransponders;
1796
- track tollTransponder.id;
1797
- let optionIndex = $index
1798
- ) {
1799
- @let isOptionFocused =
1800
- groupedNavigationState?.groupIndex === groupIndex &&
1801
- groupedNavigationState?.optionIndex === optionIndex + 1;
1802
- <!-- +1 since optionIndex is 0 for the group item header -->
1803
- <button
1804
- class="dropdown-item"
1805
- (pointerdown)="handleOption(tollTransponder, $event)"
1806
- [class]="{
1807
- selected:
1808
- cast(selectedOption(), 'tollTransponderOption')?.id ===
1809
- tollTransponder.id,
1810
- focused: isOptionFocused,
1811
- }"
1812
- >
1813
- <p
1814
- class="dropdown-content-with-icon"
1815
- [innerHTML]="
1816
- search
1817
- ? (tollTransponder.name || '' | highlightSearch: value())
1818
- : tollTransponder.name
1819
- "
1820
- ></p>
1821
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
1822
- </button>
1823
- }
1824
- }
1825
- } @else {
1826
- <p class="dropdown-item no-results">No results</p>
1827
- }
1828
- </ng-template>
1829
-
1830
- <!-- Dispatcher dropdown -->
1831
-
1832
- <ng-template #dispatcherRef>
1833
- @if (dropdownOptions().length) {
1834
- @for (dispatcher of dropdownOptions(); track $index; let index = $index) {
1835
- @let dispatcherOption = cast(dispatcher, "dispatcher")!;
1836
- <button
1837
- tabindex="-1"
1838
- class="dropdown-item"
1839
- id="option-{{ dispatcherOption.id }}"
1840
- (pointerdown)="handleOption(dispatcherOption, $event)"
1841
- [class]="{
1842
- selected:
1843
- cast(selectedOption(), 'dispatcher')?.id === dispatcherOption.id,
1844
- focused: focusedOptionIndex === index,
1845
- }"
1846
- >
1847
- <cai-avatar
1848
- [driver]="{
1849
- id: dispatcherOption?.id || 0,
1850
- firstName: (dispatcherOption?.fullName || ' ').split(' ')[0] || '',
1851
- lastName: (dispatcherOption?.fullName || ' ').split(' ')[1] || '',
1852
- avatarFile: dispatcherOption?.avatarFile,
1853
- colorFlag: dispatcherOption?.colorFlag,
1854
- }"
1855
- [rounded]="!config().squareAvatar"
1856
- [hover]="false"
1857
- ></cai-avatar>
1858
- <p
1859
- class="dropdown-content-hazardous"
1860
- [innerHTML]="
1861
- search
1862
- ? (dispatcherOption.fullName || '' | highlightSearch: value())
1863
- : dispatcherOption.fullName
1864
- "
1865
- ></p>
1866
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
1867
- </button>
1868
- }
1869
- } @else {
1870
- <p class="dropdown-item no-results">No results</p>
1871
- }
1872
- </ng-template>
1873
-
1874
- <ng-template #truckRef>
1875
- @if (dropdownOptions().length) {
1876
- @for (truck of dropdownOptions(); track $index; let index = $index) {
1877
- @let truckOption = cast(truck, "truckOption")!;
1878
- <button
1879
- tabindex="-1"
1880
- class="dropdown-item"
1881
- id="option-{{ truckOption.id }}"
1882
- (pointerdown)="handleOption(truckOption, $event)"
1883
- [class]="{
1884
- selected:
1885
- cast(selectedOption(), 'truckOption')?.id === truckOption.id,
1886
- focused: focusedOptionIndex === index,
1887
- }"
1888
- >
1889
- <p
1890
- class="dropdown-content-with-icon"
1891
- [innerHTML]="
1892
- search
1893
- ? (truckOption.name || '' | highlightSearch: value())
1894
- : truckOption.name
1895
- "
1896
- ></p>
1897
- <svg-icon
1898
- class="truck-trailer-option truck-trailer-icon-colors"
1899
- [class]="truckOption.logoName.slice(0, -4)"
1900
- [name]="truckOption.logoName.slice(0, -4)"
1901
- ></svg-icon>
1902
- <svg-icon
1903
- name="cai-checkmark"
1904
- class="dropdown-item-icon no-margin"
1905
- ></svg-icon>
1906
- </button>
1907
- }
1908
- } @else {
1909
- <p class="dropdown-item no-results">No results</p>
1910
- }
1911
- </ng-template>
1912
-
1913
- <ng-template #trailerRef>
1914
- @if (dropdownOptions().length) {
1915
- @for (truck of dropdownOptions(); track $index; let index = $index) {
1916
- @let trailerOption = cast(truck, "trailerOption")!;
1917
- <button
1918
- tabindex="-1"
1919
- class="dropdown-item"
1920
- id="option-{{ trailerOption.id }}"
1921
- (pointerdown)="handleOption(trailerOption, $event)"
1922
- [class]="{
1923
- selected:
1924
- cast(selectedOption(), 'trailerOption')?.id === trailerOption.id,
1925
- focused: focusedOptionIndex === index,
1926
- }"
1927
- >
1928
- <p
1929
- class="dropdown-content-with-icon"
1930
- [innerHTML]="
1931
- search
1932
- ? (trailerOption.name || '' | highlightSearch: value())
1933
- : trailerOption.name
1934
- "
1935
- ></p>
1936
-
1937
- <svg-icon
1938
- class="truck-trailer-option truck-trailer-icon-colors"
1939
- [class]="trailerOption.logoName.slice(0, -4)"
1940
- [name]="trailerOption.logoName.slice(0, -4)"
1941
- ></svg-icon>
1942
- <svg-icon
1943
- name="cai-checkmark"
1944
- class="dropdown-item-icon no-margin"
1945
- ></svg-icon>
1946
- </button>
1947
- }
1948
- } @else {
1949
- <p class="dropdown-item no-results">No results</p>
1950
- }
1951
- </ng-template>
1952
-
1953
- <ng-template #providerRef>
1954
- @if (dropdownOptions().length) {
1955
- @for (provider of dropdownOptions(); track $index; let index = $index) {
1956
- @let providerOption = cast(provider, "provider")!;
1957
- <button
1958
- tabindex="-1"
1959
- class="dropdown-item"
1960
- id="option-{{ providerOption?.id }}"
1961
- (pointerdown)="handleOption(providerOption, $event)"
1962
- [class]="{
1963
- selected:
1964
- cast(selectedOption(), 'provider')?.id === providerOption?.id,
1965
- focused: focusedOptionIndex === index,
1966
- }"
1967
- >
1968
- <svg-icon
1969
- class="full-icon"
1970
- [name]="'cai-' + providerOption?.name?.toLowerCase()"
1971
- ></svg-icon>
1972
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
1973
- </button>
1974
- }
1975
- } @else {
1976
- <p class="dropdown-item no-results">No results</p>
1977
- }
1978
- </ng-template>
1979
-
1980
- <!-- Hazardous dropdown -->
1981
- <ng-template #hazardousRef>
1982
- @if (dropdownOptions().length) {
1983
- @for (hazardous of dropdownOptions(); track $index; let index = $index) {
1984
- @let hazardousOption = cast(hazardous, "hazardous")!;
1985
- <button
1986
- tabindex="-1"
1987
- class="dropdown-item"
1988
- id="option-{{ hazardousOption.id }}"
1989
- (pointerdown)="handleOption(hazardousOption, $event)"
1990
- [class]="{
1991
- selected:
1992
- cast(selectedOption(), 'hazardous')?.id === hazardousOption.id,
1993
- focused: focusedOptionIndex === index,
1994
- }"
1995
- >
1996
- <svg-icon [name]="hazardousOption.logoName?.slice(0, -4)"></svg-icon>
1997
- <p
1998
- class="dropdown-content-hazardous"
1999
- [innerHTML]="
2000
- search
2001
- ? (hazardousOption.description || '' | highlightSearch: value())
2002
- : hazardousOption.description
2003
- "
2004
- ></p>
2005
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
2006
- </button>
2007
- }
2008
- } @else {
2009
- <p class="dropdown-item no-results">No results</p>
2010
- }
2011
- </ng-template>
2012
-
2013
- <ng-template #pmRef>
2014
- @if (dropdownOptions().length) {
2015
- @for (pm of dropdownOptions(); track $index; let index = $index) {
2016
- @let pmOption = cast(pm, "pmOption")!;
2017
- <button
2018
- tabindex="-1"
2019
- class="dropdown-item"
2020
- id="option-{{ pmOption.id }}"
2021
- (pointerdown)="handleOption(pmOption, $event)"
2022
- [class]="{
2023
- selected: cast(selectedOption(), 'pmOption')?.id === pmOption.id,
2024
- focused: focusedOptionIndex === index,
2025
- }"
2026
- >
2027
- <svg-icon
2028
- class="icon"
2029
- [name]="pmOption.title | remapPmIcons"
2030
- ></svg-icon>
2031
- <p
2032
- class="dropdown-content-with-icon"
2033
- [innerHTML]="
2034
- search
2035
- ? (pmOption.title || '' | highlightSearch: value())
2036
- : pmOption.title
2037
- "
2038
- ></p>
2039
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
2040
- </button>
2041
- }
2042
- } @else {
2043
- <p class="dropdown-item no-results">No results</p>
2044
- }
2045
- </ng-template>
2046
-
2047
- <ng-template #colorRef>
2048
- @if (dropdownOptions().length) {
2049
- @for (color of dropdownOptions(); track $index; let index = $index) {
2050
- @let colorOption = cast(color, "colorOption")!;
2051
- <button
2052
- tabindex="-1"
2053
- class="dropdown-item color-item"
2054
- id="option-{{ colorOption.id }}"
2055
- (pointerdown)="handleOption(colorOption, $event)"
2056
- [class]="{
2057
- selected:
2058
- cast(selectedOption(), 'colorOption')?.id === colorOption.id,
2059
- focused: focusedOptionIndex === index,
2060
- }"
2061
- >
2062
- <svg-icon
2063
- class="icon cai-color"
2064
- [name]="'cai-color'"
2065
- [style.--color]="colorOption?.code"
2066
- [style.--hover-color]="colorOption?.hoverCode"
2067
- ></svg-icon>
2068
- <p
2069
- class="dropdown-content-with-icon"
2070
- [innerHTML]="
2071
- search
2072
- ? (colorOption.name || '' | highlightSearch: value())
2073
- : colorOption.name
2074
- "
2075
- ></p>
2076
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
2077
- </button>
2078
- }
2079
- } @else {
2080
- <p class="dropdown-item no-results">No results</p>
2081
- }
2082
- </ng-template>
2083
-
2084
- <ng-template #stateRef>
2085
- @if (dropdownOptions().length) {
2086
- @for (state of dropdownOptions(); track $index; let index = $index) {
2087
- @let stateOption = cast(state, "state")!;
2088
- <button
2089
- tabindex="-1"
2090
- class="dropdown-item"
2091
- id="option-{{ stateOption.id }}"
2092
- (pointerdown)="handleOption(stateOption, $event)"
2093
- [class]="{
2094
- selected: cast(selectedOption(), 'state')?.id === stateOption.id,
2095
- focused: focusedOptionIndex === index,
2096
- }"
2097
- >
2098
- <svg-icon
2099
- class="icon"
2100
- [name]="
2101
- 'cai-' +
2102
- stateOption?.countryType?.name?.toLowerCase() +
2103
- '-' +
2104
- stateOption?.stateShortName?.toLowerCase()
2105
- "
2106
- ></svg-icon>
2107
- <p
2108
- class="dropdown-content-with-icon"
2109
- [innerHTML]="
2110
- search
2111
- ? (stateOption.stateShortName +
2112
- ' ' +
2113
- (config().fullState
2114
- ? ' (' + stateOption?.stateName + ')'
2115
- : '') || '' | highlightSearch: value())
2116
- : stateOption.stateShortName +
2117
- ' ' +
2118
- (config().fullState ? ' (' + stateOption?.stateName + ')' : '')
2119
- "
2120
- ></p>
2121
- <svg-icon name="cai-checkmark" class="dropdown-item-icon"></svg-icon>
2122
- </button>
2123
- }
2124
- } @else {
2125
- <p class="dropdown-item no-results">No results</p>
2126
- }
2127
- </ng-template>
2128
-
2129
- <ng-template #fuelStopTransactionRef>
2130
- @if (dropdownOptions().length) {
2131
- @for (
2132
- franchise of dropdownOptions();
2133
- track franchise.id;
2134
- let groupIndex = $index
2135
- ) {
2136
- @let isGroupFocused =
2137
- groupedNavigationState?.groupIndex === groupIndex &&
2138
- groupedNavigationState?.optionIndex === 0;
2139
- @let franchiseOption = cast(franchise, "franchise")!;
2140
- @if (franchiseOption?.count !== null) {
2141
- <div
2142
- class="dropdown-group"
2143
- [class.no-items]="!franchiseOption?.count"
2144
- [class]="{
2145
- active: openGroup() === franchiseOption.id,
2146
- }"
2147
- [style.--max-height]="
2148
- openGroup() === franchiseOption.id
2149
- ? 30 * ((franchiseOption.fuelStopStores?.length || 0) + 1) + 'px'
2150
- : '26px'
2151
- "
2152
- >
2153
- <button
2154
- tabindex="-1"
2155
- class="dropdown-item group-item"
2156
- (pointerdown)="fold(franchiseOption.id, $event, franchiseOption)"
2157
- [class]="{
2158
- unfolded: openGroup() === franchiseOption.id,
2159
- focused: isGroupFocused,
2160
- }"
2161
- >
2162
- <p
2163
- [innerHTML]="
2164
- franchiseOption?.businessName || '' | highlightSearch: value()
2165
- "
2166
- ></p>
2167
- <p class="counter">{{ franchiseOption.count }}</p>
2168
- <svg-icon
2169
- name="cai-arrow-primary-up"
2170
- class="group-icon icon"
2171
- ></svg-icon>
2172
- </button>
2173
- @if (openGroup() === franchiseOption.id) {
2174
- @if (franchiseOption.fuelStopStores?.length || 0 > 0) {
2175
- @for (
2176
- fuelStopStore of franchiseOption.fuelStopStores;
2177
- track fuelStopStore.id
2178
- ) {
2179
- @let isOptionFocused =
2180
- groupedNavigationState?.groupIndex === groupIndex &&
2181
- groupedNavigationState?.optionIndex === $index + 1;
2182
- <!-- +1 since optionIndex is 0 for the group item header -->
2183
- <button
2184
- tabindex="-1"
2185
- class="dropdown-item fuel-stop-transaction-store"
2186
- [class]="{
2187
- focused: isOptionFocused,
2188
- }"
2189
- (pointerdown)="handleOption(fuelStopStore, $event)"
2190
- >
2191
- <p
2192
- [innerHTML]="
2193
- fuelStopStore?.store ?? '' | highlightSearch: value()
2194
- "
2195
- ></p>
2196
- @let city = fuelStopStore?.address?.city ?? "";
2197
- @let state = fuelStopStore?.address?.stateShortName ?? "";
2198
- @let zip = fuelStopStore?.address?.zipCode ?? "";
2199
- <p
2200
- class="fuel-stop-transaction-store-address"
2201
- [innerHTML]="
2202
- city + (state || zip ? ', ' : '') + state + ' ' + zip
2203
- | highlightSearch: value()
2204
- "
2205
- ></p>
2206
-
2207
- @if (fuelStopStore?.["favourite"]) {
2208
- <svg-icon
2209
- name="cai-favorite"
2210
- class="favorite-icon"
2211
- ></svg-icon>
2212
- }
2213
- </button>
2214
- }
2215
- <!-- Infinite scroll trigger - emits event when item comes into view -->
2216
- <div
2217
- class="dropdown-infinite-scroll-item"
2218
- caiIntersectionObserver
2219
- [threshold]="0.1"
2220
- (inView)="onDropdownScrolledToBottom(true)"
2221
- ></div>
2222
- } @else {
2223
- <p class="dropdown-item no-results">No results</p>
2224
- }
2225
- }
2226
- </div>
2227
- } @else {
2228
- <button
2229
- tabindex="-1"
2230
- class="dropdown-item"
2231
- [class.focused]="
2232
- groupedNavigationState?.groupIndex === groupIndex &&
2233
- groupedNavigationState?.optionIndex === 0
2234
- "
2235
- (pointerdown)="handleOption(franchiseOption, $event)"
2236
- >
2237
- <p
2238
- class="fuel-stop-transaction-nostore"
2239
- [innerHTML]="
2240
- franchiseOption?.businessName || '' | highlightSearch: value()
2241
- "
2242
- ></p>
2243
- </button>
2244
- }
2245
- }
2246
- } @else {
2247
- <p class="dropdown-item no-results">No results</p>
2248
- }
2249
- </ng-template>
2250
-
2251
- <!-- #endregion -->
2252
-
2253
- <!-- #region Selected options -->
2254
-
2255
- <!-- selected dispatch -->
2256
- <ng-template #selectedDispatchRef>
2257
- @let dispatchOption = cast(selectedOption(), "dispatch");
2258
- @if (dispatchOption && !inputRef.value && !isAdding()) {
2259
- <div class="dropdown-selected">
2260
- <div class="dropdown-subitem truck-item">
2261
- <svg-icon
2262
- class="truck-icon"
2263
- [name]="dispatchOption!.truck.truckType.logoName.slice(0, -4)"
2264
- ></svg-icon>
2265
- <p class="truck-number">
2266
- {{ dispatchOption!.truck.truckNumber }}
2267
- </p>
2268
- </div>
2269
- <div class="dropdown-subitem trailer-item">
2270
- @if (dispatchOption!.trailer) {
2271
- <svg-icon
2272
- class="trailer-icon"
2273
- [name]="
2274
- cast(
2275
- selectedOption(),
2276
- 'dispatch'
2277
- )!.trailer?.trailerType?.logoName?.slice(0, -4)
2278
- "
2279
- ></svg-icon>
2280
- <p class="trailer-number">
2281
- {{ dispatchOption!.trailer?.trailerNumber }}
2282
- </p>
2283
- }
2284
- </div>
2285
- <div class="dropdown-subitem">
2286
- @if (dispatchOption!.coDriver) {
2287
- <svg-icon class="dispatch-icon" name="cai-people"></svg-icon>
2288
- <p class="driver-name">
2289
- {{
2290
- dispatchOption!.driver.firstName +
2291
- " & " +
2292
- dispatchOption!.coDriver?.firstName
2293
- }}
2294
- </p>
2295
- } @else {
2296
- <cai-avatar
2297
- [driver]="dispatchOption!.driver"
2298
- [size]="18"
2299
- [hover]="false"
2300
- ></cai-avatar>
2301
- <p class="driver-name">
2302
- {{
2303
- dispatchOption!.driver.firstName +
2304
- " " +
2305
- dispatchOption!.driver.lastName
2306
- }}
2307
- </p>
2308
- }
2309
- </div>
2310
- <p class="selected-end-item">
2311
- {{ dispatchOption!.payType }}
2312
- </p>
2313
- </div>
2314
- } @else {
2315
- @if (!inputRef.value && this.config().dropdown == "dispatch") {
2316
- <p class="dropdown-selected">Unassigned</p>
2317
- }
2318
- }
2319
- </ng-template>
2320
-
2321
- <!-- selected broker -->
2322
- <ng-template #selectedBrokerRef>
2323
- @let brokerOption = cast(selectedOption(), "broker");
2324
- @if (brokerOption && !inputRef.value) {
2325
- <div class="dropdown-selected">
2326
- @if ((brokerOption!.availableCredit || 0) < 0) {
2327
- <svg-icon name="cai-status-warning-lite" class="icon fraud"></svg-icon>
2328
- }
2329
- <p class="dropdown-selected-content">{{ brokerOption!.businessName }}</p>
2330
- <div class="selected-end-item">
2331
- @if (!brokerOption!.creditLimit) {
2332
- <p>Unlimited</p>
2333
- } @else {
2334
- <p>
2335
- {{ brokerOption!.availableCredit || 0 | currency }}
2336
- </p>
2337
- <div
2338
- class="progress-bar"
2339
- [style.--progress]="
2340
- (
2341
- brokerOption!
2342
- | brokerProgress: brokerOption!.dnu || brokerOption!.ban
2343
- ).activePercentageOfPaid + '%'
2344
- "
2345
- [class]="
2346
- (
2347
- brokerOption!
2348
- | brokerProgress: brokerOption!.dnu || brokerOption!.ban
2349
- ).status
2350
- "
2351
- ></div>
2352
- }
2353
- </div>
2354
- </div>
2355
- }
2356
- </ng-template>
2357
-
2358
- <ng-template #selectedContactRef>
2359
- @let contactOption = cast(selectedOption(), "contact");
2360
- @if (contactOption && !inputRef.value) {
2361
- <div class="dropdown-selected">
2362
- <p class="dropdown-selected-content">{{ contactOption?.contactName }}</p>
2363
- <div class="selected-end-item">
2364
- <p>{{ contactOption?.phone }}</p>
2365
- </div>
2366
- </div>
2367
- }
2368
- </ng-template>
2369
-
2370
- <ng-template #selectedShipperRef>
2371
- @let shipperOption = cast(selectedOption(), "shipper");
2372
- @if (shipperOption && !inputRef.value) {
2373
- <div class="dropdown-selected">
2374
- <p class="dropdown-selected-content">{{ shipperOption?.businessName }}</p>
2375
- <div class="selected-end-item">
2376
- <p>{{ shipperOption?.address?.address }}</p>
2377
- </div>
2378
- </div>
2379
- }
2380
- </ng-template>
2381
-
2382
- <ng-template #selectedOwnerRef>
2383
- @let ownerOption = cast(selectedOption(), "owner");
2384
- @if (ownerOption && !inputRef.value) {
2385
- <div class="dropdown-selected">
2386
- <p class="owner-ein">{{ ownerOption?.ein }}</p>
2387
- <p class="">{{ ownerOption?.name }}</p>
2388
- </div>
2389
- }
2390
- </ng-template>
2391
-
2392
- <ng-template #selectedFuelcardRef>
2393
- @let fuelcardOption = cast(selectedOption(), "fuelCard");
2394
- @if (fuelcardOption && !inputRef.value) {
2395
- <div class="dropdown-selected">
2396
- <p class="fuelcard-number">
2397
- {{ fuelcardOption?.number }}
2398
- </p>
2399
- <p class="fuelcard-brand">
2400
- {{ fuelcardOption?.brand }}
2401
- </p>
2402
- <p class="">
2403
- {{ fuelcardOption?.account }}
2404
- </p>
2405
- </div>
2406
- }
2407
- </ng-template>
2408
-
2409
- <ng-template #selectedBankRef>
2410
- @let bankOption = cast(selectedOption(), "bank");
2411
- @if (bankOption && !inputRef.value) {
2412
- <div class="dropdown-selected">
2413
- @if (bankOption?.logoName) {
2414
- <svg-icon
2415
- class="option-icon full-size"
2416
- [name]="bankOption?.logoName?.slice(0, -4) || ''"
2417
- ></svg-icon>
2418
- } @else {
2419
- <p class="dropdown-selected-content">{{ bankOption?.name }}</p>
2420
- }
2421
- </div>
2422
- }
2423
- </ng-template>
2424
-
2425
- <ng-template #selectedProviderRef>
2426
- @let providerOption = cast(selectedOption(), "provider");
2427
- @if (providerOption && !inputRef.value) {
2428
- <div class="dropdown-selected">
2429
- <svg-icon
2430
- class="option-icon full-size"
2431
- [name]="'cai-' + providerOption?.name?.toLowerCase()"
2432
- ></svg-icon>
2433
- </div>
2434
- }
2435
- </ng-template>
2436
-
2437
- <ng-template #selectedMakeRef>
2438
- @let makeOption = cast(selectedOption(), "make");
2439
- @if (makeOption && !inputRef.value) {
2440
- <div class="dropdown-selected">
2441
- @if (makeOption?.logoName) {
2442
- <svg-icon
2443
- class="option-icon full-size"
2444
- [name]="makeOption?.logoName?.slice(0, -4) || ''"
2445
- ></svg-icon>
2446
- } @else {
2447
- <p class="dropdown-selected-content">{{ makeOption?.name }}</p>
2448
- }
2449
- </div>
2450
- }
2451
- </ng-template>
2452
-
2453
- <ng-template #selectedStateRef>
2454
- @let stateOption = cast(selectedOption(), "state");
2455
- @if (stateOption && !inputRef.value) {
2456
- <div class="dropdown-selected">
2457
- <svg-icon
2458
- class="option-icon"
2459
- [name]="
2460
- 'cai-' +
2461
- stateOption?.countryType?.name?.toLowerCase() +
2462
- '-' +
2463
- stateOption?.stateShortName?.toLowerCase()
2464
- "
2465
- ></svg-icon>
2466
- <p class="dropdown-selected-content">
2467
- {{ stateOption?.stateShortName }}
2468
- {{ config().fullState ? " (" + stateOption?.stateName + ")" : "" }}
2469
- </p>
2470
- </div>
2471
- }
2472
- </ng-template>
2473
-
2474
- <ng-template #selectedDispatcherRef>
2475
- @let dispatcherOption = cast(selectedOption(), "dispatcher");
2476
- @if (dispatcherOption && !inputRef.value) {
2477
- <div class="dropdown-selected">
2478
- <cai-avatar
2479
- [driver]="{
2480
- id: dispatcherOption?.id || 0,
2481
- firstName: (dispatcherOption?.fullName || ' ').split(' ')[0] || '',
2482
- lastName: (dispatcherOption?.fullName || ' ').split(' ')[1] || '',
2483
- avatarFile: dispatcherOption?.avatarFile,
2484
- colorFlag: dispatcherOption?.colorFlag,
2485
- }"
2486
- [rounded]="!config().squareAvatar"
2487
- ></cai-avatar>
2488
- <p class="dropdown-selected-content">{{ dispatcherOption?.fullName }}</p>
2489
- </div>
2490
- }
2491
- </ng-template>
2492
-
2493
- <ng-template #selectedTruckRef>
2494
- @let truckOption = cast(selectedOption(), "truckOption");
2495
- @if (truckOption && !inputRef.value) {
2496
- <div class="dropdown-selected">
2497
- <svg-icon
2498
- class="option-icon"
2499
- [name]="truckOption?.logoName?.slice(0, -4)"
2500
- ></svg-icon>
2501
- <p class="dropdown-selected-content">{{ truckOption?.name }}</p>
2502
- </div>
2503
- }
2504
- </ng-template>
2505
-
2506
- <ng-template #selectedTrailerRef>
2507
- @let trailerOption = cast(selectedOption(), "trailerOption");
2508
- @if (trailerOption && !inputRef.value) {
2509
- <div class="dropdown-selected">
2510
- <svg-icon
2511
- class="option-icon"
2512
- [name]="trailerOption?.logoName?.slice(0, -4)"
2513
- ></svg-icon>
2514
- <p class="dropdown-selected-content">{{ trailerOption?.name }}</p>
2515
- </div>
2516
- }
2517
- </ng-template>
2518
-
2519
- <ng-template #selectedHazardousRef>
2520
- @let hazardousOption = cast(selectedOption(), "hazardous");
2521
- @if (hazardousOption && !inputRef.value) {
2522
- <div class="dropdown-selected">
2523
- <svg-icon
2524
- class="hazard-icon"
2525
- [name]="hazardousOption?.logoName?.slice(0, -4)"
2526
- ></svg-icon>
2527
- <p class="dropdown-selected-content dropdown-selected-hazardous">
2528
- {{ hazardousOption?.description }}
2529
- </p>
2530
- </div>
2531
- }
2532
- </ng-template>
2533
-
2534
- <ng-template #selectedPmRef>
2535
- @let pmOption = cast(selectedOption(), "pmOption");
2536
- @if (pmOption && !inputRef.value) {
2537
- <div class="dropdown-selected">
2538
- <svg-icon
2539
- class="option-icon"
2540
- [name]="pmOption?.title | remapPmIcons"
2541
- ></svg-icon>
2542
- <p class="dropdown-selected-content">
2543
- {{ pmOption?.title }}
2544
- </p>
2545
- </div>
2546
- }
2547
- </ng-template>
2548
-
2549
- <ng-template #selectedColorRef>
2550
- @let colorOption = cast(selectedOption(), "colorOption");
2551
- @if (colorOption && !inputRef.value) {
2552
- <div class="dropdown-selected">
2553
- <svg-icon
2554
- class="option-icon cai-color"
2555
- [name]="'cai-color'"
2556
- [style.--color]="colorOption?.code"
2557
- [style.--hover-color]="colorOption?.hoverCode"
2558
- ></svg-icon>
2559
- <p class="dropdown-selected-content">
2560
- {{ colorOption?.name }}
2561
- </p>
2562
- </div>
2563
- }
2564
- </ng-template>
2565
-
2566
- <ng-template #selectedTollRef>
2567
- @let tollOption = cast(selectedOption(), "tollTransponderOption");
2568
- @if (tollOption && !inputRef.value) {
2569
- <div class="dropdown-selected">
2570
- <p class="dropdown-selected-content">
2571
- {{ tollOption?.name }}
2572
- </p>
2573
- </div>
2574
- }
2575
- </ng-template>
2576
-
2577
- <ng-template #selectedSplitDriverRef>
2578
- @let splitDriverOption = cast(selectedOption(), "splitDriver");
2579
- @if (splitDriverOption && !inputRef.value) {
2580
- <div class="dropdown-selected">
2581
- <div class="dropdown-selected-content">
2582
- <div class="dropdown-subitem">
2583
- <cai-avatar [driver]="splitDriverOption" [size]="18"></cai-avatar>
2584
- <p class="driver-name">
2585
- {{ splitDriverOption.firstName + " " + splitDriverOption.lastName }}
2586
- </p>
2587
- </div>
2588
- </div>
2589
-
2590
- <p class="selected-end-item">
2591
- {{ splitDriverOption.payTypeValue }}
2592
- </p>
2593
- </div>
2594
- }
2595
- </ng-template>
2596
-
2597
- <ng-template #selectedSplitTruckRef>
2598
- @let splitTruckOption = cast(selectedOption(), "splitTruck");
2599
- @if (splitTruckOption && !inputRef.value) {
2600
- <div class="dropdown-selected">
2601
- <div class="dropdown-selected-content">
2602
- <div class="dropdown-subitem trailer-item">
2603
- <svg-icon
2604
- class="trailer-icon"
2605
- [name]="splitTruckOption!.truckType.logoName.slice(0, -4)"
2606
- ></svg-icon>
2607
- <p class="trailer-number">
2608
- {{ splitTruckOption!.truckNumber }}
2609
- </p>
2610
- </div>
2611
- </div>
2612
- <p class="selected-end-item">
2613
- @if (
2614
- splitTruckOption!.location?.city &&
2615
- splitTruckOption!.location?.stateShortName
2616
- ) {
2617
- {{ splitTruckOption!.location?.city }},
2618
- {{ splitTruckOption!.location?.stateShortName }}
2619
- }
2620
- </p>
2621
- </div>
2622
- }
2623
- </ng-template>
2624
-
2625
- <ng-template #selectedSplitTrailerRef>
2626
- @let splitTrailerOption = cast(selectedOption(), "splitTrailer");
2627
- @if (splitTrailerOption && !inputRef.value) {
2628
- <div class="dropdown-selected">
2629
- <div class="dropdown-selected-content">
2630
- <div class="dropdown-subitem truck-item">
2631
- <svg-icon
2632
- class="truck-icon"
2633
- [name]="splitTrailerOption!.trailerType.logoName.slice(0, -4)"
2634
- ></svg-icon>
2635
- <p class="truck-number">
2636
- {{ splitTrailerOption!.trailerNumber }}
2637
- </p>
2638
- </div>
2639
- </div>
2640
- <p class="selected-end-item">
2641
- @if (
2642
- splitTrailerOption!.location?.city &&
2643
- splitTrailerOption!.location?.stateShortName
2644
- ) {
2645
- {{ splitTrailerOption!.location?.city }},
2646
- {{ splitTrailerOption!.location?.stateShortName }}
2647
- }
2648
- </p>
2649
- </div>
2650
- }
2651
- </ng-template>
2652
-
2653
- <ng-template #passwordTooltip>
2654
- {{ visible() ? "Hide" : "Show" }}
2655
- </ng-template>
2656
-
2657
- <ng-template #errorTooltip>
2658
- @if (
2659
- (config().errorBehavior === "floating" ||
2660
- (config().errorBehavior === "static" && hasText()) ||
2661
- config().inTable) &&
2662
- invalid &&
2663
- !dropdown.isOpen()
2664
- ) {
2665
- {{ (ngControl?.errors | errorMessage: config().customErrors)[0] }}
2666
- }
2667
- </ng-template>
2668
-
2669
- <!-- #endregion -->