carriera-intern 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/icons.mdc +7 -0
- package/.editorconfig +17 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/tasks.json +42 -0
- package/README.md +59 -0
- package/angular.json +94 -0
- package/carriera-intern@0.0.0 +0 -0
- package/package.json +61 -0
- package/projects/carriera-intern-components/.storybook/main.ts +12 -0
- package/projects/carriera-intern-components/.storybook/preview-head.html +13 -0
- package/projects/carriera-intern-components/.storybook/preview.ts +54 -0
- package/projects/carriera-intern-components/.storybook/tsconfig.doc.json +10 -0
- package/projects/carriera-intern-components/.storybook/tsconfig.json +11 -0
- package/projects/carriera-intern-components/.storybook/typings.d.ts +4 -0
- package/projects/carriera-intern-components/README.md +63 -0
- package/projects/carriera-intern-components/ng-package.json +14 -0
- package/projects/carriera-intern-components/package.json +14 -0
- package/projects/carriera-intern-components/public/assets/animations/animation-document-update.json +1 -0
- package/projects/carriera-intern-components/public/assets/animations/animation-image.json +1 -0
- package/projects/carriera-intern-components/public/assets/animations/animation-logo.json +1 -0
- package/projects/carriera-intern-components/public/assets/animations/animation-media.json +1 -0
- package/projects/carriera-intern-components/public/assets/cdl.png +0 -0
- package/projects/carriera-intern-components/public/assets/exampledoc.png +0 -0
- package/projects/carriera-intern-components/public/assets/examplelargeview.png +0 -0
- package/projects/carriera-intern-components/public/assets/icons/Thumb-active.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/Thumb.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-primary-up.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-down.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-left.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/arrows/cai-arrow-secondary-right.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_bbt.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_bmo_harris.svg +13 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_capital_one.svg +11 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_chase.svg +11 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_chime.svg +10 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_citi.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_fifth_third.svg +14 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_green_dot.svg +17 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_mb_financial.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_meta.svg +11 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_navi_federal.svg +14 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_of_america.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_pnc.svg +10 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_regions.svg +14 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_renasant.svg +14 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_tcf.svg +11 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_truist.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_us.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/banks/ic_bank_wells_fargo.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-color.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-drop-zone-focus.svg +48 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-edit.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-edit2.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-expand.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-gps.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration-dark.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-cover.svg +34 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-profile.svg +58 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone-video.svg +41 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration-drop-zone.svg +43 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-illustration.svg +18 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-loader.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-search.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/cai-violation-hazmat.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-contact.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-count.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-fuel-card.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-people.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-share.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/fuel-contact/cai-user-2.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-address.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-checkmark.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-date.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-email.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-fax.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-label.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-money-additional.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-money.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-phone-extension.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-phone.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-sort-by.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-sort-descending.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/general/cai-website.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_corrosive_8.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_dangerous_when_wet_4.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_1.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_2.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_3.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_4.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_5.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_explosives_1_6.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_3.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_gas_2.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_flammable_solid_4.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_inhalation_hazzard_2.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_inhalation_hazzard_6.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_organic_peroxide_5_2.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_oxidizer_5_1.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_oxygen_non_flam_gas_2.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_radioactive_7.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/hazardous/ic_spontaneously_combustible_4.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/integration/cai-efs.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-cancel.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-copy.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-dislike.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-drag.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-favorite.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-like.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-minus.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-hidden.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-key.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-password-shown.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai-plus.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai_time.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/interaction/cai_x.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/load/cai-driver.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/load/cai-load.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/load/cai-ltl-single.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/load/cai-parking.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/load/cai-weight.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_atro.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_beall.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_bedard.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_butler.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_de_lucio.svg +17 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_dorsey.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_east.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_fontaine.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_fruehauf.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_gallegos.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_great_dane.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_heil.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_hudson.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_hyndai.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_kaufman.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_mac.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_manac.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_polar.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_ravens.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_reitnouer.svg +12 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_strick.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_timpte.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_trail_king.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_transcraft.svg +12 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_tremcar.svg +10 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_tytal.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_utility.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_vanguard.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_vantage.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_wabash.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_walinga.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trailers/ic_trailer_wilson.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_chevrolet.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_ford.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_freightliner.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_gmc.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_hino.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_international.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_isuzu.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_kenworth.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_mack.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_peterbilt.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_volvo.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/makes/trucks/ic_truck_western_star.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/menu/cai-delete.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/menu/cai-download.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/menu/cai-reset.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/cai-pm-base.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-pm-general.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-pm-pto-pump.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/trailer/cai-repair-reefer.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-air-filter.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-alignment.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-battery.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-belts.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-brake-chamber.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-engine-oil-filter.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-engine-tune-up.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-radiator.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-transmission-fluid.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/pm/truck/cai-pm-turbo.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-ab.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-bc.svg +35 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-mb.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-nb.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-nl.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-ns.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-on.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-pe.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-qc.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-sk.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/ca/cai-ca-yt.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ak.svg +14 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-al.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ar.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-az.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ca.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-co.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ct.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-de.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-fl.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ga.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-hi.svg +10 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ia.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-id.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-il.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-in.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ks.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ky.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-la.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ma.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-md.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-me.svg +9 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mi.svg +11 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mn.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mo.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ms.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-mt.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nc.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nd.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ne.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nh.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nj.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nm.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-nv.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ny.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-oh.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ok.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-or.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-pa.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ri.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-sc.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-sd.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-tn.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-tx.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-ut.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-va.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-vt.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wa.svg +15 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wi.svg +4 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wv.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/states/us/cai-us-wy.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/status/cai-status-warning-lite.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/status/cai-status-warning.svg +3 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_bottom-dump.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_carhauler-stinger.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_carhauler.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_chassis.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_conestoga.svg +13 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_container.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_dryvan.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_end-dump.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_flatbed.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_hopper.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_low-boy.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_reefer.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_side-kit.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_step-deck.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_tanker-pneumatic.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trailers/ic_trailer_tanker.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_box-truck.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_car-hauler.svg +7 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_cargo-van.svg +5 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_cement.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_dump.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_garbage.svg +10 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_reefer.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_semi-truck.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_semi-wSleeper.svg +8 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_spotter.svg +6 -0
- package/projects/carriera-intern-components/public/assets/icons/trucks/ic_truck_tow-truck.svg +8 -0
- package/projects/carriera-intern-components/public/assets/invexample.png +0 -0
- package/projects/carriera-intern-components/public/assets/invoice.png +0 -0
- package/projects/carriera-intern-components/public/assets/json/icons.json +985 -0
- package/projects/carriera-intern-components/public/assets/truck.png +0 -0
- package/projects/carriera-intern-components/public/favicon.ico +0 -0
- package/projects/carriera-intern-components/src/Changelog.mdx +285 -0
- package/projects/carriera-intern-components/src/Icons.mdx +279 -0
- package/projects/carriera-intern-components/src/app/app.config.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.html +28 -0
- package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.scss +414 -0
- package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/avatar/avatar.component.ts +66 -0
- package/projects/carriera-intern-components/src/app/components/avatar/avatar.stories.ts +787 -0
- package/projects/carriera-intern-components/src/app/components/avatar/models/avatar.model.ts +52 -0
- package/projects/carriera-intern-components/src/app/components/avatar/models/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/avatar/pipes/avatar-classes.pipe.ts +98 -0
- package/projects/carriera-intern-components/src/app/components/avatar/pipes/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/avatar/pipes/initials.pipe.ts +31 -0
- package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.css +0 -0
- package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.html +10 -0
- package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.component.ts +25 -0
- package/projects/carriera-intern-components/src/app/components/content-driven-co/content-driven-co.stories.ts +65 -0
- package/projects/carriera-intern-components/src/app/components/copy/copy.component.html +66 -0
- package/projects/carriera-intern-components/src/app/components/copy/copy.component.scss +103 -0
- package/projects/carriera-intern-components/src/app/components/copy/copy.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/copy/copy.component.ts +57 -0
- package/projects/carriera-intern-components/src/app/components/copy/stories/copy.stories.ts +170 -0
- package/projects/carriera-intern-components/src/app/components/counter/counter.component.html +33 -0
- package/projects/carriera-intern-components/src/app/components/counter/counter.component.scss +197 -0
- package/projects/carriera-intern-components/src/app/components/counter/counter.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/counter/counter.component.ts +219 -0
- package/projects/carriera-intern-components/src/app/components/counter/counter.stories.ts +65 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.html +223 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.scss +792 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.component.ts +323 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/dispatch-dropdown.stories.ts +409 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/helpers/dispatch-dropdown.helper.ts +248 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-config.interface.ts +10 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/dispatch-dropdown-option.interface.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/interfaces/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/mock/parking-data.json +1550 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-dropdown/pipes/dispatch-search-filter.pipe.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.html +76 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.scss +141 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.component.ts +268 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/dispatch-location.stories.ts +184 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/interfaces/last-status-data.interface.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/dispatch-location/pipes/last-status-format.pipe.ts +35 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.html +229 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.scss +1115 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.component.ts +277 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/document-preview.stories.ts +256 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/document-tag.interface.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/button-actions.config.ts +30 -0
- package/projects/carriera-intern-components/src/app/components/document-preview/utils/config/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.html +376 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.scss +9 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.component.ts +1272 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/drop-zone.stories.ts +1253 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-labels.enum.ts +0 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/enums/drop-zone-variant.enum.ts +7 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/enums/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/models/app-file.model.ts +28 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/models/file.response.ts +10 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/models/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/pipes/drag-mode-animation.pipe.ts +40 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/drop-zone-documents.helper.ts +67 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/helpers/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-cropper.scss +202 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-documents.scss +166 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-drag-mode.scss +107 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-images.scss +106 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-layout.scss +208 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-states.scss +183 -0
- package/projects/carriera-intern-components/src/app/components/drop-zone/utils/styles/drop-zone-variations.scss +189 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/helpers/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/helpers/mask.helper.ts +52 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.spec.ts +13 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/mask.directive.ts +274 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.spec.ts +13 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/number-format.directive.ts +442 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.spec.ts +13 -0
- package/projects/carriera-intern-components/src/app/components/input/directives/password.directive.ts +282 -0
- package/projects/carriera-intern-components/src/app/components/input/input.component.html +2669 -0
- package/projects/carriera-intern-components/src/app/components/input/input.component.scss +3000 -0
- package/projects/carriera-intern-components/src/app/components/input/input.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/input/input.component.ts +1486 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/banks.json +249 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/basic.json +42 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/brokers.json +544 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/colors.json +95 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/commodities.json +12 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/contacts.json +117 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/dispatchers.json +83 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/dispatches.json +4188 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/fuel-list-dropdown.json +968 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/fuel-transaction.json +78 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/fuelcard.json +472 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/hazardous.json +166 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/labelColors.json +81 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/labels.json +169 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/new-load-modal-res.json +1148 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/noboard.json +1665 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/owner.json +209 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/pm.json +112 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/shipper.json +1192 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/split-driver.json +99 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/split-trailer.json +79 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/split-truck.json +49 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/states.json +605 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/toll.json +106 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/trailermakes.json +196 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/truck_trailer.json +184 -0
- package/projects/carriera-intern-components/src/app/components/input/mock/truckmakes.json +76 -0
- package/projects/carriera-intern-components/src/app/components/input/models/dropdown.model.ts +376 -0
- package/projects/carriera-intern-components/src/app/components/input/models/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/input/models/input.model.ts +227 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/broker-progress.pipe.ts +36 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/clear-tooltip.pipe.ts +38 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/error-message.pipe.ts +54 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/highlight-search.pipe.ts +42 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/index.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/input-class.pipe.ts +109 -0
- package/projects/carriera-intern-components/src/app/components/input/pipes/remap-pm-icons.pipe.ts +49 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/Documentation.mdx +190 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/dropdown-options.ts +80 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/dropdown.stories.ts +376 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-dropdown.stories.ts +405 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-inverse.stories.ts +232 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-load.stories.ts +150 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-placeholder.stories.ts +225 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-subcontent.stories.ts +264 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input-table.stories.ts +211 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/input.stories.ts +1159 -0
- package/projects/carriera-intern-components/src/app/components/input/stories/modal.stories.ts +162 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/constants/cast.constants.ts +91 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/constants/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/input.helper.ts +985 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/helpers/keyboard-navigation.helper.ts +402 -0
- package/projects/carriera-intern-components/src/app/components/input/utilities/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-layers-string.enum.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/input-address/enums/input-address-type-string.enum.ts +7 -0
- package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.html +13 -0
- package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.scss +0 -0
- package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/input-address/input-address.component.ts +509 -0
- package/projects/carriera-intern-components/src/app/components/input-address/models/address-data.model.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/input-address/models/address-list.model.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/input-address/models/long-lat.model.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/input-address/models/sent-address-data.model.ts +25 -0
- package/projects/carriera-intern-components/src/app/components/input-address/stories/address.stories.ts +181 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.html +180 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.scss +862 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.component.ts +1559 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/cai-input-datetime-picker.stories.ts +507 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.html +134 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.scss +0 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.spec.ts +24 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.ts +331 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.html +190 -0
- 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
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.spec.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.ts +234 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.html +23 -0
- 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
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.spec.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.ts +60 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.html +27 -0
- 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
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.spec.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.ts +187 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.html +68 -0
- 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
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.spec.ts +26 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.ts +163 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/cai-input.config.ts +193 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-left-string.enum.ts +5 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-list-preview-string.enum.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-main-string.enum.ts +5 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-scroll-type-string.enum.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-string.enum.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-type-string.enum.ts +3 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/config.enum.ts +7 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-change.model.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-type.model.ts +8 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/pipes/calendar-months.pipe.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/services/calendar-datetime-picker.service.ts +35 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/strategy/calendar-strategy.ts +120 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/utils/constants/custom-datetime-pickers.constants.ts +48 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/enums/input-config-name-string.enum.ts +7 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/interfaces/input-datetime.interface.ts +11 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/index.ts +5 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/models/label-color.model.ts +11 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-clear-class.pipe.ts +105 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-date-time-container-class.pipe.ts +66 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-dropdown-arrow-class.pipe.ts +68 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/input-placeholder-icon.class.pipe.ts +68 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/pipes/show-clear.pipe.ts +20 -0
- package/projects/carriera-intern-components/src/app/components/input-datetime-picker/scss/ca-input.colors.scss +287 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.html +194 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.scss +613 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.component.ts +208 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/list-contact-dropdown.stories.ts +52 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/mock/brokerContacts.json +74 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/models/contact.interface.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contact-count.pipe.ts +14 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/contacts-height.pipe.ts +34 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/departments-height.pipe.ts +57 -0
- package/projects/carriera-intern-components/src/app/components/list-contact-dropdown/pipes/map-contacts.pipe.ts +51 -0
- package/projects/carriera-intern-components/src/app/components/pm/mock/repair-pm.json +2743 -0
- package/projects/carriera-intern-components/src/app/components/pm/pm.component.html +82 -0
- package/projects/carriera-intern-components/src/app/components/pm/pm.component.scss +260 -0
- package/projects/carriera-intern-components/src/app/components/pm/pm.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/pm/pm.component.ts +207 -0
- package/projects/carriera-intern-components/src/app/components/pm/pm.stories.ts +104 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/enums/filter-type.enum.ts +7 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/enums/review-type.enum.ts +5 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.spec.ts +8 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/pipes/date-formating.pipe.ts +42 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.html +57 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.scss +94 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.component.ts +105 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/rating-review/rating-review/rating-review.stories.ts +451 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.html +236 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.scss +564 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/review-modal/review-modal.component.ts +360 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.html +321 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.scss +887 -0
- package/projects/carriera-intern-components/src/app/components/rating_review/single-review/single-review.component.ts +159 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/interfaces/selected-business-field.interface.ts +11 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.html +100 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.scss +239 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.component.ts +28 -0
- package/projects/carriera-intern-components/src/app/components/selected-location-field/selected-business-field.stories.ts +132 -0
- package/projects/carriera-intern-components/src/app/components/signature/signature.component.html +63 -0
- package/projects/carriera-intern-components/src/app/components/signature/signature.component.scss +229 -0
- package/projects/carriera-intern-components/src/app/components/signature/signature.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/signature/signature.component.ts +102 -0
- package/projects/carriera-intern-components/src/app/components/signature/signature.stories.ts +32 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/enums/scroll-state.enum.ts +6 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.html +29 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.scss +106 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.component.ts +458 -0
- package/projects/carriera-intern-components/src/app/components/sticky-scrollbar/sticky-scrollbar.stories.ts +343 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option-config.interface.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/interfaces/tab-option.interface.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/pipes/tab-search-filter.pipe.ts +20 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.html +66 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.scss +441 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option-dropdown.component.ts +105 -0
- package/projects/carriera-intern-components/src/app/components/tab-option-dropdown/tab-option.stories.ts +93 -0
- package/projects/carriera-intern-components/src/app/components/text-area/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/text-area/interfaces/text-area.interface.ts +4 -0
- package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.html +29 -0
- package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.scss +294 -0
- package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.spec.ts +23 -0
- package/projects/carriera-intern-components/src/app/components/text-area/text-area.component.ts +213 -0
- package/projects/carriera-intern-components/src/app/components/text-area/text-area.stories.ts +90 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interfaces/interval-dropdown-option.interface.ts +10 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.html +98 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.scss +437 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.spec.ts +22 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.component.ts +160 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/interval-dropdown.stories.ts +77 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/pipes/dropdown-filter-input-config.pipe.ts +52 -0
- package/projects/carriera-intern-components/src/app/components/toolbar-dropdown/utils/helpers/interval-dropdown.helper.ts +193 -0
- package/projects/carriera-intern-components/src/app/directives/hover-svg-directives.ts +49 -0
- package/projects/carriera-intern-components/src/app/directives/index.ts +3 -0
- package/projects/carriera-intern-components/src/app/directives/infinite-scroll.directive.ts +64 -0
- package/projects/carriera-intern-components/src/app/directives/intersection-observer.directive.ts +50 -0
- package/projects/carriera-intern-components/src/app/enums/alignment.enum.ts +4 -0
- package/projects/carriera-intern-components/src/app/enums/general-actions.enum.ts +71 -0
- package/projects/carriera-intern-components/src/app/enums/index.ts +3 -0
- package/projects/carriera-intern-components/src/app/enums/string-placeholder.enum.ts +3 -0
- package/projects/carriera-intern-components/src/app/models/pm.model.ts +11 -0
- package/projects/carriera-intern-components/src/app/models/review.model.ts +29 -0
- package/projects/carriera-intern-components/src/app/models/truck.model.ts +5 -0
- package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.spec.ts +8 -0
- package/projects/carriera-intern-components/src/app/pipes/bytes-to-human-readable.pipe.ts +29 -0
- package/projects/carriera-intern-components/src/app/pipes/currency.pipe.spec.ts +8 -0
- package/projects/carriera-intern-components/src/app/pipes/currency.pipe.ts +61 -0
- package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.spec.ts +8 -0
- package/projects/carriera-intern-components/src/app/pipes/number-format.pipe.ts +30 -0
- package/projects/carriera-intern-components/src/app/services/document.service.spec.ts +16 -0
- package/projects/carriera-intern-components/src/app/services/document.service.ts +168 -0
- package/projects/carriera-intern-components/src/app/utils/autofill-validators.ts +32 -0
- package/projects/carriera-intern-components/src/app/utils/constants/index.ts +1 -0
- package/projects/carriera-intern-components/src/app/utils/constants/input-character-sets.constants.ts +142 -0
- package/projects/carriera-intern-components/src/app/utils/index.ts +2 -0
- package/projects/carriera-intern-components/src/app/validators/custom-validators.ts +45 -0
- package/projects/carriera-intern-components/src/public-api.ts +31 -0
- package/projects/carriera-intern-components/src/styles/README.md +59 -0
- package/projects/carriera-intern-components/src/styles/_variables.scss +301 -0
- package/projects/carriera-intern-components/src/styles/cropper.scss +39 -0
- package/projects/carriera-intern-components/src/styles/custompickers.scss +827 -0
- package/projects/carriera-intern-components/src/styles/popover.scss +224 -0
- package/projects/carriera-intern-components/src/styles/review_variables.scss +45 -0
- package/projects/carriera-intern-components/src/styles/tooltip.scss +119 -0
- package/projects/carriera-intern-components/src/styles/utility/colors.scss +265 -0
- package/projects/carriera-intern-components/src/styles/utility/utilities.scss +17 -0
- package/projects/carriera-intern-components/src/styles.scss +43 -0
- package/projects/carriera-intern-components/tsconfig.lib.json +15 -0
- package/projects/carriera-intern-components/tsconfig.lib.prod.json +11 -0
- package/projects/carriera-intern-components/tsconfig.spec.json +15 -0
- package/tsconfig.json +33 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Meta, moduleMetadata, StoryObj } from '@storybook/angular';
|
|
2
|
+
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { IntervalDropdownComponent } from './interval-dropdown.component';
|
|
5
|
+
|
|
6
|
+
const meta: Meta<IntervalDropdownComponent> = {
|
|
7
|
+
title: 'Components/ToolbarDropdown',
|
|
8
|
+
component: IntervalDropdownComponent,
|
|
9
|
+
decorators: [
|
|
10
|
+
moduleMetadata({
|
|
11
|
+
imports: [ReactiveFormsModule],
|
|
12
|
+
}),
|
|
13
|
+
],
|
|
14
|
+
argTypes: {},
|
|
15
|
+
args: {},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
type Story = StoryObj<IntervalDropdownComponent>;
|
|
20
|
+
|
|
21
|
+
// --- Stories ---
|
|
22
|
+
|
|
23
|
+
export const Dashboard: Story = {
|
|
24
|
+
args: {},
|
|
25
|
+
render: (args) => ({
|
|
26
|
+
props: {
|
|
27
|
+
...args,
|
|
28
|
+
options: [
|
|
29
|
+
{ id: 1, name: 'Today' },
|
|
30
|
+
{ id: 2, name: 'WTD' },
|
|
31
|
+
{ id: 3, name: 'MTD' },
|
|
32
|
+
{ id: 4, name: 'QTD' },
|
|
33
|
+
{ id: 5, name: 'YTD' },
|
|
34
|
+
{ id: 6, name: 'All Time' },
|
|
35
|
+
{ id: 7, name: 'Custom' },
|
|
36
|
+
],
|
|
37
|
+
selectedOption: { id: 6, name: 'All Time' },
|
|
38
|
+
onSelectionChange: (option: any) => {
|
|
39
|
+
console.log('Selection changed to:', option);
|
|
40
|
+
},
|
|
41
|
+
companyDays: 30,
|
|
42
|
+
},
|
|
43
|
+
template: `
|
|
44
|
+
<div style="width: 126px; margin-left: auto; margin-right: auto;">
|
|
45
|
+
<cai-interval-dropdown [options]="options" [selectedOption]="selectedOption" [companyDays]="companyDays" (onSelectionChange)="onSelectionChange($event)"></cai-interval-dropdown>
|
|
46
|
+
</div>
|
|
47
|
+
`,
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export const Custom: Story = {
|
|
52
|
+
args: {},
|
|
53
|
+
render: (args) => ({
|
|
54
|
+
props: {
|
|
55
|
+
...args,
|
|
56
|
+
options: [
|
|
57
|
+
{ id: 1, name: 'Today' },
|
|
58
|
+
{ id: 2, name: 'WTD' },
|
|
59
|
+
{ id: 3, name: 'MTD' },
|
|
60
|
+
{ id: 4, name: 'QTD' },
|
|
61
|
+
{ id: 5, name: 'YTD' },
|
|
62
|
+
{ id: 6, name: 'All Time' },
|
|
63
|
+
{ id: 7, name: 'Custom' },
|
|
64
|
+
],
|
|
65
|
+
selectedOption: { id: 7, name: 'Custom' },
|
|
66
|
+
onSelectionChange: (option: any) => {
|
|
67
|
+
console.log('Selection changed to:', option);
|
|
68
|
+
},
|
|
69
|
+
companyDays: 30,
|
|
70
|
+
},
|
|
71
|
+
template: `
|
|
72
|
+
<div style="width: 126px; margin-left: auto; margin-right: auto;">
|
|
73
|
+
<cai-interval-dropdown [options]="options" [selectedOption]="selectedOption" [companyDays]="companyDays" (onSelectionChange)="onSelectionChange($event)"></cai-interval-dropdown>
|
|
74
|
+
</div>
|
|
75
|
+
`,
|
|
76
|
+
}),
|
|
77
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Pipe, PipeTransform } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
// interfaces
|
|
4
|
+
import { CaiDateTimeConfig } from '../../input-datetime-picker/interfaces';
|
|
5
|
+
|
|
6
|
+
@Pipe({
|
|
7
|
+
name: 'dropdownFilterInputConfig',
|
|
8
|
+
})
|
|
9
|
+
export class DropdownFilterInputConfigPipe implements PipeTransform {
|
|
10
|
+
transform({ configType }: { configType: string }): CaiDateTimeConfig {
|
|
11
|
+
switch (configType) {
|
|
12
|
+
case 'from':
|
|
13
|
+
return {
|
|
14
|
+
name: 'datepicker',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'From',
|
|
17
|
+
isDropdown: true,
|
|
18
|
+
placeholderIcon: 'date',
|
|
19
|
+
isRequired: true,
|
|
20
|
+
customClass: 'datetimeclass',
|
|
21
|
+
inverse: true,
|
|
22
|
+
size: 22,
|
|
23
|
+
hasStroke: true,
|
|
24
|
+
};
|
|
25
|
+
case 'to':
|
|
26
|
+
return {
|
|
27
|
+
name: 'datepicker',
|
|
28
|
+
type: 'text',
|
|
29
|
+
label: 'To',
|
|
30
|
+
isDropdown: true,
|
|
31
|
+
placeholderIcon: 'date',
|
|
32
|
+
isRequired: true,
|
|
33
|
+
customClass: 'datetimeclass',
|
|
34
|
+
inverse: true,
|
|
35
|
+
size: 22,
|
|
36
|
+
hasStroke: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
name: 'datepicker',
|
|
41
|
+
type: 'text',
|
|
42
|
+
label: 'Date',
|
|
43
|
+
isDropdown: true,
|
|
44
|
+
placeholderIcon: 'date',
|
|
45
|
+
isRequired: true,
|
|
46
|
+
customClass: 'datetimeclass',
|
|
47
|
+
inverse: true,
|
|
48
|
+
size: 22,
|
|
49
|
+
hasStroke: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AbstractControl,
|
|
3
|
+
FormControl,
|
|
4
|
+
FormGroup,
|
|
5
|
+
UntypedFormGroup,
|
|
6
|
+
ValidationErrors,
|
|
7
|
+
ValidatorFn,
|
|
8
|
+
Validators,
|
|
9
|
+
} from '@angular/forms';
|
|
10
|
+
import { Subject } from 'rxjs';
|
|
11
|
+
import { takeUntil } from 'rxjs/operators';
|
|
12
|
+
|
|
13
|
+
export class IntervalDropdownHelper {
|
|
14
|
+
// Cache validators to avoid recreation
|
|
15
|
+
private static notInFutureValidator: ValidatorFn | null = null;
|
|
16
|
+
private static companyStartValidators = new Map<number, ValidatorFn>();
|
|
17
|
+
|
|
18
|
+
static createFormGroup(companyDays: number | null): UntypedFormGroup {
|
|
19
|
+
const formGroup = new FormGroup({
|
|
20
|
+
from: new FormControl({ value: null, disabled: false }, [
|
|
21
|
+
Validators.required,
|
|
22
|
+
]),
|
|
23
|
+
to: new FormControl({ value: null, disabled: false }, [
|
|
24
|
+
Validators.required,
|
|
25
|
+
]),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// Create destroy subject for proper cleanup
|
|
29
|
+
const destroy$ = new Subject<void>();
|
|
30
|
+
|
|
31
|
+
// Store destroy subject on form group for cleanup
|
|
32
|
+
(formGroup as any).__destroy$ = destroy$;
|
|
33
|
+
|
|
34
|
+
if (companyDays) {
|
|
35
|
+
const companyStartDate = new Date();
|
|
36
|
+
companyStartDate.setDate(companyStartDate.getDate() - companyDays);
|
|
37
|
+
|
|
38
|
+
const notBeforeCompanyStartValidator =
|
|
39
|
+
this.getOrCreateNotBeforeCompanyStartValidator(companyStartDate);
|
|
40
|
+
const notInFutureValidator = this.getOrCreateNotInFutureValidator();
|
|
41
|
+
const toNotBeforeFromValidator =
|
|
42
|
+
this.createToNotBeforeFromValidator(formGroup);
|
|
43
|
+
|
|
44
|
+
formGroup
|
|
45
|
+
.get('from')
|
|
46
|
+
?.setValidators([
|
|
47
|
+
Validators.required,
|
|
48
|
+
notBeforeCompanyStartValidator,
|
|
49
|
+
notInFutureValidator,
|
|
50
|
+
]);
|
|
51
|
+
formGroup
|
|
52
|
+
.get('to')
|
|
53
|
+
?.setValidators([
|
|
54
|
+
Validators.required,
|
|
55
|
+
notBeforeCompanyStartValidator,
|
|
56
|
+
notInFutureValidator,
|
|
57
|
+
toNotBeforeFromValidator,
|
|
58
|
+
]);
|
|
59
|
+
} else {
|
|
60
|
+
// Even without company days, still validate against future dates
|
|
61
|
+
const notInFutureValidator = this.getOrCreateNotInFutureValidator();
|
|
62
|
+
const toNotBeforeFromValidator =
|
|
63
|
+
this.createToNotBeforeFromValidator(formGroup);
|
|
64
|
+
|
|
65
|
+
formGroup
|
|
66
|
+
.get('from')
|
|
67
|
+
?.setValidators([Validators.required, notInFutureValidator]);
|
|
68
|
+
formGroup
|
|
69
|
+
.get('to')
|
|
70
|
+
?.setValidators([
|
|
71
|
+
Validators.required,
|
|
72
|
+
notInFutureValidator,
|
|
73
|
+
toNotBeforeFromValidator,
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Add cross-field validation: when 'from' changes, re-validate 'to'
|
|
78
|
+
// Use takeUntil to prevent memory leaks
|
|
79
|
+
formGroup
|
|
80
|
+
.get('from')
|
|
81
|
+
?.valueChanges.pipe(takeUntil(destroy$))
|
|
82
|
+
.subscribe(() => {
|
|
83
|
+
formGroup.get('to')?.updateValueAndValidity();
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
return formGroup;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Cleanup method to prevent memory leaks
|
|
91
|
+
* Call this when the form group is no longer needed
|
|
92
|
+
*/
|
|
93
|
+
static destroyFormGroup(formGroup: UntypedFormGroup): void {
|
|
94
|
+
const destroy$ = (formGroup as any).__destroy$;
|
|
95
|
+
if (destroy$) {
|
|
96
|
+
destroy$.next();
|
|
97
|
+
destroy$.complete();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Get or create cached not-in-future validator
|
|
103
|
+
*/
|
|
104
|
+
private static getOrCreateNotInFutureValidator(): ValidatorFn {
|
|
105
|
+
if (!this.notInFutureValidator) {
|
|
106
|
+
this.notInFutureValidator = this.createNotInFutureValidator();
|
|
107
|
+
}
|
|
108
|
+
return this.notInFutureValidator;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Get or create cached company start validator
|
|
113
|
+
*/
|
|
114
|
+
private static getOrCreateNotBeforeCompanyStartValidator(
|
|
115
|
+
companyStartDate: Date
|
|
116
|
+
): ValidatorFn {
|
|
117
|
+
const dateKey = companyStartDate.getTime();
|
|
118
|
+
if (!this.companyStartValidators.has(dateKey)) {
|
|
119
|
+
this.companyStartValidators.set(
|
|
120
|
+
dateKey,
|
|
121
|
+
this.createNotBeforeCompanyStartValidator(companyStartDate)
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
return this.companyStartValidators.get(dateKey)!;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Clear validator cache (useful for testing or memory management)
|
|
129
|
+
*/
|
|
130
|
+
static clearValidatorCache(): void {
|
|
131
|
+
this.notInFutureValidator = null;
|
|
132
|
+
this.companyStartValidators.clear();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private static createNotBeforeCompanyStartValidator(
|
|
136
|
+
companyStartDate: Date
|
|
137
|
+
): ValidatorFn {
|
|
138
|
+
return (control: AbstractControl): ValidationErrors | null => {
|
|
139
|
+
if (!control.value) {
|
|
140
|
+
return null; // Let required validator handle empty values
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const selectedDate = new Date(control.value);
|
|
144
|
+
if (selectedDate < companyStartDate) {
|
|
145
|
+
return { beforeCompanyStart: true };
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return null;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
private static createNotInFutureValidator(): ValidatorFn {
|
|
153
|
+
return (control: AbstractControl): ValidationErrors | null => {
|
|
154
|
+
if (!control.value) {
|
|
155
|
+
return null; // Let required validator handle empty values
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const selectedDate = new Date(control.value);
|
|
159
|
+
const today = new Date();
|
|
160
|
+
today.setHours(23, 59, 59, 999); // End of today
|
|
161
|
+
|
|
162
|
+
if (selectedDate > today) {
|
|
163
|
+
return { inFuture: true };
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return null;
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
private static createToNotBeforeFromValidator(
|
|
171
|
+
formGroup: FormGroup
|
|
172
|
+
): ValidatorFn {
|
|
173
|
+
return (control: AbstractControl): ValidationErrors | null => {
|
|
174
|
+
if (!control.value) {
|
|
175
|
+
return null; // Let required validator handle empty values
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
const fromDate = formGroup.get('from')?.value;
|
|
179
|
+
if (!fromDate) {
|
|
180
|
+
return null; // Wait for from date to be set
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const toDate = new Date(control.value);
|
|
184
|
+
const fromDateObj = new Date(fromDate);
|
|
185
|
+
|
|
186
|
+
if (toDate < fromDateObj) {
|
|
187
|
+
return { toBeforeFrom: true };
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return null;
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
HostListener,
|
|
5
|
+
Input,
|
|
6
|
+
Renderer2,
|
|
7
|
+
} from "@angular/core";
|
|
8
|
+
|
|
9
|
+
@Directive({
|
|
10
|
+
selector: "[appHoverSvg]",
|
|
11
|
+
standalone: true,
|
|
12
|
+
})
|
|
13
|
+
export class HoverSvgDirective {
|
|
14
|
+
@Input() set fill(value: string | null | undefined) {
|
|
15
|
+
if (value) {
|
|
16
|
+
this._fill = value;
|
|
17
|
+
|
|
18
|
+
this.renderer2.setStyle(this.elRef.nativeElement, "fill", this._fill);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@Input() set fillHover(value: string | null | undefined) {
|
|
23
|
+
if (value) {
|
|
24
|
+
this._fillHover = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public _fill: string = "";
|
|
29
|
+
public _fillHover: string = "";
|
|
30
|
+
|
|
31
|
+
constructor(
|
|
32
|
+
private elRef: ElementRef,
|
|
33
|
+
private renderer2: Renderer2
|
|
34
|
+
) {}
|
|
35
|
+
|
|
36
|
+
@HostListener("mouseover")
|
|
37
|
+
onMouseOver() {
|
|
38
|
+
this.renderer2.setStyle(
|
|
39
|
+
this.elRef.nativeElement,
|
|
40
|
+
"fill",
|
|
41
|
+
this._fillHover ? this._fillHover : this._fill
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@HostListener("mouseleave")
|
|
46
|
+
onMouseLeave() {
|
|
47
|
+
this.renderer2.setStyle(this.elRef.nativeElement, "fill", this._fill);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
HostListener,
|
|
6
|
+
Input,
|
|
7
|
+
Output,
|
|
8
|
+
} from '@angular/core';
|
|
9
|
+
|
|
10
|
+
@Directive({
|
|
11
|
+
selector: '[caiInfiniteScroll]',
|
|
12
|
+
standalone: true,
|
|
13
|
+
})
|
|
14
|
+
export class InfiniteScrollDirective {
|
|
15
|
+
@Input() scrollThreshold: number = 100; // Distance from bottom in pixels
|
|
16
|
+
@Input() debounceTime: number = 100; // Debounce time in milliseconds
|
|
17
|
+
@Output() scrolledToBottom = new EventEmitter<void>();
|
|
18
|
+
|
|
19
|
+
private debounceTimer: ReturnType<typeof setTimeout> | undefined;
|
|
20
|
+
private isLoading = false;
|
|
21
|
+
|
|
22
|
+
constructor(private elementRef: ElementRef) {}
|
|
23
|
+
|
|
24
|
+
@HostListener('scroll', ['$event'])
|
|
25
|
+
onScroll(event: Event): void {
|
|
26
|
+
if (this.isLoading) return;
|
|
27
|
+
|
|
28
|
+
// Clear previous timer
|
|
29
|
+
if (this.debounceTimer) {
|
|
30
|
+
clearTimeout(this.debounceTimer);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Set debounce timer
|
|
34
|
+
this.debounceTimer = setTimeout(() => {
|
|
35
|
+
this.checkScrollPosition(event);
|
|
36
|
+
}, this.debounceTime);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private checkScrollPosition(event: Event): void {
|
|
40
|
+
const element = event.target as HTMLElement;
|
|
41
|
+
const scrollTop = element.scrollTop;
|
|
42
|
+
const scrollHeight = element.scrollHeight;
|
|
43
|
+
const clientHeight = element.clientHeight;
|
|
44
|
+
|
|
45
|
+
// Calculate distance from bottom
|
|
46
|
+
const distanceFromBottom = scrollHeight - (scrollTop + clientHeight);
|
|
47
|
+
|
|
48
|
+
// Check if we're within the threshold distance from bottom
|
|
49
|
+
if (distanceFromBottom <= this.scrollThreshold) {
|
|
50
|
+
this.isLoading = true;
|
|
51
|
+
this.scrolledToBottom.emit();
|
|
52
|
+
|
|
53
|
+
// Reset loading state after a short delay to prevent rapid firing
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
this.isLoading = false;
|
|
56
|
+
}, 500);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Public method to reset loading state (useful when new data is loaded)
|
|
61
|
+
public resetLoadingState(): void {
|
|
62
|
+
this.isLoading = false;
|
|
63
|
+
}
|
|
64
|
+
}
|
package/projects/carriera-intern-components/src/app/directives/intersection-observer.directive.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
Input,
|
|
6
|
+
Output,
|
|
7
|
+
OnInit,
|
|
8
|
+
OnDestroy,
|
|
9
|
+
} from '@angular/core';
|
|
10
|
+
|
|
11
|
+
@Directive({
|
|
12
|
+
selector: '[caiIntersectionObserver]',
|
|
13
|
+
standalone: true,
|
|
14
|
+
})
|
|
15
|
+
export class IntersectionObserverDirective implements OnInit, OnDestroy {
|
|
16
|
+
@Input() threshold: number = 0.1; // Percentage of element that must be visible (0.0 to 1.0)
|
|
17
|
+
@Input() rootMargin: string = '0px'; // Margin around the root
|
|
18
|
+
@Output() inView = new EventEmitter<boolean>();
|
|
19
|
+
|
|
20
|
+
private observer: IntersectionObserver | null = null;
|
|
21
|
+
|
|
22
|
+
constructor(private elementRef: ElementRef) {}
|
|
23
|
+
|
|
24
|
+
ngOnInit(): void {
|
|
25
|
+
this.createObserver();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
ngOnDestroy(): void {
|
|
29
|
+
if (this.observer) {
|
|
30
|
+
this.observer.disconnect();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private createObserver(): void {
|
|
35
|
+
const options: IntersectionObserverInit = {
|
|
36
|
+
threshold: this.threshold,
|
|
37
|
+
rootMargin: this.rootMargin,
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
this.observer = new IntersectionObserver((entries) => {
|
|
41
|
+
entries.forEach((entry) => {
|
|
42
|
+
if (entry.isIntersecting) {
|
|
43
|
+
this.inView.emit(true);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}, options);
|
|
47
|
+
|
|
48
|
+
this.observer.observe(this.elementRef.nativeElement);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export enum eGeneralActions {
|
|
2
|
+
ADD = 'Add',
|
|
3
|
+
ADD_LOWERCASE = 'add',
|
|
4
|
+
ADD_NEW_ITEM = 'Add New Item',
|
|
5
|
+
UPDATE = 'Update',
|
|
6
|
+
UPDATE_LOWERCASE = 'update',
|
|
7
|
+
DELETE = 'Delete',
|
|
8
|
+
DELETE_LOWERCASE = 'delete',
|
|
9
|
+
EDIT = 'Edit',
|
|
10
|
+
EDIT_LOWERCASE = 'edit',
|
|
11
|
+
EDIT_UPPERCASE = 'EDIT',
|
|
12
|
+
|
|
13
|
+
SAVE = 'Save',
|
|
14
|
+
SAVE_LOWERCASE = 'save',
|
|
15
|
+
CANCEL = 'Cancel',
|
|
16
|
+
CANCEL_LOWERCASE = 'cancel',
|
|
17
|
+
ENTER = 'Enter',
|
|
18
|
+
ESCAPE = 'Escape',
|
|
19
|
+
CONFIRM = 'Confirm',
|
|
20
|
+
CONFIRM_LOWERCASE = 'confirm',
|
|
21
|
+
SET = 'Set',
|
|
22
|
+
SET_LOWERCASE = 'set',
|
|
23
|
+
REMOVE = 'Remove',
|
|
24
|
+
REMOVE_LOWERCASE = 'remove',
|
|
25
|
+
|
|
26
|
+
SELECT = 'Select',
|
|
27
|
+
SELECT_LOWERCASE = 'select',
|
|
28
|
+
SEARCH = 'Search',
|
|
29
|
+
SEARCH_LOWERCASE = 'search',
|
|
30
|
+
|
|
31
|
+
SELECT_ALL = 'Select All',
|
|
32
|
+
SELECT_REMAINING = 'Select Remaining',
|
|
33
|
+
CLEAR_SELECTED = 'Clear Selected',
|
|
34
|
+
|
|
35
|
+
ACTIVATE = 'Activate',
|
|
36
|
+
ACTIVATE_LOWERCASE = 'activate',
|
|
37
|
+
DEACTIVATE = 'deactivate',
|
|
38
|
+
DEACTIVATE_LOWERCASE = 'deactivate',
|
|
39
|
+
|
|
40
|
+
CLOSE = 'Close',
|
|
41
|
+
CLOSE_LOWERCASE = 'close',
|
|
42
|
+
CLOSE_UPPERCASE = 'CLOSE',
|
|
43
|
+
OPEN = 'Open',
|
|
44
|
+
OPEN_LOWERCASE = 'open',
|
|
45
|
+
|
|
46
|
+
NEXT = 'Next',
|
|
47
|
+
NEXT_LOWERCASE = 'next',
|
|
48
|
+
PREVIOUS = 'Previous',
|
|
49
|
+
PREVIOUS_LOWERCASE = 'previous',
|
|
50
|
+
|
|
51
|
+
CLEAR = 'Clear',
|
|
52
|
+
CLEAR_LOWERCASE = 'clear',
|
|
53
|
+
CLEAR_ALL = 'Clear All',
|
|
54
|
+
|
|
55
|
+
SHOW_MORE = 'show more',
|
|
56
|
+
|
|
57
|
+
OPEN_MODAL = 'open-modal',
|
|
58
|
+
|
|
59
|
+
EXPAND = 'Expand',
|
|
60
|
+
EXPAND_LOWERCASE = 'expand',
|
|
61
|
+
EXPAND_UPPERCASE = 'EXPAND',
|
|
62
|
+
|
|
63
|
+
COLLAPSE = 'Collapse',
|
|
64
|
+
COLLAPSE_LOWERCASE = 'collapse',
|
|
65
|
+
COLLAPSE_UPPERCASE = 'COLLAPSE',
|
|
66
|
+
|
|
67
|
+
SORT_BY = 'Sort By',
|
|
68
|
+
|
|
69
|
+
COPY = 'Copy',
|
|
70
|
+
COPIED = 'Copied',
|
|
71
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AvatarFile, Driver, Size } from '../components/avatar/models';
|
|
2
|
+
|
|
3
|
+
export interface IReview {
|
|
4
|
+
ratingId: number | null;
|
|
5
|
+
thumb: string | null;
|
|
6
|
+
reviewId: number;
|
|
7
|
+
comment: string;
|
|
8
|
+
isEdited: boolean;
|
|
9
|
+
companyUser: CompanyUser;
|
|
10
|
+
companyUserId: number;
|
|
11
|
+
isItCurrentCompanyUser: boolean;
|
|
12
|
+
createdAt: string; // ISO datum-vreme
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface CompanyUser {
|
|
17
|
+
id: number;
|
|
18
|
+
userId: number;
|
|
19
|
+
fullName: string;
|
|
20
|
+
avatarFile: AvatarTest;
|
|
21
|
+
departmentId: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface AvatarTest {
|
|
25
|
+
driver: Driver;
|
|
26
|
+
size: Size;
|
|
27
|
+
rounded: boolean;
|
|
28
|
+
inverse: boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// src/app/bytes-to-human-readable.pipe.ts
|
|
2
|
+
|
|
3
|
+
import { Pipe, PipeTransform } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
@Pipe({
|
|
6
|
+
name: 'bytesToHumanReadable',
|
|
7
|
+
})
|
|
8
|
+
export class BytesToHumanReadablePipe implements PipeTransform {
|
|
9
|
+
transform(bytes: number | null | undefined, precision: number = 2): string {
|
|
10
|
+
if (bytes === null || bytes === undefined || isNaN(bytes)) {
|
|
11
|
+
return '';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (bytes === 0) {
|
|
15
|
+
return '0 Bytes';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const units = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
19
|
+
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
20
|
+
|
|
21
|
+
const unitIndex = Math.min(i, units.length - 1);
|
|
22
|
+
|
|
23
|
+
const value = bytes / Math.pow(1024, unitIndex);
|
|
24
|
+
|
|
25
|
+
const formattedValue = parseFloat(value.toFixed(precision));
|
|
26
|
+
|
|
27
|
+
return `${formattedValue} ${units[unitIndex]}`;
|
|
28
|
+
}
|
|
29
|
+
}
|