@nerdjs/sales-kit 1.0.2 → 1.0.4
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/dist/entities/accessorial/accessorial.d.ts +12 -0
- package/dist/entities/accessorial/accessorial.js +41 -0
- package/dist/entities/accessorial/accessorial.js.map +1 -0
- package/dist/entities/accessorial/helper.d.ts +5 -0
- package/dist/entities/accessorial/helper.js +16 -0
- package/dist/entities/accessorial/helper.js.map +1 -0
- package/dist/entities/accessorial/index.d.ts +2 -0
- package/dist/entities/accessorial/index.js +3 -0
- package/dist/entities/accessorial/index.js.map +1 -0
- package/dist/entities/accessorials/accessorials.d.ts +7 -0
- package/dist/entities/accessorials/accessorials.js +29 -0
- package/dist/entities/accessorials/accessorials.js.map +1 -0
- package/dist/entities/accessorials/helper.d.ts +5 -0
- package/dist/entities/accessorials/helper.js +16 -0
- package/dist/entities/accessorials/helper.js.map +1 -0
- package/dist/entities/accessorials/index.d.ts +2 -0
- package/dist/entities/accessorials/index.js +3 -0
- package/dist/entities/accessorials/index.js.map +1 -0
- package/dist/{cjs/entities → entities}/customer/customer.d.ts +16 -16
- package/dist/entities/customer/customer.js +63 -0
- package/dist/entities/customer/customer.js.map +1 -0
- package/dist/{cjs/entities → entities}/customer/helper.d.ts +5 -5
- package/dist/entities/customer/helper.js +16 -0
- package/dist/entities/customer/helper.js.map +1 -0
- package/dist/{cjs/entities → entities}/customer/index.d.ts +1 -1
- package/dist/entities/customer/index.js +2 -0
- package/dist/entities/customer/index.js.map +1 -0
- package/dist/entities/holiday/helper.d.ts +5 -0
- package/dist/entities/holiday/helper.js +16 -0
- package/dist/entities/holiday/helper.js.map +1 -0
- package/dist/entities/holiday/holiday.d.ts +7 -0
- package/dist/entities/holiday/holiday.js +31 -0
- package/dist/entities/holiday/holiday.js.map +1 -0
- package/dist/entities/holiday/index.d.ts +2 -0
- package/dist/entities/holiday/index.js +3 -0
- package/dist/entities/holiday/index.js.map +1 -0
- package/dist/entities/index.d.ts +12 -0
- package/dist/entities/index.js +13 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/load/helper.d.ts +6 -0
- package/dist/entities/load/helper.js +28 -0
- package/dist/entities/load/helper.js.map +1 -0
- package/dist/entities/load/index.d.ts +2 -0
- package/dist/entities/load/index.js +3 -0
- package/dist/entities/load/index.js.map +1 -0
- package/dist/entities/load/load.d.ts +102 -0
- package/dist/entities/load/load.js +224 -0
- package/dist/entities/load/load.js.map +1 -0
- package/dist/entities/loadAdjustment/helper.d.ts +5 -0
- package/dist/entities/loadAdjustment/helper.js +16 -0
- package/dist/entities/loadAdjustment/helper.js.map +1 -0
- package/dist/entities/loadAdjustment/index.d.ts +2 -0
- package/dist/entities/loadAdjustment/index.js +3 -0
- package/dist/entities/loadAdjustment/index.js.map +1 -0
- package/dist/entities/loadAdjustment/loadAdjustment.d.ts +15 -0
- package/dist/entities/loadAdjustment/loadAdjustment.js +48 -0
- package/dist/entities/loadAdjustment/loadAdjustment.js.map +1 -0
- package/dist/{cjs/entities → entities}/location/helper.d.ts +5 -5
- package/dist/entities/location/helper.js +16 -0
- package/dist/entities/location/helper.js.map +1 -0
- package/dist/{cjs/entities → entities}/location/index.d.ts +2 -2
- package/dist/entities/location/index.js +3 -0
- package/dist/entities/location/index.js.map +1 -0
- package/dist/{cjs/entities → entities}/location/location.d.ts +33 -32
- package/dist/entities/location/location.js +47 -0
- package/dist/entities/location/location.js.map +1 -0
- package/dist/{cjs/entities → entities}/marketCosts/helper.d.ts +5 -5
- package/dist/entities/marketCosts/helper.js +16 -0
- package/dist/entities/marketCosts/helper.js.map +1 -0
- package/dist/{cjs/entities → entities}/marketCosts/index.d.ts +2 -2
- package/dist/entities/marketCosts/index.js +3 -0
- package/dist/entities/marketCosts/index.js.map +1 -0
- package/dist/{cjs/entities → entities}/marketCosts/marketCosts.d.ts +22 -22
- package/dist/entities/marketCosts/marketCosts.js +60 -0
- package/dist/entities/marketCosts/marketCosts.js.map +1 -0
- package/dist/{cjs/entities → entities}/quote/helper.d.ts +5 -5
- package/dist/entities/quote/helper.js +16 -0
- package/dist/entities/quote/helper.js.map +1 -0
- package/dist/{cjs/entities → entities}/quote/index.d.ts +2 -2
- package/dist/entities/quote/index.js +3 -0
- package/dist/entities/quote/index.js.map +1 -0
- package/dist/entities/quote/quote.d.ts +76 -0
- package/dist/entities/quote/quote.js +46 -0
- package/dist/entities/quote/quote.js.map +1 -0
- package/dist/entities/quoteAccessorial/helper.d.ts +5 -0
- package/dist/entities/quoteAccessorial/helper.js +16 -0
- package/dist/entities/quoteAccessorial/helper.js.map +1 -0
- package/dist/entities/quoteAccessorial/index.d.ts +2 -0
- package/dist/entities/quoteAccessorial/index.js +3 -0
- package/dist/entities/quoteAccessorial/index.js.map +1 -0
- package/dist/entities/quoteAccessorial/quoteAccessorial.d.ts +29 -0
- package/dist/entities/quoteAccessorial/quoteAccessorial.js +77 -0
- package/dist/entities/quoteAccessorial/quoteAccessorial.js.map +1 -0
- package/dist/entities/quoteResponse/helper.d.ts +5 -0
- package/dist/entities/quoteResponse/helper.js +16 -0
- package/dist/entities/quoteResponse/helper.js.map +1 -0
- package/dist/entities/quoteResponse/index.d.ts +2 -0
- package/dist/entities/quoteResponse/index.js +3 -0
- package/dist/entities/quoteResponse/index.js.map +1 -0
- package/dist/entities/quoteResponse/quoteResponse.d.ts +72 -0
- package/dist/entities/quoteResponse/quoteResponse.js +67 -0
- package/dist/entities/quoteResponse/quoteResponse.js.map +1 -0
- package/dist/entities/shipcon/helper.d.ts +6 -0
- package/dist/entities/shipcon/helper.js +20 -0
- package/dist/entities/shipcon/helper.js.map +1 -0
- package/dist/entities/shipcon/index.d.ts +2 -0
- package/dist/entities/shipcon/index.js +3 -0
- package/dist/entities/shipcon/index.js.map +1 -0
- package/dist/entities/shipcon/shipcon.d.ts +27 -0
- package/dist/entities/shipcon/shipcon.js +74 -0
- package/dist/entities/shipcon/shipcon.js.map +1 -0
- package/dist/helpers.d.ts +18 -0
- package/dist/helpers.js +29 -0
- package/dist/helpers.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/locationsForm/index.d.ts +1 -0
- package/dist/hooks/locationsForm/index.js +2 -0
- package/dist/hooks/locationsForm/index.js.map +1 -0
- package/dist/hooks/locationsForm/locationsForm.d.ts +2 -0
- package/dist/hooks/locationsForm/locationsForm.js +35 -0
- package/dist/hooks/locationsForm/locationsForm.js.map +1 -0
- package/dist/hooks/quote/constants.d.ts +184 -0
- package/dist/hooks/quote/constants.js +140 -0
- package/dist/hooks/quote/constants.js.map +1 -0
- package/dist/hooks/quote/form.d.ts +9 -0
- package/dist/hooks/quote/form.js +203 -0
- package/dist/hooks/quote/form.js.map +1 -0
- package/dist/hooks/quote/helpers.d.ts +39 -0
- package/dist/hooks/quote/helpers.js +366 -0
- package/dist/hooks/quote/helpers.js.map +1 -0
- package/dist/hooks/quote/index.d.ts +5 -0
- package/dist/hooks/quote/index.js +6 -0
- package/dist/hooks/quote/index.js.map +1 -0
- package/dist/hooks/quote/result.d.ts +7 -0
- package/dist/hooks/quote/result.js +196 -0
- package/dist/hooks/quote/result.js.map +1 -0
- package/dist/hooks/quote/template.d.ts +9 -0
- package/dist/hooks/quote/template.js +113 -0
- package/dist/hooks/quote/template.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/locales/index.d.ts +1 -0
- package/dist/locales/index.js +2 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/salesKitEn.d.ts +59 -0
- package/dist/locales/salesKitEn.js +60 -0
- package/dist/locales/salesKitEn.js.map +1 -0
- package/dist/redux/appState.d.ts +4 -0
- package/dist/redux/appState.js +2 -0
- package/dist/redux/appState.js.map +1 -0
- package/dist/redux/customer/customerActions.d.ts +97 -0
- package/dist/redux/customer/customerActions.js +210 -0
- package/dist/redux/customer/customerActions.js.map +1 -0
- package/dist/redux/customer/customerReducer.d.ts +2 -0
- package/dist/redux/customer/customerReducer.js +42 -0
- package/dist/redux/customer/customerReducer.js.map +1 -0
- package/dist/redux/customer/customerSelector.d.ts +27 -0
- package/dist/redux/customer/customerSelector.js +38 -0
- package/dist/redux/customer/customerSelector.js.map +1 -0
- package/dist/redux/customer/customerState.d.ts +11 -0
- package/dist/redux/customer/customerState.js +2 -0
- package/dist/redux/customer/customerState.js.map +1 -0
- package/dist/redux/customer/index.d.ts +4 -0
- package/dist/redux/customer/index.js +5 -0
- package/dist/redux/customer/index.js.map +1 -0
- package/dist/redux/index.d.ts +8 -0
- package/dist/redux/index.js +9 -0
- package/dist/redux/index.js.map +1 -0
- package/dist/redux/load/index.d.ts +4 -0
- package/dist/redux/load/index.js +5 -0
- package/dist/redux/load/index.js.map +1 -0
- package/dist/redux/load/loadActions.d.ts +80 -0
- package/dist/redux/load/loadActions.js +172 -0
- package/dist/redux/load/loadActions.js.map +1 -0
- package/dist/redux/load/loadReducer.d.ts +2 -0
- package/dist/redux/load/loadReducer.js +35 -0
- package/dist/redux/load/loadReducer.js.map +1 -0
- package/dist/redux/load/loadSelector.d.ts +27 -0
- package/dist/redux/load/loadSelector.js +19 -0
- package/dist/redux/load/loadSelector.js.map +1 -0
- package/dist/redux/load/loadState.d.ts +8 -0
- package/dist/redux/load/loadState.js +2 -0
- package/dist/redux/load/loadState.js.map +1 -0
- package/dist/redux/loadAdjustment/index.d.ts +4 -0
- package/dist/redux/loadAdjustment/index.js +5 -0
- package/dist/redux/loadAdjustment/index.js.map +1 -0
- package/dist/redux/loadAdjustment/loadAdjustmentActions.d.ts +80 -0
- package/dist/redux/loadAdjustment/loadAdjustmentActions.js +172 -0
- package/dist/redux/loadAdjustment/loadAdjustmentActions.js.map +1 -0
- package/dist/redux/loadAdjustment/loadAdjustmentReducer.d.ts +2 -0
- package/dist/redux/loadAdjustment/loadAdjustmentReducer.js +35 -0
- package/dist/redux/loadAdjustment/loadAdjustmentReducer.js.map +1 -0
- package/dist/redux/loadAdjustment/loadAdjustmentSelector.d.ts +15 -0
- package/dist/redux/loadAdjustment/loadAdjustmentSelector.js +12 -0
- package/dist/redux/loadAdjustment/loadAdjustmentSelector.js.map +1 -0
- package/dist/redux/loadAdjustment/loadAdjustmentState.d.ts +8 -0
- package/dist/redux/loadAdjustment/loadAdjustmentState.js +2 -0
- package/dist/redux/loadAdjustment/loadAdjustmentState.js.map +1 -0
- package/dist/redux/location/index.d.ts +4 -0
- package/dist/redux/location/index.js +5 -0
- package/dist/redux/location/index.js.map +1 -0
- package/dist/redux/location/locationActions.d.ts +101 -0
- package/dist/redux/location/locationActions.js +218 -0
- package/dist/redux/location/locationActions.js.map +1 -0
- package/dist/redux/location/locationReducer.d.ts +2 -0
- package/dist/redux/location/locationReducer.js +54 -0
- package/dist/redux/location/locationReducer.js.map +1 -0
- package/dist/redux/location/locationSelector.d.ts +53 -0
- package/dist/redux/location/locationSelector.js +32 -0
- package/dist/redux/location/locationSelector.js.map +1 -0
- package/dist/redux/location/locationState.d.ts +15 -0
- package/dist/redux/location/locationState.js +2 -0
- package/dist/redux/location/locationState.js.map +1 -0
- package/dist/{cjs/redux → redux}/quote/index.d.ts +5 -4
- package/dist/redux/quote/index.js +6 -0
- package/dist/redux/quote/index.js.map +1 -0
- package/dist/redux/quote/quoteAction.d.ts +177 -0
- package/dist/redux/quote/quoteAction.js +351 -0
- package/dist/redux/quote/quoteAction.js.map +1 -0
- package/dist/redux/quote/quoteMiddleware.d.ts +2 -0
- package/dist/redux/quote/quoteMiddleware.js +31 -0
- package/dist/redux/quote/quoteMiddleware.js.map +1 -0
- package/dist/redux/quote/quoteReducer.d.ts +27 -0
- package/dist/redux/quote/quoteReducer.js +207 -0
- package/dist/redux/quote/quoteReducer.js.map +1 -0
- package/dist/redux/quote/quoteSelector.d.ts +199 -0
- package/dist/redux/quote/quoteSelector.js +141 -0
- package/dist/redux/quote/quoteSelector.js.map +1 -0
- package/dist/redux/quote/quoteState.d.ts +9 -0
- package/dist/redux/quote/quoteState.js +2 -0
- package/dist/redux/quote/quoteState.js.map +1 -0
- package/dist/redux/quoteAccessorial/index.d.ts +3 -0
- package/dist/redux/quoteAccessorial/index.js +4 -0
- package/dist/redux/quoteAccessorial/index.js.map +1 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialActions.d.ts +70 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialActions.js +149 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialActions.js.map +1 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialReducer.d.ts +2 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialReducer.js +29 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialReducer.js.map +1 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialState.d.ts +8 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialState.js +2 -0
- package/dist/redux/quoteAccessorial/quoteAccessorialState.js.map +1 -0
- package/dist/redux/salesKitReducer.d.ts +25 -0
- package/dist/redux/salesKitReducer.js +18 -0
- package/dist/redux/salesKitReducer.js.map +1 -0
- package/dist/redux/shipcon/index.d.ts +4 -0
- package/dist/redux/shipcon/index.js +5 -0
- package/dist/redux/shipcon/index.js.map +1 -0
- package/dist/redux/shipcon/shipconActions.d.ts +80 -0
- package/dist/redux/shipcon/shipconActions.js +172 -0
- package/dist/redux/shipcon/shipconActions.js.map +1 -0
- package/dist/redux/shipcon/shipconReducer.d.ts +2 -0
- package/dist/redux/shipcon/shipconReducer.js +35 -0
- package/dist/redux/shipcon/shipconReducer.js.map +1 -0
- package/dist/redux/shipcon/shipconSelector.d.ts +22 -0
- package/dist/redux/shipcon/shipconSelector.js +19 -0
- package/dist/redux/shipcon/shipconSelector.js.map +1 -0
- package/dist/redux/shipcon/shipconState.d.ts +8 -0
- package/dist/redux/shipcon/shipconState.js +2 -0
- package/dist/redux/shipcon/shipconState.js.map +1 -0
- package/package.json +41 -70
- package/dist/cjs/components/calendar/calendar.d.ts +0 -5
- package/dist/cjs/components/calendar/day/day.d.ts +0 -8
- package/dist/cjs/components/calendar/day/index.d.ts +0 -1
- package/dist/cjs/components/calendar/day/typings.d.ts +0 -16
- package/dist/cjs/components/calendar/index.d.ts +0 -2
- package/dist/cjs/components/calendar/typings.d.ts +0 -27
- package/dist/cjs/components/customerFinder/customerFinder.d.ts +0 -11
- package/dist/cjs/components/customerFinder/index.d.ts +0 -2
- package/dist/cjs/components/customerFinder/optionTemplate.d.ts +0 -6
- package/dist/cjs/components/index.d.ts +0 -4
- package/dist/cjs/components/locationFinder/editLocation.d.ts +0 -15
- package/dist/cjs/components/locationFinder/index.d.ts +0 -1
- package/dist/cjs/components/locationFinder/locationByAddress.d.ts +0 -18
- package/dist/cjs/components/locationFinder/locationFinder.d.ts +0 -7
- package/dist/cjs/components/locationFinder/locationsFound.d.ts +0 -12
- package/dist/cjs/components/locationFinder/newLocationForm.d.ts +0 -20
- package/dist/cjs/components/locationFinder/optionTemplate.d.ts +0 -8
- package/dist/cjs/components/locationFinder/typings.d.ts +0 -23
- package/dist/cjs/components/salesQuote/components/aboutQuote/aboutQuote.d.ts +0 -5
- package/dist/cjs/components/salesQuote/components/aboutQuote/commodityDescription.d.ts +0 -16
- package/dist/cjs/components/salesQuote/components/aboutQuote/index.d.ts +0 -2
- package/dist/cjs/components/salesQuote/components/aboutQuote/quoteCheck.d.ts +0 -6
- package/dist/cjs/components/salesQuote/components/pallet/editPallet.d.ts +0 -11
- package/dist/cjs/components/salesQuote/components/pallet/palletChecker.d.ts +0 -15
- package/dist/cjs/components/salesQuote/components/pallet/palletCount.d.ts +0 -13
- package/dist/cjs/components/salesQuote/components/quoteCalendar/quoteCalendar.d.ts +0 -24
- package/dist/cjs/components/salesQuote/components/quoteResultAccordion/costBreakdown.d.ts +0 -14
- package/dist/cjs/components/salesQuote/components/quoteResultAccordion/marketCosts.d.ts +0 -7
- package/dist/cjs/components/salesQuote/components/quoteResultAccordion/quoteResultAccessorials.d.ts +0 -13
- package/dist/cjs/components/salesQuote/components/quoteResultAccordion/quoteResultAccordion.d.ts +0 -17
- package/dist/cjs/components/salesQuote/components/quoteSelect.d.ts +0 -4
- package/dist/cjs/components/salesQuote/components/quoteSummary/quoteSummary.d.ts +0 -4
- package/dist/cjs/components/salesQuote/components/quoteSummary/quoteSummaryBody.d.ts +0 -12
- package/dist/cjs/components/salesQuote/components/quoteSummary/quoteSummaryHeader.d.ts +0 -10
- package/dist/cjs/components/salesQuote/components/quoteSummary/typings.d.ts +0 -47
- package/dist/cjs/components/salesQuote/index.d.ts +0 -4
- package/dist/cjs/components/salesQuote/salesQuote.d.ts +0 -17
- package/dist/cjs/components/salesQuote/typings.d.ts +0 -156
- package/dist/cjs/components/shared/bootstrapDialogTitle/bootstrapDialogTitle.d.ts +0 -11
- package/dist/cjs/components/shared/bootstrapDialogTitle/index.d.ts +0 -1
- package/dist/cjs/components/shared/index.d.ts +0 -2
- package/dist/cjs/components/shared/loading/index.d.ts +0 -1
- package/dist/cjs/components/shared/loading/loading.d.ts +0 -6
- package/dist/cjs/components/stop/index.d.ts +0 -2
- package/dist/cjs/components/stop/menuAccessorials.d.ts +0 -27
- package/dist/cjs/components/stop/stop.d.ts +0 -4
- package/dist/cjs/components/stop/stopDetail.d.ts +0 -5
- package/dist/cjs/components/stop/stopDetailHeader.d.ts +0 -6
- package/dist/cjs/entities/index.d.ts +0 -4
- package/dist/cjs/entities/quote/quote.d.ts +0 -80
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.js +0 -3169
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/redux/calendar/calendarSlice.d.ts +0 -12
- package/dist/cjs/redux/calendar/index.d.ts +0 -1
- package/dist/cjs/redux/index.d.ts +0 -3
- package/dist/cjs/redux/nerdSalesKitReducer.d.ts +0 -10
- package/dist/cjs/redux/quote/quoteAction.d.ts +0 -125
- package/dist/cjs/redux/quote/quoteReducer.d.ts +0 -28
- package/dist/cjs/redux/quote/quoteSelector.d.ts +0 -22
- package/dist/cjs/redux/quote/quoteState.d.ts +0 -124
- package/dist/cjs/utils/constants.d.ts +0 -5
- package/dist/cjs/utils/helpers.d.ts +0 -17
- package/dist/cjs/utils/index.d.ts +0 -2
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/helpers.ts","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/calendar/day/day.tsx","../../src/components/calendar/calendar.tsx","../../src/components/customerFinder/optionTemplate.tsx","../../src/components/salesQuote/typings.ts","../../src/entities/customer/customer.ts","../../src/entities/customer/helper.ts","../../src/entities/location/location.ts","../../src/entities/location/helper.ts","../../src/entities/marketCosts/marketCosts.ts","../../src/entities/marketCosts/helper.ts","../../src/entities/quote/quote.ts","../../src/entities/quote/helper.ts","../../src/redux/quote/quoteAction.ts","../../src/redux/quote/quoteReducer.ts","../../src/redux/quote/quoteSelector.ts","../../src/components/shared/loading/loading.tsx","../../src/components/shared/bootstrapDialogTitle/bootstrapDialogTitle.tsx","../../src/redux/calendar/calendarSlice.ts","../../src/redux/nerdSalesKitReducer.ts","../../src/components/salesQuote/components/quoteSelect.tsx","../../src/components/salesQuote/components/pallet/palletCount.tsx","../../src/utils/constants.tsx","../../src/components/salesQuote/components/pallet/palletChecker.tsx","../../src/components/salesQuote/components/pallet/editPallet.tsx","../../src/components/locationFinder/optionTemplate.tsx","../../src/components/locationFinder/locationsFound.tsx","../../src/components/locationFinder/newLocationForm.tsx","../../src/components/locationFinder/editLocation.tsx","../../src/components/locationFinder/locationByAddress.tsx","../../src/components/locationFinder/locationFinder.tsx","../../src/components/stop/stopDetailHeader.tsx","../../src/components/stop/menuAccessorials.tsx","../../src/components/stop/stopDetail.tsx","../../src/components/stop/stop.tsx","../../src/components/salesQuote/components/aboutQuote/commodityDescription.tsx","../../src/components/salesQuote/components/aboutQuote/quoteCheck.tsx","../../src/components/salesQuote/components/aboutQuote/aboutQuote.tsx","../../src/components/salesQuote/components/quoteResultAccordion/marketCosts.tsx","../../src/components/salesQuote/components/quoteResultAccordion/quoteResultAccessorials.tsx","../../src/components/salesQuote/components/quoteResultAccordion/costBreakdown.tsx","../../src/components/salesQuote/components/quoteResultAccordion/quoteResultAccordion.tsx","../../src/components/salesQuote/components/quoteCalendar/quoteCalendar.tsx","../../src/components/salesQuote/components/quoteSummary/quoteSummaryHeader.tsx","../../src/components/salesQuote/components/quoteSummary/quoteSummaryBody.tsx","../../src/components/salesQuote/components/quoteSummary/quoteSummary.tsx","../../src/components/salesQuote/salesQuote.tsx","../../src/components/customerFinder/customerFinder.tsx"],"sourcesContent":["import moment from \"moment\";\n\n/**\n * @param x\n */\nexport function formattedPrice(x: number) {\n const formatter = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n });\n\n return formatter.format(x);\n}\n\n/**\n * @param date\n */\nexport function safariFix(date: string) {\n return date && date.replace && date.replace(/-/g, \"/\");\n}\n\n/**\n * @param {Date | moment} start The start date\n * @param {Date | moment} end The end date\n * @param startDate\n * @param endDate\n * @param {string} type The range type. eg: 'days', 'hours' etc\n */\nexport function getRange(\n startDate: moment.MomentInput,\n endDate: moment.MomentInput,\n type: any = \"days\"\n) {\n const fromDate = moment(startDate);\n const toDate = moment(endDate);\n const diff = toDate.diff(fromDate, type);\n const range = [];\n for (let i = 0; i < diff; i++) {\n range.push(moment(startDate).add(i, type));\n }\n return range;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { createTheme } from \"@mui/material/styles\";\nimport React, { useEffect } from \"react\";\nimport { ICalendarDay } from \"./typings\";\nimport WarningIcon from \"@mui/icons-material/Warning\";\nimport LocalShippingIcon from \"@mui/icons-material/LocalShipping\";\nimport Box from \"@mui/material/Box\";\nimport \"./Day.scss\";\n\nconst DAY_SIZE = 35;\n\n/**\n * @param props\n */\nexport function Day(props: ICalendarDay) {\n const {\n selectable,\n transit,\n pickup,\n color,\n selected,\n grouped,\n first,\n last,\n day,\n onSelect,\n flexible,\n } = props;\n\n const theme = createTheme();\n const [invariantViolation, setInvariantViolation] = React.useState(false);\n\n let background = selectable ? color : undefined;\n if (selected) background = \"white\";\n if (transit) background = theme.palette.mode === \"dark\" ? \"white\" : \"#607d8b\";\n let col = selectable ? \"white\" : undefined;\n if (selected) col = color;\n let width = selected ? DAY_SIZE - 10 : undefined;\n if (transit) width = DAY_SIZE;\n let height = selected ? DAY_SIZE - 10 : undefined;\n if (transit) height = 10;\n if (selectable) {\n height = DAY_SIZE - 12;\n width = DAY_SIZE - 12;\n }\n if (flexible) {\n width = DAY_SIZE;\n height = DAY_SIZE - 12;\n }\n let borderTopLeftRadius = DAY_SIZE;\n if (transit || flexible) borderTopLeftRadius = first ? DAY_SIZE : 0;\n let borderBottomLeftRadius = DAY_SIZE;\n if (transit || flexible) borderBottomLeftRadius = first ? DAY_SIZE : 0;\n let borderTopRightRadius = DAY_SIZE;\n if (transit || flexible) borderTopRightRadius = last ? DAY_SIZE : 0;\n let borderBottomRightRadius = DAY_SIZE;\n if (transit || flexible) borderBottomRightRadius = last ? DAY_SIZE : 0;\n let margin = !transit ? \"4px\" : \"0\";\n if (flexible) margin = \"4px 0px 4px 0px\";\n if (flexible && first) {\n margin = \"4px 0px 4px 4px\";\n width = DAY_SIZE - 4;\n }\n if (flexible && last) {\n margin = \"4px 4px 4px 0px\";\n width = DAY_SIZE - 4;\n }\n\n // This logic represents variations\n useEffect(() => {\n if ((selectable && transit) || (selectable && pickup)) {\n setInvariantViolation(true);\n }\n }, [selectable, transit, pickup]);\n\n if (invariantViolation) {\n return <WarningIcon style={{ color: \"#ff9800\", fontSize: \"19px\" }} />;\n }\n\n return (\n <Box\n component={\"div\"}\n sx={{\n paddingTop: transit ? \"10px\" : \"\",\n paddingBottom: transit ? \"10px\" : \"\",\n width: DAY_SIZE + \"px\",\n }}\n >\n <Box\n component={\"div\"}\n className=\"container-day\"\n onClick={() => {\n if (selectable && onSelect) {\n onSelect(day);\n }\n }}\n sx={{\n cursor: selectable ? \"pointer\" : \"not-allowed\",\n margin,\n background: background,\n color: col,\n width,\n height,\n borderTop: selectable ? `solid 2px ${color}` : \"\",\n borderBottom: selectable ? `solid 2px ${color}` : \"\",\n borderRight:\n (flexible && last) || (selectable && !flexible)\n ? `solid 2px ${color}`\n : \"\",\n borderLeft:\n (flexible && first) || (selectable && !flexible)\n ? `solid 2px ${color}`\n : \"\",\n borderTopLeftRadius,\n borderBottomLeftRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n }}\n >\n {!transit && !pickup && (day as any).format(\"D\")}\n {pickup ? (\n <LocalShippingIcon color=\"inherit\" style={{ fontSize: \"19px\" }} />\n ) : (\n []\n )}\n {selected && grouped && !last ? (\n <div className=\"rightBorderPatch\" />\n ) : (\n []\n )}\n {selected && grouped && !first ? (\n <div className=\"leftBorderPatch\" />\n ) : (\n []\n )}\n </Box>\n </Box>\n );\n}\n\nexport default Day;\n","/* eslint @typescript-eslint/no-var-requires: \"off\" */\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport { nanoid } from \"@reduxjs/toolkit\";\nimport { formattedPrice, safariFix } from \"../../utils/helpers\";\nimport Day from \"./day/day\";\nimport {\n IQuoteCalendar,\n IserviceLevel,\n IserviceLevelWithIcon,\n} from \"./typings\";\nimport \"./calendar.scss\";\nimport Box from \"@mui/material/Box\";\nimport { createTheme } from \"@mui/material/styles\";\n\n// * MomentJS require be used as CJS when we build the library\nconst Moment = require(\"moment\");\nconst MomentRange = require(\"moment-range\");\nconst MomentRangeStaticMethods = require(\"moment-range\");\n\nconst weekDays = [\"s\", \"m\", \"t\", \"w\", \"t\", \"f\", \"s\"];\n\nconst DAY_REF: dayRef = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6,\n};\n\nconst moment = MomentRange.extendMoment(Moment);\n\nexport const Calendar = (props: IQuoteCalendar) => {\n const { serviceLevel, pickupDate, onSelect, selected } = props;\n const theme = createTheme();\n\n // Setup format date\n const pickup: typeof MomentRangeStaticMethods & typeof Moment = moment(\n safariFix(pickupDate as string)\n );\n const from: typeof MomentRangeStaticMethods & typeof Moment = moment(\n safariFix(serviceLevel.from as string)\n );\n const to: typeof MomentRangeStaticMethods & typeof Moment = moment(\n safariFix(serviceLevel.to as string)\n );\n\n // check date format\n const dateError = !pickup.isValid() || !from.isValid() || !to.isValid();\n\n // Set first sunday\n const firstSunday = pickup\n .clone()\n .subtract(DAY_REF[pickup.format(\"dddd\")], \"d\");\n\n // Set last sunday\n const lastSunday = to.clone().add(7 - DAY_REF[to.format(\"dddd\")], \"d\");\n\n switch (lastSunday.diff(firstSunday, \"days\")) {\n case 7:\n lastSunday.add(21, \"d\");\n break;\n case 14:\n lastSunday.add(14, \"d\");\n break;\n case 21:\n lastSunday.add(7, \"d\");\n break;\n default:\n break;\n }\n\n if (dateError) {\n return <div>Error: Check date</div>;\n }\n\n return (\n <Box\n component={\"div\"}\n sx={{\n color: theme.palette.mode === \"dark\" ? \"white\" : \"#607d8b\",\n padding: \"0px 10px 0px 10px\",\n }}\n >\n <Grid container justifyContent={\"space-between\"}>\n <Grid item>\n <Grid container alignItems=\"center\" spacing={1}>\n <Grid item>\n <img\n src={serviceLevel.iconProps.icon}\n alt={serviceLevel.serviceLevel}\n style={{ width: 35 }}\n />\n </Grid>\n <Grid item>\n <Typography\n display=\"block\"\n variant=\"h6\"\n style={{\n color: serviceLevel.iconProps.color,\n textTransform: \"capitalize\",\n }}\n >\n {serviceLevel.serviceLevel}\n </Typography>\n <Typography display=\"block\" style={{ marginTop: -6 }}>\n {serviceLevel.description}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n <Grid item>\n <Typography display=\"block\" variant=\"h6\">\n {formattedPrice(serviceLevel.totalRate)}\n </Typography>\n </Grid>\n </Grid>\n <CalendarDaysWrapper />\n <Grid item>\n <Typography display=\"block\" color=\"#607d8b\" variant=\"caption\">\n {pickup.format(\"MMMM YY\")}\n </Typography>\n </Grid>\n <Box component=\"div\" className=\"calendar-container\">\n {genCalendar({\n firstSunday,\n from,\n to,\n pickup,\n lastSunday,\n serviceLevel,\n onSelect,\n selected,\n })}\n </Box>\n </Box>\n );\n};\n\n/**\n *\n */\nfunction CalendarDaysWrapper() {\n return (\n <Box\n component={\"div\"}\n className=\"calendar-container\"\n sx={{\n justifyContent: \"space-between\",\n padding: \"0px 15px 0px 10px\",\n textAlign: \"center\",\n marginTop: 2.5,\n color: \"#607d8b\",\n }}\n >\n {weekDays.map((weekDay) => (\n <Typography\n display=\"block\"\n color=\"inherit\"\n style={{ fontWeight: 600 }}\n key={nanoid()}\n >\n {weekDay.toUpperCase()}\n </Typography>\n ))}\n </Box>\n );\n}\n\n/**\n * @param root0\n * @param root0.firstSunday\n * @param root0.from\n * @param root0.to\n * @param root0.pickup\n * @param root0.lastSunday\n * @param root0.serviceLevel\n * @param root0.onSelect\n * @param root0.selected\n */\nfunction genCalendar({\n firstSunday,\n from,\n to,\n pickup,\n lastSunday,\n serviceLevel,\n onSelect,\n selected,\n}: {\n firstSunday: typeof Moment;\n from: typeof Moment;\n to: typeof Moment;\n pickup: typeof Moment;\n lastSunday: typeof Moment;\n serviceLevel: IserviceLevelWithIcon;\n onSelect: ({\n date,\n element,\n }: {\n date: string;\n element: IserviceLevel;\n }) => void;\n selected?: any;\n}) {\n const JSX: JSX.Element[] = [];\n const d = firstSunday.clone();\n const serviceLevelRange = moment().range(from, to);\n const firstTransitDay = pickup.clone().add(1, \"d\");\n const lastTransitDay = from.clone().subtract(1, \"d\");\n const transitRange = moment().range(firstTransitDay, lastTransitDay);\n\n while (!d.isSame(lastSunday, \"day\")) {\n JSX.push(\n <Day\n day={d.clone()}\n key={d.toDate().getTime()}\n selectable={serviceLevelRange.contains(d)}\n grouped={serviceLevel.grouped! && serviceLevelRange.contains(d)}\n color={serviceLevel.iconProps.color}\n onSelect={(daySelected: typeof Moment) =>\n onSelect({\n date: daySelected.format(\"YYYY-MM-DD\"),\n element: serviceLevel,\n })\n }\n pickup={d.isSame(pickup, \"day\")}\n transit={transitRange.contains(d)}\n flexible={serviceLevel.flexible && serviceLevelRange.contains(d)}\n selected={\n selected &&\n selected.element.serviceLevel === serviceLevel.serviceLevel &&\n (serviceLevel.flexible\n ? serviceLevelRange.contains(d)\n : d.isSame(moment(selected.date), \"day\"))\n }\n first={d.isSame(firstTransitDay, \"day\") || d.isSame(from, \"day\")}\n last={d.isSame(lastTransitDay, \"day\") || d.isSame(to, \"day\")}\n />\n );\n d.add(1, \"d\");\n }\n\n return JSX;\n}\n\ntype dayRef = {\n [name: string]: number;\n};\n\nexport default Calendar;\n","import Avatar from \"@mui/material/Avatar\";\nimport Box from \"@mui/material/Box\";\nimport CardHeader from \"@mui/material/CardHeader\";\nimport { blue } from \"@mui/material/colors\";\nimport React from \"react\";\nimport CorporateFareIcon from \"@mui/icons-material/CorporateFare\";\n\nexport const RenderOptionTemplate = ({\n renderOptionProps,\n option,\n}: {\n renderOptionProps: React.HTMLAttributes<HTMLLIElement>;\n option: any;\n}) => {\n return (\n <Box\n component=\"li\"\n sx={{\n backgroundColor: \"transparent\",\n svg: { flexShrink: 0, color: \"white\" },\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(0, 0, 0, 0.08)\",\n },\n }}\n {...renderOptionProps}\n >\n <CardHeader\n avatar={\n <Avatar\n sx={{\n bgcolor: blue[500],\n }}\n aria-label={\"Customer\"}\n >\n <CorporateFareIcon fontSize=\"medium\" />\n </Avatar>\n }\n title={setTemplateContentByType(option)}\n titleTypographyProps={{\n fontWeight: \"500\",\n variant: \"body1\",\n }}\n subheader={setTemplateContentByType(option)}\n sx={{\n py: 1,\n px: 1,\n }}\n />\n </Box>\n );\n};\n\n/**\n * @param option\n */\nfunction setTemplateContentByType(option: any) {\n return option.name;\n}\n\nexport default RenderOptionTemplate;\n","import { SelectChangeEvent } from \"@mui/material/Select\";\nimport { ThemeOptions } from \"@mui/material/styles\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\nimport { IselectedDateRangeState } from \"../../redux/calendar\";\nimport { IQuoteState } from \"../../redux/quote/quoteReducer\";\nimport {\n IAccessorial,\n IAccessorialObj,\n IQuoteForm,\n IStateShippers,\n} from \"../../redux/quote/quoteState\";\n\nexport type salesQuoteProps = {\n dispatch: Dispatch<AnyAction>;\n theme: ThemeOptions;\n nerdSalesKitState: {\n quoteState: IQuoteState;\n selectedDateRange: IselectedDateRangeState;\n };\n t: any;\n networkCompletionStack: Record<string, boolean>[];\n isCustomer: boolean;\n appConfigServiceLevels: AppConfigServiceLevelsType;\n};\n\nexport type AppConfigServiceLevelsType = {\n [name: string]: {\n [name: string]: string;\n };\n};\n\ninterface IGoogleService {\n maps: typeof google.maps;\n}\n\nexport type ServiceContextType = {\n googleService: IGoogleService;\n quoteState: IQuoteState;\n t: any;\n isMobile: boolean;\n appConfigServiceLevels: AppConfigServiceLevelsType;\n};\n\nexport interface IQuoteObjProps {\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n isCustomer: boolean;\n children: React.ReactNode | undefined;\n submitForm: () => void;\n}\n\nexport type nerdSalesQuoteCheckProps = {\n onChange: (event: SelectChangeEvent, type: string) => void;\n service: string;\n mode: string;\n isMobile?: boolean;\n dispatch: Dispatch<AnyAction>;\n state: IQuoteForm;\n};\n\nexport interface IQuoteSelect {\n isMobile: boolean;\n selectOptions: string[];\n onChange: (event: SelectChangeEvent) => void;\n value: string;\n labelId: string;\n inputLabel?: string;\n label?: string;\n required: boolean;\n}\n\nexport interface IPallet {\n key?: number;\n index?: number;\n classes?: object;\n count: number | string;\n length: number;\n width: number;\n height: number;\n units: string;\n stackable: boolean;\n remaining?: boolean;\n disabled?: boolean;\n onDelete?: () => void;\n type?: string;\n onDimensionEdit?: () => void;\n}\n\nexport interface IShippers {\n zip: number | string;\n facility?: string;\n locationId?: number;\n accessorialIds: number[];\n date: Date | string | null;\n}\n\nexport interface IPickDropCard {\n stopPickArray: IPickStopCard[];\n card?: React.ElementType<unknown>;\n onCloseCard?: (index: number) => void;\n quoteAccessorials: IAccessorialObj[];\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n disabled?: boolean;\n}\n\nexport interface IPickStopCard {\n zip: string;\n facility: string;\n accessorialIds: string[];\n date: Date | null;\n}\n\nexport interface IStopDetail {\n CardContainer: any;\n stopCard: IShippers;\n stopCardIndex: number;\n openCard: boolean;\n onCloseCard: (i: number) => void;\n quoteAccessorials: Array<IAccessorialObj>;\n stopType: string;\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n onChange?: (stopDetailData: IShippers | IStateShippers) => void;\n}\n\nexport interface IStop extends Partial<IStopDetail> {\n stopCards: IShippers[];\n stopType: string;\n disabled?: boolean;\n addMoreStopHandler?: (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => void;\n accessorials: IAccessorial;\n serviceType: string;\n}\n\nexport interface IStopDetailHeaderProps {\n type: string;\n index: number;\n}\n\nexport interface IMenuAccessorials {\n anchorEl: HTMLElement | null;\n openAccessorials: boolean;\n handleClose: () => void;\n copyAccessorials: Array<IAccessorialObj>;\n handleSelectAccessorial: (i: number) => void;\n}\n\nexport interface ICustomer {\n id: number;\n name: string;\n company_id: number;\n credit_on_hold: boolean;\n inactivity_hold: boolean;\n credit_term_id: number;\n line1: string;\n city: string;\n state: string;\n zip: string;\n is_active: boolean;\n credit_term_name: string;\n}\n\n// Enums\n\nexport enum QuoteAuxContent {\n LTL = \"LTL\",\n EXPEDITED = \"Expedited\",\n TL = \"TL\",\n FEET = \"feet\",\n DRY = \"Dry\",\n REEFER = \"Reefer\",\n CONSIGNEE = \"Drop-off\",\n SHIPPER = \"Pick-up\",\n DROP_OFF = \"Drop-off\",\n PICK_UP = \"Pick-up\",\n INCHES = \"inches\",\n}\n","/**\n * Customer type guard.\n *\n * @param {any} customerJson Customer object from API\n * @returns {boolean} Return true if type is Customer_Entity\n */\nfunction isCustomer_Entity(\n customerJson: unknown\n): customerJson is Customer_Entity {\n if (typeof customerJson === \"object\" && customerJson != null) {\n Customer_Entity.requiredFields.forEach((element) => {\n if (!Object.keys(customerJson).includes(element))\n throw new Error(`Field ${element} is null or undefined`);\n });\n }\n return true;\n}\n\nexport default class Customer_Entity {\n static requiredFields = [\n \"id\",\n \"name\",\n \"company_id\",\n \"credit_on_hold\",\n \"inactivity_hold\",\n \"credit_term_id\",\n \"line1\",\n \"city\",\n \"state\",\n \"zip\",\n \"is_active\",\n \"credit_term_name\",\n ];\n\n constructor(customerJson: unknown) {\n if (isCustomer_Entity(customerJson)) {\n this.id = customerJson.id;\n this.name = customerJson.name;\n this.company_id = customerJson.company_id;\n this.credit_on_hold = customerJson.credit_on_hold;\n this.inactivity_hold = customerJson.inactivity_hold;\n this.credit_term_id = customerJson.credit_term_id;\n this.line1 = customerJson.line1;\n this.city = customerJson.city;\n this.state = customerJson.state;\n this.zip = customerJson.zip;\n this.is_active = customerJson.is_active;\n this.credit_term_name = customerJson.credit_term_name;\n } else {\n throw new Error(\n `Failed to create new instance of ${Customer_Entity.name}`\n );\n }\n }\n\n id: number;\n name: string;\n company_id: number;\n credit_on_hold: boolean;\n inactivity_hold: boolean;\n credit_term_id: number;\n line1: string;\n city: string;\n state: string;\n zip: string;\n is_active: boolean;\n credit_term_name: string;\n}\n","import Customer_Entity from \"./customer\";\n\nexport default class Customer extends Customer_Entity {\n static fromList(customersJSON: unknown): Array<Customer> {\n const customers: Customer[] = [];\n if (customersJSON)\n Array.isArray(customersJSON) &&\n customersJSON.forEach((userJSON) => {\n customers.push(new Customer(userJSON));\n });\n return customers;\n }\n\n toJson(): string {\n return JSON.stringify(this);\n }\n}\n","/**\n * Customer type guard.\n *\n * @param {any} locationJson Customer object from API\n * @returns {boolean} Return true if type is Customer_Entity\n */\nfunction isLocation_Entity(\n locationJson: unknown\n): locationJson is Location_Entity {\n if (typeof locationJson === \"object\" && locationJson != null) {\n Location_Entity.requiredFields.forEach((element) => {\n if (!Object.keys(locationJson).includes(element))\n throw new Error(`Field ${element} is null or undefined`);\n });\n }\n return true;\n}\n\nexport default class Location_Entity {\n static requiredFields = [\n \"id\",\n \"name\",\n \"contact\",\n \"phone\",\n \"accessorials\",\n \"address\",\n ];\n\n constructor(customerJson: unknown) {\n if (isLocation_Entity(customerJson)) {\n this.id = customerJson.id;\n this.name = customerJson.name;\n this.contact = customerJson.contact;\n this.phone = customerJson.phone;\n this.accessorials = customerJson.accessorials;\n this.address = customerJson.address;\n } else {\n throw new Error(\n `Failed to create new instance of ${Location_Entity.name}`\n );\n }\n }\n\n id: number;\n name: string;\n contact: string;\n phone: string;\n accessorials: {\n [key: string]: [\n {\n accessorialId: number;\n costAmount: number;\n name: string;\n }\n ];\n };\n address: {\n formattedAddress: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n latitude: number;\n longitude: number;\n timezone: string;\n verified: boolean;\n terminal_distance: number;\n placeId: string;\n };\n}\n","import Location_Entity from \"./location\";\n\nexport default class Location extends Location_Entity {\n static fromList(locationJSON: unknown): Array<Location> {\n const locations: Location[] = [];\n if (locationJSON)\n Array.isArray(locationJSON) &&\n locationJSON.forEach((locationJSON) => {\n locations.push(new Location(locationJSON));\n });\n return locations;\n }\n\n toJson(): string {\n return JSON.stringify(this);\n }\n}\n","/**\n * Market Costs type guard.\n *\n * @param {any} marketCostsJSON Quote object from API\n * @returns {boolean} Return true if type is MarketCosts_Entity\n */\nfunction isMarketCosts_Entity(\n marketCostsJSON: unknown\n): marketCostsJSON is MarketCosts_Entity {\n if (typeof marketCostsJSON === \"object\" && marketCostsJSON != null) {\n MarketCosts_Entity.requiredFields.forEach((element) => {\n if (!Object.keys(marketCostsJSON).includes(element))\n throw new Error(`Field ${element} is null or undefined`);\n });\n }\n return true;\n}\n\nexport default class MarketCosts_Entity {\n static requiredFields = [\n \"id\",\n \"total_cost\",\n \"total_cost_with_margin\",\n \"margin\",\n \"otr_miles\",\n \"fuel_cost\",\n \"linehaul_cost\",\n \"truckload_total_cost\",\n \"ltl_pallet_percentage\",\n \"stop_fees\",\n \"market_data\",\n ];\n\n constructor(marketCostsJSON: unknown) {\n if (isMarketCosts_Entity(marketCostsJSON)) {\n this.id = marketCostsJSON.id;\n this.total_cost = marketCostsJSON.total_cost;\n this.total_cost_with_margin = marketCostsJSON.total_cost_with_margin;\n this.margin = marketCostsJSON.margin;\n this.otr_miles = marketCostsJSON.otr_miles;\n this.fuel_cost = marketCostsJSON.fuel_cost;\n this.linehaul_cost = marketCostsJSON.linehaul_cost;\n this.truckload_total_cost = marketCostsJSON.truckload_total_cost;\n this.ltl_pallet_percentage = marketCostsJSON.ltl_pallet_percentage;\n this.stop_fees = marketCostsJSON.stop_fees;\n this.market_data = marketCostsJSON.market_data;\n } else {\n throw new Error(\n `Failed to create new instance of ${MarketCosts_Entity.name}`\n );\n }\n }\n\n id: number;\n total_cost: number;\n total_cost_with_margin: number;\n margin: number;\n otr_miles: number;\n fuel_cost: number;\n linehaul_cost: number;\n truckload_total_cost: number;\n ltl_pallet_percentage: number;\n stop_fees: number;\n market_data: {\n fuel_rate: number;\n linehaul_rate: number;\n linehaul_total: number;\n market_type: string;\n market_lane: string;\n market_days: number;\n };\n}\n","import MarketCosts_Entity from \"./marketCosts\";\n\nexport default class MarketCosts extends MarketCosts_Entity {\n static fromList(quoteJSON: unknown): Array<MarketCosts> {\n const quotes: MarketCosts[] = [];\n if (quoteJSON)\n Array.isArray(quoteJSON) &&\n quoteJSON.forEach((quoteJSON) => {\n quotes.push(new MarketCosts(quoteJSON));\n });\n return quotes;\n }\n\n toJson(): string {\n return JSON.stringify(this);\n }\n}\n","/**\n * Quote type guard.\n *\n * @param {any} quoteJson Quote object from API\n * @returns {boolean} Return true if type is Quote_Entity\n */\nfunction isQuote_Entity(quoteJson: unknown): quoteJson is Quote_Entity {\n if (typeof quoteJson === \"object\" && quoteJson != null) {\n Quote_Entity.requiredFields.forEach((element) => {\n if (!Object.keys(quoteJson).includes(element))\n throw new Error(`Field ${element} is null or undefined`);\n });\n }\n return true;\n}\n\nexport default class Quote_Entity {\n static requiredFields = [\n \"id\",\n \"customerId\",\n \"customerName\",\n \"createdAt\",\n \"commodityDescription\",\n \"commodityDescriptionId\",\n \"pallets\",\n \"pieces\",\n \"dryVanOnly\",\n \"feet\",\n \"weight\",\n \"type\",\n \"stops\",\n \"serviceLevels\",\n \"units\",\n \"api\",\n \"version\",\n ];\n\n constructor(quoteJson: unknown) {\n if (isQuote_Entity(quoteJson)) {\n this.id = quoteJson.id;\n this.customerId = quoteJson.customerId;\n this.customerName = quoteJson.customerName;\n this.createdAt = quoteJson.createdAt;\n this.commodityDescription = quoteJson.commodityDescription;\n this.commodityDescriptionId = quoteJson.commodityDescriptionId;\n this.totalMiles = quoteJson.totalMiles;\n this.pallets = quoteJson.pallets;\n this.pieces = quoteJson.pieces;\n this.freightClass = quoteJson.freightClass;\n this.dryVanOnly = quoteJson.dryVanOnly;\n this.feet = quoteJson.feet;\n this.weight = quoteJson.weight;\n this.type = quoteJson.type;\n this.stops = quoteJson.stops;\n this.serviceLevels = quoteJson.serviceLevels;\n this.accessorials = quoteJson.accessorials;\n this.units = quoteJson.units;\n this.api = quoteJson.api;\n this.version = quoteJson.version;\n this.transitTime = quoteJson.transitTime;\n this.temp = quoteJson.temp;\n } else {\n throw new Error(`Failed to create new instance of ${Quote_Entity.name}`);\n }\n }\n\n id: number;\n customerId: number;\n customerName: string;\n createdAt: string;\n commodityDescription: string;\n commodityDescriptionId: number;\n totalMiles?: number;\n pallets: number;\n pieces: number;\n freightClass?: string;\n dryVanOnly: boolean;\n feet: number;\n weight: number;\n type: string;\n stops: [\n {\n id: number;\n name: string;\n type: string;\n date: string;\n city: string;\n state: string;\n zip: string;\n address: {\n locationId: number | null;\n line1: string;\n line2?: string;\n city: string;\n state: string;\n zip: string;\n latitude: number;\n longitude: number;\n };\n }\n ];\n serviceLevels: [\n {\n id: string;\n description: string;\n serviceLevel: string;\n baseRate: number;\n extra: number;\n fuelRate: number;\n totalRate: number;\n flexible: boolean;\n from: string;\n to: string;\n }\n ];\n accessorials?: [\n {\n costAmount: number;\n name: string;\n accessorialId: number;\n stopId: number;\n stopName: string;\n }\n ];\n units: {\n palletDimensions: [\n {\n units: string;\n length: number;\n width: number;\n height: number;\n count: string;\n }\n ];\n totalDimensions: {\n totalWeight: string;\n };\n };\n api: string;\n version: number;\n transitTime?: number;\n temp?: string;\n}\n","import Quote_Entity from \"./quote\";\n\nexport default class QuoteRequest extends Quote_Entity {\n static fromList(quoteJSON: unknown): Array<QuoteRequest> {\n const quotes: QuoteRequest[] = [];\n if (quoteJSON)\n Array.isArray(quoteJSON) &&\n quoteJSON.forEach((quoteJSON) => {\n quotes.push(new QuoteRequest(quoteJSON));\n });\n return quotes;\n }\n\n toJson(): string {\n return JSON.stringify(this);\n }\n}\n","import { GetAction, PostAction, PutAction } from \"@nerdjs/nerd-network\";\nimport { createAction, Dispatch, nanoid } from \"@reduxjs/toolkit\";\nimport { IPallet } from \"../../components/salesQuote/typings\";\nimport Customer from \"../../entities/customer/helper\";\nimport Location from \"../../entities/location/helper\";\nimport MarketCosts from \"../../entities/marketCosts/helper\";\nimport QuoteRequest from \"../../entities/quote/helper\";\nimport {\n ApiError,\n IAccessorial,\n IAccessorialObj,\n ICommodityDescription,\n ICostBreakdown,\n INewLocation,\n IPalletUnits,\n IQuoteForm,\n} from \"./quoteState\";\n\nexport const getQuoteAccessorials = createAction(\n \"newQuote/getAccessorials\",\n function prepare() {\n const request = new GetAction(\"/quote-service/accessorials\");\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const accessorials = json as IAccessorial;\n dispatch(getQuoteAccessorialsSuccess(accessorials));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getQuoteAccessorialsSuccess = createAction(\n \"quote/getQuoteSuccess\",\n function prepare(accessorials: {\n ltlAccessorials: IAccessorialObj[];\n tlAccessorials: IAccessorialObj[];\n }) {\n return {\n payload: {\n accessorials,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Get commodity description\nexport const getQuoteCommodityDescription = createAction(\n \"newQuote/getQuoteCommodityDescription\",\n function prepare() {\n const request = new GetAction(\"/commodity_descriptions\", {}, \"v1\");\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const commodity_descriptions = json as ICommodityDescription[];\n dispatch(getQuoteCommodityDescirptionSuccess(commodity_descriptions));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getQuoteCommodityDescirptionSuccess = createAction(\n \"quote/getCommodityDescriptionSuccess\",\n function prepare(commodityDescriptions: ICommodityDescription[]) {\n return {\n payload: {\n commodityDescriptions,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Store Pallet\nexport const storePallets = createAction(\n \"quote/storePallets\",\n function prepare(pallets: IPallet[]) {\n const request = new PostAction(\"/quote-service/pallets\", pallets);\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const pallet = json as IPalletUnits;\n dispatch(storePalletUnitSuccess(pallet));\n dispatch(storePalletError({ uuid: \"\", status: 0 }));\n };\n\n return {\n payload: {\n id: nanoid(),\n createdAt: new Date().toISOString(),\n request,\n },\n };\n }\n);\n\nexport const storePalletUnitSuccess = createAction(\n \"quote/storePalletUnitSuccess\",\n function prepare(units: IPalletUnits) {\n return {\n payload: {\n units,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\nexport const storePalletError = createAction(\n \"quote/storePalletError\",\n function prepare(error: ApiError) {\n return {\n payload: {\n error,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Search customer\nexport const getCustomers = createAction(\n \"customers/search/getCustomers\",\n function prepare(query: { [key: string]: unknown }) {\n const request = new GetAction(\"/customers/search\", query, \"v1\");\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const customers = Customer.fromList(json);\n dispatch(getCustomersSuccess(customers));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getCustomersSuccess = createAction(\n \"customers/search/getCustomersSuccess\",\n function prepare(customers: Customer[]) {\n return {\n payload: {\n customers,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Facility search\nexport const getFacility = createAction(\n \"locations/search/getFacility\",\n function prepare(query: { [key: string]: unknown }) {\n const request = new GetAction(\"/locations/search\", query);\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const locations = Location.fromList(json);\n dispatch(getArcherLocationsSuccess(locations));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getArcherLocationsSuccess = createAction(\n \"locations/search/getArcherLocationsSuccess\",\n function prepare(locations: Location[]) {\n return {\n payload: {\n locations,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\nexport const removeArcherLocations = createAction(\n \"locations/search/removeArcherLocations\",\n function prepare() {\n return {\n payload: {},\n };\n }\n);\n\n// Facility search\nexport const storeNewLocation = createAction(\n \"locations/saveNewLocation\",\n function prepare(newLocation: INewLocation) {\n const request = new PostAction(\"/locations\", newLocation);\n\n request.decodeResponse = (dispatch: Dispatch) => {\n dispatch(setSavingActionLocation(true, \"POST\"));\n };\n\n return {\n payload: {\n id: nanoid(),\n createdAt: new Date().toISOString(),\n request,\n },\n };\n }\n);\n\nexport const setSavingActionLocation = createAction(\n \"locations/setSavingActionLocation\",\n function prepare(isSuccess: boolean, method: string) {\n return {\n payload: {\n changeLocationSucess: {\n isSuccess,\n method,\n },\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Facility search\nexport const updateLocation = createAction(\n \"locations/updateLocation\",\n function prepare(id: number, newLocation: Omit<INewLocation, \"address\">) {\n const request = new PutAction(`/locations/${id}`, newLocation);\n\n request.decodeResponse = (dispatch: Dispatch) => {\n dispatch(setSavingActionLocation(true, \"PUT\"));\n };\n\n return {\n payload: {\n id: nanoid(),\n createdAt: new Date().toISOString(),\n request,\n },\n };\n }\n);\n\n// Store QuoteForm\nexport const storeQuoteFormData = createAction(\n \"locations/storeQuoteFormData\",\n function prepare(quoteFormData: Partial<IQuoteForm>) {\n return {\n payload: {\n quoteFormData,\n },\n };\n }\n);\n\n// Store QuoteForm\nexport const setIsQuoteFormSubmitted = createAction(\n \"quote/isQuoteFormSubmitted\",\n function prepare(isQuoteFormSubmitted: boolean) {\n return {\n payload: {\n isQuoteFormSubmitted,\n },\n };\n }\n);\n\n// POST Form\nexport const sendFormData = createAction(\n \"quote-service/quotes/multistop\",\n function prepare(quoteFormData: IQuoteForm) {\n const request = new PostAction(\n `/quote-service/quotes/multistop`,\n quoteFormData\n );\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const quoteResponse = new QuoteRequest(json);\n dispatch(getQuoteResponseSuccess(quoteResponse));\n };\n\n return {\n payload: {\n id: nanoid(),\n createdAt: new Date().toISOString(),\n request,\n },\n };\n }\n);\n\nexport const getQuoteResponseSuccess = createAction(\n \"quote/getQuoteResponseSuccess\",\n function prepare(quoteResponse: QuoteRequest) {\n return {\n payload: {\n quoteResponse,\n },\n };\n }\n);\n\n// Get Market Costs\nexport const getMarketCosts = createAction(\n \"quote/getMarketCosts\",\n function prepare(quoteId: number) {\n const request = new GetAction(`/quotes/${quoteId}/market_costs`, {}, \"v1\");\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const marketCosts = new MarketCosts(json);\n dispatch(getMarketCostsSuccess(marketCosts));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getMarketCostsSuccess = createAction(\n \"quote/getMarketCosts/getMarketCostsSuccess\",\n function prepare(marketCosts: MarketCosts) {\n return {\n payload: {\n marketCosts,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n\n// Get QuoteById\nexport const getQuoteById = createAction(\n \"quote-service/quotes/:id\",\n function prepare(quoteId: number) {\n const request = new GetAction(`/quote-service/quotes/${quoteId}`);\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const quoteResponse = new QuoteRequest(json);\n dispatch(getQuoteResponseSuccess(quoteResponse));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\n// Get QuoteById\nexport const getQuotePathEdgeCosts = createAction(\n \"quote_path_edge_costs\",\n function prepare(query: { [key: string]: unknown }) {\n const request = new GetAction(`/quote_path_edge_costs`, query, \"v1\");\n\n request.decodeResponse = (dispatch: Dispatch, json: unknown) => {\n const costBreakdown = json as ICostBreakdown[];\n dispatch(getQuotePathEdgeCostsSucess(costBreakdown));\n };\n\n return {\n payload: {\n id: nanoid(),\n request,\n },\n };\n }\n);\n\nexport const getQuotePathEdgeCostsSucess = createAction(\n \"quote/quote_path_edge_costs/getQuotePathEdgeCostsSucess\",\n function prepare(costsBreakdown: ICostBreakdown[]) {\n return {\n payload: {\n costsBreakdown,\n id: nanoid(),\n createdAt: new Date().toISOString(),\n },\n };\n }\n);\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { ReducerWithInitialState } from \"@reduxjs/toolkit/dist/createReducer\";\nimport { QuoteAuxContent } from \"../../components/salesQuote/typings\";\nimport Customer from \"../../entities/customer/helper\";\nimport Location from \"../../entities/location/helper\";\nimport MarketCosts from \"../../entities/marketCosts/helper\";\nimport QuoteRequest from \"../../entities/quote/helper\";\nimport {\n getArcherLocationsSuccess,\n getCustomersSuccess,\n getQuoteAccessorialsSuccess,\n getQuoteCommodityDescirptionSuccess,\n removeArcherLocations,\n setSavingActionLocation,\n storeNewLocation,\n storePalletError,\n storePalletUnitSuccess,\n updateLocation,\n storeQuoteFormData,\n setIsQuoteFormSubmitted,\n getQuoteResponseSuccess,\n getMarketCostsSuccess,\n getQuotePathEdgeCostsSucess,\n} from \"./quoteAction\";\n\nimport {\n ApiError,\n IAccessorialObj,\n ICommodityDescription,\n ICostBreakdown,\n IPalletUnits,\n IQuoteForm,\n} from \"./quoteState\";\n\nexport interface IQuoteState {\n accessorials: {\n ltlAccessorials: IAccessorialObj[];\n tlAccessorials: IAccessorialObj[];\n };\n commodity_descriptions: ICommodityDescription[];\n units: IPalletUnits;\n error: ApiError;\n customers: Customer[];\n archerLocations: Location[];\n newLocation: Partial<Location>;\n changeLocationSucess: {\n isSuccess: boolean;\n method: string;\n };\n quoteFormData: IQuoteForm;\n isQuoteFormSubmitted: boolean;\n quoteResponse: QuoteRequest;\n marketCosts: MarketCosts;\n costsBreakdown: ICostBreakdown[];\n}\n\nconst initState: IQuoteState = {\n accessorials: {\n ltlAccessorials: [],\n tlAccessorials: [],\n },\n commodity_descriptions: [],\n units: {\n feet: 0,\n height: 0,\n palletPositions: 0,\n pallets: 0,\n pieces: 0,\n weight: 0,\n },\n error: {\n uuid: \"\",\n status: 0,\n },\n customers: [],\n archerLocations: [],\n newLocation: {},\n changeLocationSucess: {\n isSuccess: false,\n method: \"\",\n },\n quoteFormData: {\n service: QuoteAuxContent.LTL,\n commodityDescriptionId: 0,\n freightClass: \"\",\n mode: QuoteAuxContent.DRY,\n dryVanOnly: false,\n shippers: [],\n consignees: [],\n units: {\n palletDimensions: [],\n totalDimensions: {\n totalWeight: \"\",\n },\n },\n reefer: {\n reeferTemp: \"\",\n reeferCont: false,\n },\n },\n isQuoteFormSubmitted: false,\n quoteResponse: {} as QuoteRequest,\n marketCosts: {} as MarketCosts,\n costsBreakdown: [],\n};\n\nexport const quoteReducer: ReducerWithInitialState<IQuoteState> = createReducer(\n initState,\n (builder) => {\n builder.addCase(getQuoteAccessorialsSuccess, (state, action) => {\n console.log(\n \"[nerd-sales-kit]: getQuoteAccessorialsSuccess\",\n action.payload\n );\n state.accessorials = {\n ltlAccessorials: action.payload.accessorials.ltlAccessorials,\n tlAccessorials: action.payload.accessorials.tlAccessorials,\n };\n return state;\n });\n builder.addCase(getQuoteCommodityDescirptionSuccess, (state, action) => {\n console.log(\n \"[nerd-sales-kit]: getQuoteCommodityDescriptionSuccess\",\n action.payload\n );\n console.log(\"STATEABOUT\", action.payload.commodityDescriptions);\n state.commodity_descriptions = action.payload.commodityDescriptions;\n\n return state;\n });\n\n builder.addCase(storePalletUnitSuccess, (state, action) => {\n console.log(\"[nerd-sales-kit]: storePalletUnitSuccess\", action.payload);\n state.units = action.payload.units;\n\n return state;\n });\n\n builder.addCase(storePalletError, (state, action) => {\n console.log(\"[nerd-sales-kit]: storePalletError\", action.payload);\n // console.log(\"ERROR\", action.payload.errors)\n state.error = action.payload.error;\n\n return state;\n });\n\n builder.addCase(getCustomersSuccess, (state, action) => {\n console.log(\"[nerd-sales-kit]: getCustomersSuccess\", action.payload);\n state.customers = [...action.payload.customers];\n\n return state;\n });\n\n builder.addCase(getArcherLocationsSuccess, (state, action) => {\n console.log(\n \"[nerd-sales-kit]: getArcherLocationsSuccess\",\n action.payload\n );\n state.archerLocations = [...action.payload.locations];\n\n return state;\n });\n\n builder.addCase(removeArcherLocations, (state, action) => {\n console.log(\"[nerd-sales-kit]: removeArcherLocations\", action.payload);\n state.archerLocations = [];\n\n return state;\n });\n\n builder.addCase(storeNewLocation, (state, action) => {\n console.log(\"[nerd-sales-kit]: storeNewLocation\", action.payload);\n state.newLocation = action.payload.request.body;\n\n return state;\n });\n\n builder.addCase(updateLocation, (state, action) => {\n console.log(\"[nerd-sales-kit]: storeNewLocation\", action.payload);\n state.newLocation = {\n ...action.payload.request.body,\n };\n\n return state;\n });\n\n builder.addCase(setSavingActionLocation, (state, action) => {\n console.log(\"[nerd-sales-kit]: setSavingActionLocation\", action.payload);\n state.changeLocationSucess = action.payload.changeLocationSucess;\n\n return state;\n });\n\n builder.addCase(storeQuoteFormData, (state, action) => {\n state.quoteFormData = {\n ...state.quoteFormData,\n ...action.payload.quoteFormData,\n };\n\n return state;\n });\n\n builder.addCase(setIsQuoteFormSubmitted, (state, action) => {\n state.isQuoteFormSubmitted = action.payload.isQuoteFormSubmitted;\n\n return state;\n });\n\n builder.addCase(getQuoteResponseSuccess, (state, action) => {\n state.quoteResponse = action.payload.quoteResponse;\n\n return state;\n });\n\n builder.addCase(getMarketCostsSuccess, (state, action) => {\n state.marketCosts = action.payload.marketCosts;\n\n return state;\n });\n\n builder.addCase(getQuotePathEdgeCostsSucess, (state, action) => {\n state.costsBreakdown = action.payload.costsBreakdown;\n\n return state;\n });\n }\n);\n","import Customer from \"../../entities/customer/helper\";\nimport Location from \"../../entities/location/helper\";\nimport { IQuoteState } from \"./quoteReducer\";\nimport {\n ApiError,\n IAccessorial,\n ICommodityDescription,\n IPalletUnits,\n} from \"./quoteState\";\n\nexport const quoteAccessorialsSelector = (state: {\n quoteState: IQuoteState;\n}): IAccessorial => state.quoteState.accessorials;\n\nexport const quoteCommodityDescriptionSelector = (state: {\n quoteState: IQuoteState;\n}): ICommodityDescription[] => state.quoteState.commodity_descriptions;\n\nexport const quoteUnitsSelector = (state: {\n quoteState: IQuoteState;\n}): IPalletUnits => state.quoteState.units;\n\nexport const quoteErrorSelector = (state: {\n quoteState: IQuoteState;\n}): ApiError => state.quoteState.error;\n\nexport const quoteCustomersSelector = (state: {\n quoteState: IQuoteState;\n}): Customer[] => state.quoteState.customers;\n\nexport const quoteArcherLocationsSelector = (state: {\n quoteState: IQuoteState;\n}): Location[] => state.quoteState.archerLocations;\n","import Skeleton, { SkeletonProps } from \"@mui/material/Skeleton\";\nexport interface LoadingProps extends SkeletonProps {\n specialProp?: string;\n}\nexport const Loading = (props: LoadingProps) => {\n return (\n <Skeleton\n animation=\"wave\"\n variant=\"rectangular\"\n width={\"100%\"}\n height={props.height ?? 50}\n {...props}\n />\n );\n};\n","import DialogTitle from \"@mui/material/DialogTitle\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport React from \"react\";\n\ntype DialogTitleProps = {\n id: string;\n children?: React.ReactNode;\n onClose?: () => void;\n};\n\n/**\n * @param props\n */\nexport default function BootstrapDialogTitle(props: DialogTitleProps) {\n const { children, onClose, ...other } = props;\n\n return (\n <DialogTitle\n sx={{ m: 0, p: 2, display: \"flex\", justifyContent: \"space-between\" }}\n {...other}\n >\n {children}\n {onClose ? (\n <IconButton aria-label=\"close\" onClick={onClose}>\n <CloseIcon />\n </IconButton>\n ) : null}\n </DialogTitle>\n );\n}\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { IserviceLevel } from \"../../components/calendar/typings\";\n\nexport interface IselectedDateRangeState {\n date: string;\n element: IserviceLevel;\n}\n\nconst calendarInitialState: IselectedDateRangeState = {\n date: \"\",\n element: {\n id: \"0\",\n description: \"\",\n serviceLevel: \"\",\n baseRate: 0,\n extra: 0,\n fuelRate: 0,\n totalRate: 0,\n flexible: true,\n from: \"0\",\n to: \"0\",\n },\n};\n\nexport const calendarSlice = createSlice({\n name: \"calendarSlice\",\n initialState: calendarInitialState,\n reducers: {\n DateSelectedHandler: (\n state,\n action: PayloadAction<IselectedDateRangeState>\n ) => {\n state = action.payload;\n return state;\n },\n },\n});\n\nexport const { DateSelectedHandler } = calendarSlice.actions;\n\nexport default calendarSlice.reducer;\n","import { combineReducers } from \"@reduxjs/toolkit\";\nimport calendarSlice, {\n IselectedDateRangeState,\n} from \"./calendar/calendarSlice\";\nimport { IQuoteState, quoteReducer } from \"./quote/quoteReducer\";\n\nexport interface NerdSalesKitState {\n selectedDateRange: IselectedDateRangeState;\n quoteState: IQuoteState;\n}\n\nexport const nerdSalesKitReducer = combineReducers({\n selectedDateRange: calendarSlice,\n quoteState: quoteReducer,\n});\n","import FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport NativeSelect from \"@mui/material/NativeSelect\";\nimport Select from \"@mui/material/Select\";\nimport { setAxeValue } from \"@nerdjs/nerd-ui\";\nimport { IQuoteSelect } from \"../typings\";\n\nexport const QuoteSelect = ({\n isMobile,\n selectOptions,\n onChange,\n value,\n labelId,\n inputLabel,\n required,\n}: IQuoteSelect): JSX.Element => {\n return (\n <FormControl component=\"fieldset\" fullWidth>\n {inputLabel && (\n <InputLabel\n variant={\"standard\"}\n htmlFor={setAxeValue(labelId)}\n margin=\"dense\"\n >\n {inputLabel}\n </InputLabel>\n )}\n {isMobile ? (\n <NativeSelect defaultValue={30} sx={{ width: \"100%\" }}>\n {selectOptions.map((option, i) => (\n <option value={option} key={i}>\n {option}\n </option>\n ))}\n </NativeSelect>\n ) : (\n <Select\n labelId={setAxeValue(labelId)}\n id={`select-${setAxeValue(labelId)}`}\n aria-label={setAxeValue(labelId)}\n aria-labelledby={setAxeValue(labelId)}\n value={value}\n onChange={onChange}\n variant=\"standard\"\n defaultValue={value}\n label={inputLabel}\n fullWidth\n >\n {selectOptions.map((option) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n )}\n {required && (\n <FormHelperText sx={{ marginLeft: 0 }}>{\"required\"}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nexport default QuoteSelect;\n","import Grid from \"@mui/material/Grid\";\nimport React, { FocusEvent, KeyboardEvent, ChangeEvent } from \"react\";\nimport { NerdHeading, NerdHelp } from \"@nerdjs/nerd-ui\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport { IPallet, QuoteAuxContent } from \"../../typings\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport TextField from \"@mui/material/TextField\";\n\nconst PalletCount = ({\n palletDimensions,\n tmpPallet,\n onChange,\n onKeyPress,\n onBlur,\n onDelete,\n onDimensionEdit,\n}: palletCount) => {\n return (\n <React.Fragment>\n <Grid item xs={12} sm={4}>\n <TextField\n id=\"palletCount\"\n label={\n <NerdHelp\n explanation=\"Pallets size will be verified on server side to check the equipment compability.\"\n variant=\"body1\"\n >\n Pallet Count\n </NerdHelp>\n }\n placeholder=\"Enter Pallet Count\"\n value={tmpPallet ? tmpPallet.count : \"\"}\n onChange={onChange}\n fullWidth\n variant=\"standard\"\n InputLabelProps={{\n shrink: true,\n }}\n sx={{\n \"& .MuiInputLabel-root\": {\n display: \"flex\",\n },\n }}\n required={\n palletDimensions && palletDimensions.length > 0 ? false : true\n }\n helperText={\n palletDimensions && palletDimensions.length > 0 ? \"\" : \"required\"\n }\n onKeyPress={onKeyPress}\n onBlur={onBlur}\n />\n </Grid>\n {palletDimensions &&\n palletDimensions.map((p, index) => {\n const { units, length, width, height, count } = p;\n const unitSymbol = units === QuoteAuxContent.INCHES ? \"″\" : \"′\";\n return (\n <Grid item xs={6} sm={2} key={index}>\n <Grid\n container\n alignItems=\"center\"\n spacing={1}\n mb={1}\n flexWrap=\"nowrap\"\n >\n {p.stackable && (\n <Grid item>\n <Tooltip title=\"Stackable\">\n <img\n src={\n \"https://storage.googleapis.com/archer-public/assets/stack.png\"\n }\n alt=\"Stackable\"\n height=\"15\"\n />\n </Tooltip>\n </Grid>\n )}\n <Grid item>\n <img\n src={\n \"https://storage.googleapis.com/archer-public/assets/dimension.png\"\n }\n alt=\"dimension\"\n height=\"15\"\n />\n </Grid>\n <Grid item>\n <NerdHeading>\n {`${length}${unitSymbol}x${width}${unitSymbol}x${height}${unitSymbol}`}\n </NerdHeading>\n </Grid>\n </Grid>\n <Grid\n container\n alignItems=\"flex-start\"\n spacing={1}\n justifyContent=\"space-between\"\n className=\"container\"\n sx={{\n background: \"#EBEBEB\",\n minWidth: 120,\n borderRadius: 1,\n paddingLeft: \"0.5rem\",\n paddingRight: \"0.5rem\",\n }}\n >\n <Grid item sx={{ fontWeight: \"400\" }}>\n {count}\n </Grid>\n <Grid item>\n <Grid container>\n <Grid item>\n <EditIcon\n onClick={() => onDimensionEdit(index)}\n style={{ cursor: \"pointer\" }}\n />\n </Grid>\n <Grid item>\n <CloseIcon\n onClick={() => onDelete(index)}\n style={{ cursor: \"pointer\" }}\n />\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n );\n })}\n </React.Fragment>\n );\n};\n\ntype palletCount = {\n palletDimensions: IPallet[];\n tmpPallet: IPallet;\n onChange: (event: ChangeEvent<HTMLInputElement>) => void;\n onKeyPress: (event: KeyboardEvent<HTMLInputElement>) => void;\n onBlur: (event: FocusEvent<HTMLInputElement>) => void;\n onDelete: (i: number) => void;\n onDimensionEdit: (i: number) => void;\n};\n\nexport default PalletCount;\n","import { QuoteAuxContent } from \"../components/salesQuote/typings\";\n\n// Regular Expressions allow only numbers\nexport const re = /^[0-9\\b]+$/;\n\n// New Quote\nexport const FREIGHT_CLASS = [\n \"500\",\n \"400\",\n \"300\",\n \"250\",\n \"200\",\n \"175\",\n \"150\",\n \"125\",\n \"110\",\n \"100\",\n \"92\",\n \"85\",\n \"77\",\n \"70\",\n \"65\",\n \"60\",\n \"55\",\n \"50\",\n];\n\nexport const QUOTE_MAX_STOPS = 10;\n\nexport const options = [\n QuoteAuxContent.LTL,\n QuoteAuxContent.TL,\n QuoteAuxContent.EXPEDITED,\n];\n","import Avatar from \"@mui/material/Avatar\";\nimport Chip from \"@mui/material/Chip\";\nimport Grid from \"@mui/material/Grid\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport CheckIcon from \"@mui/icons-material/Check\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport WarningIcon from \"@mui/icons-material/Warning\";\nimport { NerdHeading } from \"@nerdjs/nerd-ui\";\nimport { IPallet, QuoteAuxContent } from \"../../typings\";\nimport { withNetworkCompletionDispatch, ApiError } from \"@nerdjs/nerd-network\";\nimport { storePallets } from \"../../../../redux/quote/quoteAction\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\nimport { IPalletUnits } from \"../../../../redux/quote\";\nexport const PalletChecker = (props: IPalletChecker) => {\n const {\n totalWeight,\n palletDimensions,\n dispatch,\n networkCompletionStack,\n units,\n stateError,\n } = props;\n const initialValue = 0;\n const [loading, setLoading] = useState(false);\n const [requestUUID, setRequestUUID] = useState(\"\");\n\n const totalPalletCount = palletDimensions.reduce(\n (previousValue, currentValue) => previousValue + +currentValue.count,\n initialValue\n );\n\n const totalDimension = units.feet ? units.feet : totalPalletCount * 2;\n\n const storePallet = useCallback((pallets: IPallet[]) => {\n setLoading(true);\n const uuid = withNetworkCompletionDispatch(dispatch, storePallets(pallets));\n setRequestUUID(uuid);\n }, []);\n\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setLoading(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n useEffect(() => {\n if (totalWeight !== \"\" && palletDimensions.length > 0) {\n const overridePallet = palletDimensions.map((item) => ({\n ...item,\n count: +item.count,\n weight: +totalWeight / totalPalletCount,\n }));\n setLoading(true);\n storePallet(overridePallet);\n }\n\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }, [totalWeight, palletDimensions]);\n\n if (loading) {\n return (\n <React.Fragment>\n <Grid item>\n <CircularProgress size={20} />\n </Grid>\n <Grid item>\n <NerdHeading\n display=\"block\"\n variant=\"caption\"\n text=\"Checking Equipment Compatibility ...\"\n />\n </Grid>\n </React.Fragment>\n );\n }\n\n if (\n stateError.uuid !== \"\" ||\n palletDimensions.filter((e) => e.units === QuoteAuxContent.FEET).length > 0\n ) {\n return (\n <React.Fragment>\n <Grid item>\n <Chip\n avatar={\n <Avatar style={{ color: \"white\", background: \"#ff9800\" }}>\n <WarningIcon sx={{ width: \"0.8em\" }} />\n </Avatar>\n }\n sx={{ fontWeight: 400, border: \"1px solid #ff9800\" }}\n label={\"Equipment compatibility issue\"}\n />\n </Grid>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n <Grid item>\n <Chip\n avatar={\n <Avatar style={{ color: \"white\", background: \"#4caf50\" }}>\n <CheckIcon />\n </Avatar>\n }\n sx={{ fontWeight: 400, border: \"1px solid #4caf50\" }}\n label={`Total: ${totalDimension} ft, ${totalWeight} lb, ${totalPalletCount} Pallet${\n palletDimensions.length > 1 ? \"s\" : \"\"\n } `}\n />\n </Grid>\n </React.Fragment>\n );\n};\n\ninterface IPalletChecker {\n totalWeight: string;\n palletDimensions: IPallet[];\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n units: IPalletUnits;\n stateError: ApiError;\n}\n\nexport default PalletChecker;\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Grid from \"@mui/material/Grid\";\nimport React, { ReactElement, useState } from \"react\";\nimport { NerdInput } from \"@nerdjs/nerd-ui\";\nimport { IPallet, QuoteAuxContent } from \"../../typings\";\nimport FormGroup from \"@mui/material/FormGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Switch from \"@mui/material/Switch\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Button from \"@mui/material/Button\";\nimport CheckIcon from \"@mui/icons-material/Check\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { SelectChangeEvent } from \"@mui/material/Select\";\nimport QuoteSelect from \"../quoteSelect\";\nimport { setAxeValue } from \"@nerdjs/nerd-ui\";\n\ninterface IEditPallet {\n fullScreen?: boolean;\n open: boolean;\n close: () => void;\n pallet: IPallet;\n save: (pallet: IPallet) => void;\n}\nconst EditPallet = ({\n fullScreen,\n open,\n close,\n pallet,\n save,\n}: IEditPallet): ReactElement => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const [tmpPallet, setTmpPallet] = useState<IPallet>({ ...pallet });\n const { length, width, height, count } = tmpPallet;\n const onChangeHanlder =\n (type: string) =>\n (\n event: SelectChangeEvent<unknown> | React.ChangeEvent<HTMLInputElement>\n ) => {\n const value = event.target.value;\n\n if ([\"count\", \"length\", \"width\", \"height\", \"units\"].includes(type)) {\n setTmpPallet({\n ...tmpPallet,\n [type]: value,\n });\n }\n };\n\n return (\n <Dialog\n fullScreen={isMobile || fullScreen}\n open={open}\n scroll=\"paper\"\n onClose={close}\n aria-labelledby=\"responsive-dialog-title\"\n >\n <DialogTitle id=\"alert-dialog-title\">Custom Dimension</DialogTitle>\n <DialogContent>\n <DialogContentText>Enter custom pallet information</DialogContentText>\n <Grid container spacing={2} mt={1}>\n <Grid item xs={4}>\n <NerdInput\n id=\"count\"\n label=\"Count\"\n placeholder=\"Count\"\n value={count}\n onChange={onChangeHanlder(\"count\")}\n type=\"text\"\n fullWidth\n />\n </Grid>\n <Grid item xs={4}>\n <NerdInput\n id=\"pieces\"\n label=\"Pieces\"\n placeholder=\"Count\"\n fullWidth\n />\n </Grid>\n <Grid item xs={4}>\n <QuoteSelect\n inputLabel=\"Units\"\n label=\"Inches\"\n selectOptions={options}\n onChange={onChangeHanlder(\"units\")}\n value={tmpPallet.units}\n isMobile={false}\n required={false}\n labelId={setAxeValue(\"units\")}\n />\n </Grid>\n </Grid>\n <Grid container spacing={2} mt={1}>\n <Grid item xs={4}>\n <NerdInput\n id=\"length\"\n label=\"Length per pallet\"\n placeholder=\"in inches\"\n value={length}\n onChange={onChangeHanlder(\"length\")}\n fullWidth\n />\n </Grid>\n <Grid item xs={4}>\n <NerdInput\n id=\"width\"\n label=\"Width per pallet\"\n placeholder=\"in inches\"\n value={width}\n onChange={onChangeHanlder(\"width\")}\n fullWidth\n />\n </Grid>\n <Grid item xs={4}>\n <NerdInput\n id=\"height\"\n label=\"Height per pallet\"\n placeholder=\"in inches\"\n value={height}\n onChange={onChangeHanlder(\"height\")}\n fullWidth\n />\n </Grid>\n <Grid item xs={12}>\n <FormGroup row>\n <FormControlLabel\n control={\n <Switch\n value={tmpPallet.stackable}\n checked={tmpPallet.stackable}\n color=\"primary\"\n onChange={() => {\n setTmpPallet({\n ...tmpPallet,\n stackable: !tmpPallet.stackable,\n });\n }}\n />\n }\n label=\"Stackable\"\n />\n </FormGroup>\n </Grid>\n </Grid>\n </DialogContent>\n <DialogActions sx={{ justifyContent: \"space-between\" }}>\n <Button onClick={close} color=\"inherit\">\n <CloseIcon />\n Close\n </Button>\n <Button\n color=\"primary\"\n onClick={() => {\n save(tmpPallet);\n close();\n }}\n >\n <CheckIcon />\n Save\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n\nconst options = [QuoteAuxContent.FEET, QuoteAuxContent.INCHES];\n\nexport default EditPallet;\n","import Avatar from \"@mui/material/Avatar\";\nimport Box from \"@mui/material/Box\";\nimport CardHeader from \"@mui/material/CardHeader\";\nimport { blue, grey } from \"@mui/material/colors\";\nimport React from \"react\";\nimport LocationOnTwoToneIcon from \"@mui/icons-material/LocationOnTwoTone\";\nimport Location from \"../../entities/location/helper\";\nimport Divider from \"@mui/material/Divider\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\n\n//TODO: replace image to\nexport const RenderOptionTemplate = ({\n renderOptionProps,\n option,\n renderTemplateOptions,\n}: {\n renderOptionProps: React.HTMLAttributes<HTMLLIElement>;\n option: any;\n renderTemplateOptions: Location[];\n}) => {\n const uniqueArray = renderTemplateOptions.filter(\n (item, index) => renderTemplateOptions.indexOf(item) === index\n );\n\n const ListFoot = () => {\n return uniqueArray[uniqueArray.length - 1] === option ? (\n <>\n <Divider />\n <Grid container alignItems=\"center\" justifyContent={\"center\"}>\n <Grid item py={1}>\n <Typography\n display={\"block\"}\n variant=\"caption\"\n color=\"textSecondary\"\n >\n Powered by <b>Google</b> and\n </Typography>\n </Grid>\n <Grid item>\n <Box\n sx={{\n background: \"#424242\",\n borderRadius: 20,\n opacity: 0.8,\n marginLeft: 1,\n }}\n >\n <img\n src={\n \"https://storage.googleapis.com/archer-app/logos/ArcherLogo.png\"\n }\n alt=\"Archer\"\n height=\"15\"\n />\n </Box>\n </Grid>\n </Grid>\n </>\n ) : null;\n };\n return (\n <React.Fragment>\n <Box\n component=\"li\"\n sx={{\n backgroundColor: \"transparent\",\n svg: { flexShrink: 0, color: \"white\" },\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(0, 0, 0, 0.08)\",\n },\n }}\n {...renderOptionProps}\n >\n <CardHeader\n avatar={\n <Avatar\n sx={{\n bgcolor: setTemplateIconColorByType(option),\n }}\n aria-label={\"Facility\"}\n >\n <LocationOnTwoToneIcon fontSize=\"medium\" />\n </Avatar>\n }\n title={setTemplateContentByType(option)}\n titleTypographyProps={{\n fontWeight: \"500\",\n variant: \"body1\",\n }}\n subheader={setTemplateContentByType(option)}\n sx={{\n py: 1,\n px: 1,\n }}\n />\n </Box>\n <ListFoot />\n </React.Fragment>\n );\n};\n\n/**\n * @param option\n */\nfunction setTemplateIconColorByType(option: any) {\n if (option.name) {\n return blue[500];\n }\n return grey[500];\n}\n\n/**\n * @param option\n */\nfunction setTemplateContentByType(option: any) {\n if (option.description) {\n return `${option.description}`;\n }\n return option.name;\n}\n\nexport default RenderOptionTemplate;\n","import List from \"@mui/material/List\";\nimport { styled, Theme } from \"@mui/material/styles\";\nimport { nanoid } from \"@reduxjs/toolkit\";\nimport Location from \"../../entities/location/helper\";\nimport React from \"react\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemButton from \"@mui/material/ListItemButton\";\nimport Paper from \"@mui/material/Paper\";\nimport ListItemAvatar from \"@mui/material/ListItemAvatar\";\nimport Avatar from \"@mui/material/Avatar\";\nimport PlaceIcon from \"@mui/icons-material/Place\";\nimport Grid from \"@mui/material/Grid\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport Typography from \"@mui/material/Typography\";\nimport Stack from \"@mui/material/Stack\";\nimport Chip from \"@mui/material/Chip\";\n\n/**\n * @param props\n */\nexport function LocationsFound<T>(props: Props<T>) {\n const { items, theme, onLocationSelected } = props;\n if (!items) {\n return (\n <Typography\n sx={{ display: \"block\" }}\n variant=\"h6\"\n color=\"#000\"\n fontWeight={500}\n >\n {\"No locations found\"}\n </Typography>\n );\n }\n\n return (\n <List\n sx={{\n overflowY: \"scroll\",\n maxHeight: \"450px\",\n \"&::-webkit-scrollbar\": {\n \"-webkit-appearance\": \"none\",\n width: \"7px\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n backgroundColor: theme.palette.grey[300],\n borderRadius: \"4px\",\n marginTop: \"2px\",\n },\n }}\n >\n {items.length > 0 &&\n items.map((item) => {\n if (item instanceof Location) {\n const {\n name,\n id,\n contact,\n phone,\n accessorials: { ltlAccessorials },\n } = item;\n return (\n <ListItem disablePadding key={id}>\n <ListItemButton onClick={() => onLocationSelected!(item)}>\n <Item>\n <ListItemAvatar>\n <Avatar sx={{ background: theme.palette.primary.light }}>\n <PlaceIcon fontSize=\"medium\" />\n </Avatar>\n </ListItemAvatar>\n <Grid container>\n <Grid item xs={12}>\n <ListItemText\n primary={\n <Typography\n sx={{ display: \"block\" }}\n variant=\"h6\"\n color=\"#000\"\n fontWeight={500}\n textAlign=\"left\"\n >\n {name}\n </Typography>\n }\n secondary={\n <React.Fragment>\n <Typography\n sx={{ display: \"block\" }}\n component=\"span\"\n variant=\"body1\"\n color=\"text.primary\"\n textAlign=\"left\"\n >\n {`Contact: ${contact}`}\n </Typography>\n <Typography\n sx={{ display: \"block\" }}\n component=\"span\"\n variant=\"body1\"\n color=\"text.primary\"\n textAlign=\"left\"\n >\n {`Phone: ${phone}`}\n </Typography>\n </React.Fragment>\n }\n />\n </Grid>\n {ltlAccessorials && ltlAccessorials.length > 0 && (\n <Stack direction=\"row\" spacing={1}>\n {ltlAccessorials.map((accessorial) => (\n <Chip\n label={`${accessorial.name}, ${accessorial.costAmount}`}\n key={nanoid()}\n />\n ))}\n </Stack>\n )}\n </Grid>\n </Item>\n </ListItemButton>\n </ListItem>\n );\n }\n\n return item;\n })}\n </List>\n );\n}\n\ninterface Props<T> {\n items: T[];\n theme: Theme;\n onLocationSelected?: (item: T) => void;\n}\n\nconst Item = styled(Paper)(({ theme }) => ({\n backgroundColor: theme.palette.mode === \"dark\" ? \"#1A2027\" : \"#fff\",\n ...theme.typography.body2,\n padding: theme.spacing(1),\n textAlign: \"center\",\n color: theme.palette.text.secondary,\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n}));\n","import Box from \"@mui/material/Box\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport FormGroup from \"@mui/material/FormGroup\";\nimport Switch from \"@mui/material/Switch\";\nimport TextField from \"@mui/material/TextField\";\nimport React from \"react\";\n\nconst re = /^[0-9\\b]+$/;\n/**\n * @param props\n * @param props.isMobile\n * @param props.handleCallback\n * @param props.editLocationData\n */\nexport function NewLocationForm(props: {\n isMobile: boolean;\n handleCallback: (disabled: boolean, newLocation?: INewLocationState) => void;\n editLocationData?: any;\n}) {\n const { isMobile, handleCallback, editLocationData } = props;\n const [values, setValues] = React.useState<INewLocationState>({\n name: editLocationData?.name || \"\",\n contact: editLocationData?.contact || \"\",\n phone: editLocationData?.phone || \"\",\n grocery: false,\n liftgate: false,\n liquor_permit: false,\n });\n\n const handleChange =\n (prop: keyof INewLocationState) =>\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (prop === \"phone\" && re.test(event.target.value)) {\n setValues({ ...values, phone: event.target.value });\n }\n setValues({ ...values, [prop]: event.target.value });\n };\n\n const handleChangeSwitch =\n (prop: keyof INewLocationState) =>\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setValues({\n ...values,\n [prop]: event.target.checked,\n });\n };\n\n React.useEffect(() => {\n if (\n values.name !== \"\" &&\n values.contact !== \"\" &&\n values.phone.length > 4\n ) {\n handleCallback(false, values);\n } else {\n handleCallback(true);\n }\n }, [values]);\n\n return (\n <Box component=\"form\" autoComplete=\"off\">\n <Box component=\"div\">\n <TextField\n id=\"standard-name\"\n label=\"Name\"\n InputLabelProps={{\n shrink: true,\n }}\n placeholder=\"Location's Name\"\n value={values.name}\n onChange={handleChange(\"name\")}\n variant=\"standard\"\n fullWidth\n required={values.name === \"\"}\n helperText={values.name === \"\" ? \"Required\" : \"\"}\n />\n </Box>\n <Box\n component=\"div\"\n sx={{\n \"& > :not(style)\": { width: !isMobile ? \"25ch\" : \"100%\", mt: 2 },\n }}\n >\n <TextField\n id=\"standard-contact-name\"\n label=\"Contact\"\n InputLabelProps={{\n shrink: true,\n }}\n placeholder=\"Contact Full Name\"\n value={values.contact}\n onChange={handleChange(\"contact\")}\n variant=\"standard\"\n required={values.contact === \"\"}\n sx={{\n mr: !isMobile ? \"1rem\" : \"0\",\n }}\n helperText={values.contact === \"\" ? \"Required\" : \"\"}\n />\n <TextField\n id=\"standard-contact-phone\"\n label=\"Phone\"\n value={formatMobileNumber(values.phone)}\n onChange={handleChange(\"phone\")}\n variant=\"standard\"\n InputLabelProps={{\n shrink: true,\n }}\n placeholder=\"Contact Phone\"\n required={values.phone === \"\"}\n sx={{\n ml: !isMobile ? \"1rem\" : \"0\",\n }}\n inputProps={{ inputMode: \"numeric\", pattern: \"[0-9]*\" }}\n helperText={values.phone === \"\" ? \"Required\" : \"\"}\n />\n </Box>\n <Box\n component=\"div\"\n sx={{\n \"& > :not(style)\": { mt: 2 },\n }}\n >\n <FormControl component=\"fieldset\" variant=\"standard\">\n <FormGroup\n sx={{\n flexDirection: !isMobile ? \"row\" : \"column\",\n justifyContent: \"space-between\",\n }}\n >\n <FormControlLabel\n control={\n <Switch\n checked={values.liftgate}\n onChange={handleChangeSwitch(\"liftgate\")}\n name=\"Lift Gate Required\"\n />\n }\n label=\"Lift Gate Required\"\n sx={{\n color: !values.liftgate ? \"GrayText\" : \"inherit\",\n }}\n />\n <FormControlLabel\n control={\n <Switch\n checked={values.grocery}\n onChange={handleChangeSwitch(\"grocery\")}\n name=\"Grocery Warehouse\"\n />\n }\n label=\"Grocery Warehouse\"\n sx={{\n color: !values.grocery ? \"GrayText\" : \"inherit\",\n }}\n />\n <FormControlLabel\n control={\n <Switch\n checked={values.liquor_permit}\n onChange={handleChangeSwitch(\"liquor_permit\")}\n name=\"Liquor Permit\"\n />\n }\n label=\"Liquor Permit\"\n sx={{\n color: !values.liquor_permit ? \"GrayText\" : \"inherit\",\n }}\n />\n </FormGroup>\n </FormControl>\n </Box>\n </Box>\n );\n}\n\nexport interface INewLocationState {\n name: string;\n contact: string;\n phone: string;\n liftgate: boolean;\n grocery: boolean;\n liquor_permit: boolean;\n}\n\nconst formatMobileNumber = (text: string) => {\n const cleaned = (\"\" + text).replace(/\\D/g, \"\");\n const match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n const intlCode = match[1] ? \"+1 \" : \"\",\n number = [intlCode, \"(\", match[2], \") \", match[3], \"-\", match[4]].join(\n \"\"\n );\n return number;\n }\n return text;\n};\n","import Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Grid from \"@mui/material/Grid\";\nimport { INewLocation } from \"../../redux/quote\";\nimport { INewLocationState, NewLocationForm } from \"./newLocationForm\";\n// import DeleteIcon from \"@mui/icons-material/Delete\";\nimport Typography from \"@mui/material/Typography\";\nimport CheckIcon from \"@mui/icons-material/Check\";\nimport BootstrapDialogTitle from \"../shared/bootstrapDialogTitle/bootstrapDialogTitle\";\n\nexport const editLocation = (props: IEditLocationProps) => {\n const {\n isMobile,\n openDialog,\n handleClose,\n handleCallback,\n locationData: { name },\n onUpdateLocation,\n isDisabled,\n } = props;\n return (\n <Dialog\n fullScreen={isMobile}\n open={openDialog}\n onClose={handleClose}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{\n \"& .MuiDialog-container\": {\n py: 3,\n },\n }}\n >\n <BootstrapDialogTitle\n id=\"edit-location\"\n onClose={() => handleClose(\"closedEdit\")}\n >\n {name}\n </BootstrapDialogTitle>\n <DialogContent>\n <Grid\n container\n spacing={2}\n flexDirection=\"column\"\n alignItems={\"center\"}\n >\n <Grid item mt={1} flexDirection={\"row\"} md>\n <NewLocationForm\n isMobile={isMobile}\n handleCallback={handleCallback}\n editLocationData={props.locationData}\n />\n </Grid>\n </Grid>\n </DialogContent>\n <DialogActions\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n }}\n >\n {/* <Button\n onClick={() => {\n onDeleteLocation();\n }}\n color=\"error\"\n >\n <DeleteIcon fontSize=\"medium\" />\n <Typography variant=\"body2\" textTransform=\"uppercase\" fontSize=\"1rem\">\n Delete\n </Typography>\n </Button> */}\n <Button\n onClick={() => {\n onUpdateLocation();\n }}\n color=\"success\"\n disabled={isDisabled}\n >\n <CheckIcon fontSize=\"medium\" />\n <Typography variant=\"body2\" textTransform=\"uppercase\" fontSize=\"1rem\">\n Save\n </Typography>\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport default editLocation;\n\ninterface IEditLocationProps {\n isMobile: boolean;\n openDialog: boolean;\n handleClose: <T>(reason: string, item?: T | undefined) => void;\n handleCallback: (\n disabled: boolean,\n newLocationData?: INewLocationState\n ) => void;\n locationData: Partial<INewLocation>;\n onUpdateLocation: () => void;\n onDeleteLocation?: () => void;\n isDisabled: boolean;\n}\n","import Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport {\n getFacility,\n INewLocation,\n removeArcherLocations,\n setSavingActionLocation,\n storeNewLocation,\n updateLocation,\n} from \"../../redux/quote\";\nimport { AnyAction, Dispatch, nanoid } from \"@reduxjs/toolkit\";\nimport { LocationsFound } from \"./locationsFound\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Location from \"../../entities/location/helper\";\nimport CheckIcon from \"@mui/icons-material/Check\";\nimport { INewLocationState, NewLocationForm } from \"./newLocationForm\";\nimport EditLocation from \"./editLocation\";\nimport { showNotification } from \"@nerdjs/nerd-ui\";\nimport { newLocationPreview, WrapperProps } from \"./typings\";\nimport { Loading } from \"../shared/loading\";\nimport BootstrapDialogTitle from \"../shared/bootstrapDialogTitle/bootstrapDialogTitle\";\nimport { ServiceContextType } from \"../salesQuote/typings\";\n\nexport const LocationByAddress = (props: {\n openDialog: boolean;\n setOpenLocationsByAddress: (event: boolean) => void;\n isDialogClosed: (reason: string, item?: Location) => void;\n selectedLocation: google.maps.GeocoderResult;\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n locationState: ServiceContextType | null;\n isMobile: boolean;\n editLocation?: Partial<INewLocation> | Location;\n}) => {\n const {\n openDialog,\n setOpenLocationsByAddress,\n selectedLocation,\n isDialogClosed,\n dispatch,\n networkCompletionStack,\n locationState,\n isMobile,\n editLocation,\n } = props;\n // TODO: Find a better approach to add responsive from root\n const theme = useTheme();\n //console.log(\"ONEDITHANDLEBACKPROPS\", props);\n\n const [requestUUID, setRequestUUID] = useState(\"\");\n const [requestPending, setRequestPending] = useState(true);\n const [savingLocation, setSavingLocation] = useState(false);\n const [newLocation, setNewLocation] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n //const [deleteLocation, setDeleteLocation] = useState(false); //! Uncomment to enable delete location\n const [saveNewLocation, setSaveNewLocation] = useState<INewLocation>({\n name: \"\",\n contact: \"\",\n phone: \"\",\n accessorialTags: [],\n address: {} as any,\n });\n\n const archerLocations = [...locationState!.quoteState.archerLocations];\n\n const isLocationEditable =\n editLocation &&\n (editLocation.name !== \"\" ||\n editLocation.contact !== \"\" ||\n editLocation.phone !== \"\");\n\n const fetchPaceById = useCallback(\n (placeId: string) => {\n setRequestPending(true);\n setNewLocation(true);\n const query = {\n placeId,\n };\n const uuid = withNetworkCompletionDispatch(dispatch, getFacility(query));\n setRequestUUID(uuid);\n },\n [dispatch]\n );\n\n const postNewLocation = useCallback(\n (location: INewLocation) => {\n setSavingLocation(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n storeNewLocation(location)\n );\n setRequestUUID(uuid);\n },\n [dispatch]\n );\n\n const updateNewLocation = useCallback(\n (id: number, updatelocationData: Omit<INewLocation, \"address\">) => {\n setSavingLocation(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n updateLocation(id, updatelocationData)\n );\n setRequestUUID(uuid);\n },\n [dispatch]\n );\n\n const handleClose = (reason: string, item?: unknown) => {\n setOpenLocationsByAddress(false);\n isDialogClosed(reason, item as Location);\n };\n\n const handleCallback = (\n disabled: boolean,\n newLocationData?: INewLocationState\n ) => {\n const line1: string[] = [];\n setIsDisabled(disabled);\n\n //TODO: Refactor this to decrease its Cognitive Complexity\n if (newLocationData) {\n const { grocery, liftgate, liquor_permit, ...splittedNewLocationObject } =\n newLocationData;\n //* Save Edit Location\n if (isLocationEditable) {\n const newLocationObject: INewLocation = {\n ...splittedNewLocationObject,\n accessorialTags: [\n ...(grocery ? [\"grocery\"] : []),\n ...(liftgate ? [\"liftgate\"] : []),\n ...(liquor_permit ? [\"liquor_permit\"] : []),\n ],\n address: {\n formattedAddress: editLocation?.address?.formattedAddress || \"\",\n line1: editLocation?.address?.line1 || \"\",\n line2: editLocation?.address?.line2 || \"\",\n city: editLocation?.address?.city || \"\",\n state: editLocation?.address?.state || \"\",\n zip: editLocation?.address?.zip || \"\",\n country: editLocation?.address?.country || \"\",\n latitude: editLocation?.address?.latitude || 0,\n longitude: editLocation?.address?.longitude || 0,\n verified: editLocation?.address?.verified || false,\n placeId: editLocation?.address?.placeId || \"\",\n },\n };\n\n setSaveNewLocation(newLocationObject);\n }\n //* Save New Location\n else {\n const locationpreview: newLocationPreview = {\n ...splittedNewLocationObject,\n accessorialTags: [\n ...(grocery ? [\"grocery\"] : []),\n ...(liftgate ? [\"liftgate\"] : []),\n ...(liquor_permit ? [\"liquor_permit\"] : []),\n ],\n };\n\n const newLocationObject: INewLocation = {\n ...locationpreview,\n address: {\n formattedAddress: selectedLocation.formatted_address,\n latitude: selectedLocation.geometry.location.lat(),\n longitude: selectedLocation.geometry.location.lng(),\n placeId: selectedLocation.place_id,\n verified: true,\n } as any,\n };\n\n /*\n This foreach loops google maps 'address_components' object in order to assign the equivalent values\n to the new address object to be sent via POST\n */\n selectedLocation.address_components.forEach((item) => {\n if (\n item.types.includes(\"street_number\") ||\n item.types.includes(\"route\")\n ) {\n line1.push(item.long_name);\n } else if (item.types.includes(\"locality\")) {\n newLocationObject.address.city = item.long_name;\n } else if (item.types.includes(\"country\")) {\n newLocationObject.address.country = item.short_name;\n } else if (item.types.includes(\"administrative_area_level_1\")) {\n newLocationObject.address.state = item.short_name;\n } else if (item.types.includes(\"postal_code\")) {\n newLocationObject.address.zip = item.long_name;\n } else if (item.types.includes(\"neighborhood\")) {\n newLocationObject.address.line2 = item.long_name;\n }\n newLocationObject.address.line1 = line1.join(\" \");\n });\n\n // console.log(\"ONEDITHANDLEBACKSAVEFORM1\", newLocationObject);\n setSaveNewLocation(newLocationObject);\n }\n }\n };\n\n useEffect(() => {\n if (selectedLocation.place_id) {\n fetchPaceById(selectedLocation.place_id);\n }\n }, [selectedLocation]);\n\n useEffect(() => {\n if (\n locationState &&\n locationState.quoteState.changeLocationSucess.isSuccess\n ) {\n const notifierTitleSucessMethod =\n locationState.quoteState.changeLocationSucess.method === \"POST\"\n ? \"created\"\n : \"updated\";\n dispatch(\n showNotification({\n notification: {\n uuid: nanoid(),\n title: `Location has been ${notifierTitleSucessMethod}.`,\n severity: \"success\",\n variant: \"intrusive\",\n autohide: true,\n autoHideDuration: 3000,\n },\n })\n );\n handleClose(\"closedEdit\");\n dispatch(setSavingActionLocation(false, \"\"));\n }\n }, [locationState?.quoteState.changeLocationSucess]);\n\n useEffect(() => {\n let timerActions: any;\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n timerActions = setTimeout(() => {\n setSavingLocation(false);\n setRequestPending(false);\n if (!archerLocations.length) {\n setNewLocation(false);\n }\n }, 2000);\n }\n return () => clearTimeout(timerActions);\n }, [requestUUID, networkCompletionStack, archerLocations]);\n\n if (savingLocation) {\n return (\n <Dialog\n fullScreen={isMobile}\n open={openDialog}\n onClose={handleClose}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{\n \"& .MuiPaper-root\": {\n minWidth: \"450px\",\n minHeight: \"200px\",\n },\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">\n {\"Creating the location...\"}\n </DialogTitle>\n <Loading />\n </Dialog>\n );\n }\n\n //! This code is commented because it is not used anymore but could be used in the future\n // if (deleteLocation) {\n // return (\n // <DeleteLocationDialog\n // {...{ isMobile, openDialog }}\n // onCancel={() => {\n // setDeleteLocation(false);\n // }}\n // onConfirm={() => {\n // console.log(\"deleteLocation\", editLocation, saveNewLocation);\n // }}\n // />\n // );\n // }\n\n //* Open the form to edit the location with the selected location\n if (\n editLocation &&\n isLocationEditable &&\n Object.keys(editLocation).length > 0\n ) {\n return (\n <EditLocation\n {...{ isMobile, openDialog, handleClose, isDisabled, handleCallback }}\n locationData={editLocation}\n onUpdateLocation={() => {\n updateNewLocation((editLocation as Location).id, saveNewLocation);\n }}\n />\n );\n }\n\n return (\n <Dialog\n fullScreen={isMobile}\n open={openDialog}\n onClose={handleClose}\n aria-labelledby=\"responsive-dialog-title\"\n >\n <React.Fragment>\n {requestPending ? (\n <DialogMainBodyRequestPending\n {...{ newLocation, selectedLocation, handleClose }}\n />\n ) : (\n <DialogMainBodyNoRequestPending\n {...{\n archerLocations,\n handleClose,\n newLocation,\n selectedLocation,\n isMobile,\n handleCallback,\n theme,\n dispatch,\n postNewLocation,\n saveNewLocation,\n isDisabled,\n }}\n />\n )}\n </React.Fragment>\n </Dialog>\n );\n};\n\n/**\n * @param root0\n * @param root0.newLocation\n * @param root0.selectedLocation\n * @param root0.handleClose\n */\nfunction DialogMainBodyRequestPending({\n newLocation,\n selectedLocation,\n handleClose,\n}: {\n newLocation: boolean;\n selectedLocation: google.maps.GeocoderResult;\n handleClose: (reason: string, item?: Location) => void;\n}) {\n return (\n <React.Fragment>\n <DialogTitle id=\"responsive-dialog-title\">\n {\"Searching Locations...\"}\n </DialogTitle>\n\n <DialogContent>\n <Grid\n container\n spacing={2}\n flexDirection=\"column\"\n alignItems={\"center\"}\n >\n {newLocation && (\n <Grid item md={12}>\n <DialogContentText\n sx={{\n fontWeight: \"400\",\n fontSize: \"1.25rem\",\n color: \"text.primary\",\n textAlign: \"center\",\n }}\n >\n {selectedLocation.formatted_address}\n </DialogContentText>\n </Grid>\n )}\n <Loading sx={{ marginTop: 6 }} />\n </Grid>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => handleClose(\"closed\")} color=\"inherit\">\n <CloseIcon fontSize=\"medium\" />\n <Typography variant=\"body2\" textTransform=\"uppercase\" fontSize=\"1rem\">\n cancel\n </Typography>\n </Button>\n </DialogActions>\n </React.Fragment>\n );\n}\n\n/**\n * @param root0\n * @param root0.archerLocations\n * @param root0.handleClose\n * @param root0.newLocation\n * @param root0.selectedLocation\n * @param root0.isMobile\n * @param root0.handleCallback\n * @param root0.theme\n * @param root0.dispatch\n * @param root0.postNewLocation\n * @param root0.saveNewLocation\n * @param root0.isDisabled\n */\nfunction DialogMainBodyNoRequestPending({\n archerLocations,\n handleClose,\n newLocation,\n selectedLocation,\n isMobile,\n handleCallback,\n theme,\n dispatch,\n postNewLocation,\n saveNewLocation,\n isDisabled,\n}: {\n archerLocations: Location[];\n handleClose: (reason: string, item?: unknown | undefined) => void;\n newLocation: boolean;\n selectedLocation: google.maps.GeocoderResult;\n isMobile: boolean;\n handleCallback: (\n disabled: boolean,\n newLocationData?: INewLocationState\n ) => void;\n theme: Theme;\n dispatch: Dispatch<AnyAction>;\n postNewLocation: (location: INewLocation) => void;\n saveNewLocation: INewLocation;\n isDisabled: boolean;\n}) {\n return (\n <React.Fragment>\n <WrapperDialogTitle\n item={archerLocations}\n renderItem={(item) => item}\n handleClose={() => handleClose(\"closed\")}\n />\n <DialogContent>\n <Grid\n container\n spacing={2}\n flexDirection=\"column\"\n alignItems={\"flex-start\"}\n >\n {newLocation && (\n <Grid item md={12}>\n <DialogContentText\n sx={{\n fontWeight: \"400\",\n fontSize: \"1.25rem\",\n color: \"text.primary\",\n textAlign: \"center\",\n }}\n >\n {selectedLocation.formatted_address}\n </DialogContentText>\n </Grid>\n )}\n {!archerLocations.length ? (\n <Grid item mt={1} flexDirection={\"row\"} md>\n <NewLocationForm\n isMobile={isMobile}\n handleCallback={handleCallback}\n />\n </Grid>\n ) : (\n <Grid container mt={1} flexDirection={\"column\"}>\n <LocationsFoundContainer\n archerLocations={archerLocations}\n theme={theme}\n handleClose={handleClose}\n handleCallback={() => dispatch(removeArcherLocations())}\n />\n </Grid>\n )}\n </Grid>\n </DialogContent>\n <DialogActions>\n {archerLocations.length > 0 ? (\n <Button onClick={() => handleClose(\"closed\")} color=\"inherit\">\n <CloseIcon fontSize=\"medium\" />\n <Typography\n variant=\"body2\"\n textTransform=\"uppercase\"\n fontSize=\"1rem\"\n >\n cancel\n </Typography>\n </Button>\n ) : (\n <Button\n onClick={() => {\n postNewLocation(saveNewLocation);\n }}\n color=\"success\"\n disabled={isDisabled}\n >\n <CheckIcon fontSize=\"medium\" />\n <Typography\n variant=\"body2\"\n textTransform=\"uppercase\"\n fontSize=\"1rem\"\n >\n Save\n </Typography>\n </Button>\n )}\n </DialogActions>\n </React.Fragment>\n );\n}\n\n/**\n * @param props\n * @param props.archerLocations\n * @param props.requestPending\n * @param props.theme\n * @param props.handleClose\n * @param props.handleCallback\n */\nfunction LocationsFoundContainer(props: {\n archerLocations: Location[];\n requestPending?: boolean;\n theme: Theme;\n handleClose: (reason: string, item?: Location) => void;\n handleCallback: () => void;\n}) {\n const { archerLocations, theme, handleClose, handleCallback } = props;\n return (\n <React.Fragment>\n <LocationsFound\n items={archerLocations}\n theme={theme}\n onLocationSelected={(item) => {\n handleClose(\"closed\", item);\n }}\n />\n <Typography display=\"block\" variant=\"body2\" textAlign=\"center\" mb={2}>\n {\"Can't find the spot you are looking for ?\"}\n </Typography>\n <Button\n onClick={() => {\n // TODO: set Open\n handleCallback();\n }}\n color=\"inherit\"\n sx={{\n width: \"30%\",\n alignSelf: \"center\",\n }}\n >\n <Typography\n display=\"block\"\n variant=\"body2\"\n textTransform=\"uppercase\"\n color={theme.palette.primary.main}\n >\n New Location\n </Typography>\n </Button>\n </React.Fragment>\n );\n}\n\n//! Uncomment later if delete location will be used\n// function DeleteLocationDialog(props: {\n// isMobile: boolean;\n// openDialog: boolean;\n// onCancel: () => void;\n// onConfirm: () => void;\n// }) {\n// const { isMobile, openDialog, onCancel, onConfirm } = props;\n\n// return (\n// <Dialog\n// fullScreen={isMobile}\n// open={openDialog}\n// TransitionComponent={Transition}\n// aria-labelledby=\"responsive-delete-dialod-location\"\n// sx={{\n// textAlign: \"center\",\n// }}\n// >\n// <Transition in={openDialog} timeout={300}>\n// <CancelOutlinedIcon\n// color=\"error\"\n// fontSize=\"large\"\n// sx={{ alignSelf: \"center\", fontSize: \"5rem\", mt: 2 }}\n// />\n// </Transition>\n// <DialogTitle id=\"responsive-delete-dialod-location-title\" variant=\"h6\">\n// {\"Are you sure?\"}\n// </DialogTitle>\n// <DialogContent>\n// <DialogContentText\n// id=\"responsive-delete-dialod-location-description\"\n// color=\"inherit\"\n// >\n// If you delete this location, you won't be able to recover it.\n// </DialogContentText>\n// </DialogContent>\n// <DialogActions sx={{ alignSelf: \"center\", my: 2 }}>\n// <Button\n// onClick={onCancel}\n// variant=\"contained\"\n// sx={{\n// backgroundColor: \"#999999\",\n// \"&:hover\": {\n// backgroundColor: \"#999999\",\n// boxShadow:\n// \"0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2)\",\n// },\n// }}\n// >\n// <Typography variant=\"body2\" textTransform=\"uppercase\" fontSize=\"1rem\">\n// Cancel\n// </Typography>\n// </Button>\n// <Button variant=\"contained\" color=\"error\" onClick={onConfirm}>\n// <Typography variant=\"body2\" textTransform=\"uppercase\" fontSize=\"1rem\">\n// I am sure\n// </Typography>\n// </Button>\n// </DialogActions>\n// </Dialog>\n// );\n// }\n\nconst WrapperDialogTitle = <T,>(\n props: React.PropsWithChildren<WrapperProps<T>>\n) => {\n if (Array.isArray(props.item) && props.item.length > 0) {\n const plural = props.item.length > 1 ? \"s\" : \"\";\n return (\n <BootstrapDialogTitle id=\"customized-dialog-title\">\n {`${props.item.length} Location${plural} Found:`}\n </BootstrapDialogTitle>\n );\n }\n\n return (\n <BootstrapDialogTitle\n id=\"customized-dialog-title\"\n onClose={props.handleClose}\n >\n {\"Let's Create a New Location\"}\n </BootstrapDialogTitle>\n );\n};\n\n//! Uncomment later if delete location will be used\n// const Transition = React.forwardRef(function Transition(\n// props: TransitionProps & {\n// children: React.ReactElement<any, any>;\n// directionSlide?: \"left\" | \"right\" | \"up\" | \"down\";\n// },\n// ref: React.Ref<unknown>\n// ) {\n// const { directionSlide = \"down\" } = props;\n// return <Slide direction={directionSlide} ref={ref} {...props} />;\n// });\n\n// TODO: make service validation to render tlAccessorials\n// 6132 Ellenview Ave\n\nexport default LocationByAddress;\n","import Autocomplete from \"@mui/material/Autocomplete\";\nimport TextField from \"@mui/material/TextField\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport { nanoid } from \"@reduxjs/toolkit\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { getFacility, INewLocation, IStateShippers } from \"../../redux/quote\";\nimport PlaceIcon from \"@mui/icons-material/Place\";\nimport { AutocompleteType, PaperComponentOnLoad } from \"@nerdjs/nerd-ui\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport IconButton from \"@mui/material/IconButton\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Location from \"../../entities/location/helper\";\nimport { RenderOptionTemplate } from \"./optionTemplate\";\nimport { LocationByAddress } from \"./locationByAddress\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { ILocationFinder } from \"./typings\";\n\n/**\n * @param props\n */\nexport function LocationFinder(props: ILocationFinder) {\n // Component props\n const {\n service,\n dispatch,\n networkCompletionStack,\n zipLocation,\n className,\n stopType,\n onLocationSelectedHandler,\n } = props;\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down(\"md\"));\n const [open, setOpen] = useState(false);\n const [googleSuggestionsOptions, setGoogleSuggestionsOptions] = useState<\n readonly google.maps.places.AutocompletePrediction[]\n >([]);\n const [requestUUID, setRequestUUID] = React.useState(\"\");\n // This state is used to set the bounds of the autocomplete search to accouracy of the user's location\n const [bounds, setBounds] = React.useState<\n google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n >({\n east: 0,\n north: 0,\n south: 0,\n west: 0,\n });\n const [isOptionSelected, setIsOptionSelected] = useState(false);\n // This state represents the value selected by the user\n const [value, setValue] = React.useState<any | null>(null);\n // This state represents the value displayed in the textbox\n const [inputValue, setInputValue] = useState(\"\");\n // This state represents the location selected by the user\n const [selectedLocation, setSelectedLocation] =\n useState<google.maps.GeocoderResult>({\n address_components: [],\n formatted_address: \"\",\n geometry: {} as google.maps.GeocoderGeometry,\n place_id: \"\",\n types: [],\n });\n const [openLocationsByAddress, setOpenLocationsByAddress] =\n React.useState(false);\n // This state represents the locaton to be Updated or deleted\n const [editLocation, setEditLocation] = React.useState<\n Omit<INewLocation, \"accessorialTags\">\n >({\n name: \"\",\n contact: \"\",\n phone: \"\",\n address: {} as any,\n });\n const [requestPending, setRequestPending] = useState(false);\n\n const geocoder = service ? new service.googleService.maps.Geocoder() : null;\n const mapsAutocompleteService = service\n ? new service.googleService.maps.places.AutocompleteService()\n : null;\n const renderTemplateOptions: Location[] = [];\n\n // Set the facility input value to the created location\n useEffect(() => {\n //console.log(\"ADDVALUETOINPUT\", service?.quoteState.newLocation);\n if (service && service.quoteState.newLocation.name) {\n setValue(service.quoteState.newLocation.name);\n setIsOptionSelected(true);\n setEditLocation(service.quoteState.newLocation as Location);\n }\n }, [service?.quoteState.newLocation]);\n\n useEffect(() => {\n // console.log(\"CLOSEDDIALOG2\", value);\n // Send location object to state form\n if (onLocationSelectedHandler && value && Object.keys(value).length > 0) {\n onLocationSelectedHandler(value as IStateShippers);\n }\n }, [value]);\n\n const fetchFacility = useCallback(\n (location: string, zip?: string) => {\n setRequestPending(true);\n const query = {\n zip,\n location,\n };\n const uuid = withNetworkCompletionDispatch(dispatch, getFacility(query));\n setRequestUUID(uuid);\n },\n [dispatch]\n );\n\n // This function is called when the user fill location input and set the bound to get more accurate results\n /**\n * @param googleGeocoder\n * @param boundValue\n * @param actionType\n */\n function setGeoCodeData(\n googleGeocoder: google.maps.Geocoder | null,\n boundValue: string,\n actionType: string\n ) {\n if (googleGeocoder) {\n googleGeocoder.geocode({ address: boundValue }, (results, status) => {\n if (\n status === google.maps.GeocoderStatus.OK &&\n results &&\n results.length > 0\n ) {\n switch (actionType) {\n case \"setBound\": {\n const lat = results[0].geometry.location.lat();\n const lng = results[0].geometry.location.lng();\n const geoCodeBounds = new google.maps.LatLngBounds(\n new google.maps.LatLng(lat, lng),\n new google.maps.LatLng(lat, lng)\n );\n setBounds(geoCodeBounds);\n break;\n }\n case \"setLocationGoogle\": {\n setSelectedLocation([...results][0]);\n break;\n }\n case \"setLocationArcher\": {\n setSelectedLocation([...results][0]);\n break;\n }\n default:\n break;\n }\n }\n });\n }\n }\n\n // This function is called when the user selects an option from the list\n /**\n * @param newValue\n */\n function onLocationSelect(\n newValue: google.maps.places.AutocompletePrediction | Location\n ) {\n if (newValue instanceof Location) {\n setGeoCodeData(geocoder, newValue.name, \"setLocationArcher\");\n }\n\n // If location is selected from Google autocomplete\n setGeoCodeData(\n geocoder,\n (newValue as google.maps.places.AutocompletePrediction).description,\n \"setLocationGoogle\"\n );\n }\n\n /**\n * @param inputChangeValue\n */\n async function setGoogleLocationsArray(inputChangeValue: string) {\n const getGeocoderResponse = await setGoogleLocations(\n mapsAutocompleteService,\n bounds,\n inputChangeValue\n );\n if (getGeocoderResponse) {\n const { predictions } = getGeocoderResponse;\n setGoogleSuggestionsOptions(predictions);\n }\n }\n\n // This function handles the autocomplete changes made by the user\n const onChangeHandler = (\n _event: React.SyntheticEvent<Element, Event>,\n newValue: any\n ) => {\n onLocationSelect(newValue);\n // Validate to thow new address location dialog\n if (\"description\" in newValue) {\n setIsOptionSelected(false);\n setInputValue(\"\");\n setOpenLocationsByAddress(true);\n } else {\n setIsOptionSelected(true);\n setValue(newValue);\n }\n };\n\n React.useEffect(() => {\n if (inputValue) {\n fetchFacility(inputValue, zipLocation ? zipLocation : undefined);\n setGoogleLocationsArray(inputValue);\n }\n }, [inputValue]);\n\n React.useEffect(() => {\n if (zipLocation) {\n setGeoCodeData(geocoder, zipLocation, \"setBound\");\n }\n }, [zipLocation]);\n\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setRequestPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n // This function is called when the user clicks the close facility button\n const closeInput = () => {\n setInputValue(\"\");\n setValue(null);\n setOpen(false);\n setIsOptionSelected(false);\n setEditLocation({} as any);\n isLocationByAddressDialogClosed(\"closed\");\n };\n\n const isLocationByAddressDialogClosed = <T,>(reason: string, item?: T) => {\n console.log(\"CLOSEDDIALOG\", reason, item);\n if (item && item instanceof Location) {\n onLocationSelect(item);\n setValue(item.name);\n setIsOptionSelected(true);\n setEditLocation(item);\n }\n switch (reason) {\n case \"closed\": {\n setSelectedLocation({\n address_components: [],\n formatted_address: \"\",\n geometry: {} as google.maps.GeocoderGeometry,\n place_id: \"\",\n types: [],\n });\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <React.Fragment>\n <Grid container spacing={1} alignItems={\"center\"}>\n {isOptionSelected && (\n <Grid item>\n <PlaceIcon color=\"primary\" />\n </Grid>\n )}\n <Grid item md xs={12}>\n <Autocomplete\n id={`location-finder-${stopType}`}\n fullWidth\n open={open}\n onOpen={() => {\n setOpen(true);\n }}\n sx={{\n \"& .MuiAutocomplete-inputRoot\": {\n paddingRight: \"5px !important\", // TODO: find a better approach\n },\n }}\n onClose={() => {\n setOpen(false);\n }}\n value={value}\n onChange={onChangeHandler}\n inputValue={inputValue}\n onInputChange={(_event, newInputValue, reason) => {\n console.log(\"INPUTCHANGE\", newInputValue, reason);\n if (reason === \"reset\" && newInputValue === \"\") {\n return;\n }\n setInputValue(newInputValue);\n }}\n isOptionEqualToValue={(option, optionValue) => {\n console.log(\"ISOPTIONEQUALTOVALUE\", option, optionValue);\n if (optionValue) {\n if (typeof optionValue !== \"string\") {\n if (option instanceof Location) {\n return option.name === optionValue.name;\n }\n return option.description === optionValue.description;\n }\n return option.name === optionValue;\n }\n return false;\n }}\n getOptionLabel={(option) => {\n if (typeof option !== \"string\") {\n if (option instanceof Location) {\n return option.name;\n }\n return option.description;\n }\n\n return option;\n }}\n options={\n !service?.quoteState.archerLocations.length\n ? [...googleSuggestionsOptions]\n : (service?.quoteState.archerLocations as any[])\n }\n loading={requestPending}\n renderInput={(params) => (\n <TextField\n {...params}\n label=\"Facility\"\n InputLabelProps={{\n shrink: true,\n }}\n placeholder=\"Enter Location or Address\"\n variant=\"standard\"\n InputProps={{\n ...params.InputProps,\n endAdornment: null,\n }}\n />\n )}\n renderOption={(\n renderOptionProps: React.HTMLAttributes<HTMLLIElement>,\n option: unknown\n ) => {\n renderTemplateOptions.push(option as Location);\n //console.log(\"RENDEROPTION\", renderOptionProps, option);\n return (\n <RenderOptionTemplate\n renderOptionProps={renderOptionProps}\n option={option}\n key={nanoid()}\n renderTemplateOptions={renderTemplateOptions}\n />\n );\n }}\n PaperComponent={(paperProps: any) => {\n if (!inputValue || requestPending) {\n return (\n <PaperComponentOnLoad\n {...{ inputValue }}\n key={nanoid()}\n className={!isMobile && className ? className : \"\"} // TODO Check stop type in order show this class\n props={paperProps}\n loading={requestPending}\n autocompleteType={AutocompleteType.ADDRESS}\n />\n );\n }\n\n return (\n <Paper\n {...paperProps}\n key={nanoid()}\n className={!isMobile && className ? className : \"\"}\n >\n {paperProps.children}\n </Paper>\n );\n }}\n />\n </Grid>\n {isOptionSelected && (\n <Grid item flexDirection={\"column\"} display=\"flex\">\n <IconButton\n size=\"small\"\n onClick={() => {\n setOpenLocationsByAddress(true);\n //* Edit a new location created\n if (editLocation instanceof Location) {\n setEditLocation(editLocation);\n }\n\n //* Edit an existing archer location\n if (value instanceof Location) {\n setEditLocation(value);\n }\n }}\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n\n <IconButton size=\"small\" onClick={closeInput}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </Grid>\n )}\n </Grid>\n {openLocationsByAddress && (\n <LocationByAddress\n openDialog={openLocationsByAddress}\n setOpenLocationsByAddress={setOpenLocationsByAddress}\n selectedLocation={selectedLocation}\n isDialogClosed={isLocationByAddressDialogClosed}\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n locationState={service}\n isMobile={isMobile}\n editLocation={editLocation}\n />\n )}\n </React.Fragment>\n );\n}\n\n/**\n * @param mapsAutocompleteService\n * @param bounds\n * @param inputValue\n */\nfunction setGoogleLocations(\n mapsAutocompleteService: google.maps.places.AutocompleteService | null,\n bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral,\n inputValue: string\n): Promise<google.maps.places.AutocompleteResponse> | null {\n return (\n mapsAutocompleteService &&\n mapsAutocompleteService.getPlacePredictions(\n {\n input: inputValue,\n componentRestrictions: { country: \"us\" },\n types: [\"address\"],\n bounds,\n },\n (\n googleSuggestions: google.maps.places.AutocompletePrediction[] | null\n ) => {\n return googleSuggestions;\n }\n )\n );\n}\n\nexport default LocationFinder;\n","import Grid from \"@mui/material/Grid\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport { IStopDetailHeaderProps, QuoteAuxContent } from \"../salesQuote/typings\";\nimport { NerdHeading } from \"@nerdjs/nerd-ui\";\n\n/**\n * @param props\n */\nexport default function StopDetailHeader(props: IStopDetailHeaderProps) {\n const { type, index } = props;\n return (\n <Grid\n container\n alignItems=\"center\"\n justifyContent=\"space-between\"\n spacing={1}\n >\n <Grid item>\n {type === QuoteAuxContent.PICK_UP ? (\n <ArrowUpwardIcon />\n ) : (\n <ArrowDownwardIcon />\n )}\n </Grid>\n <Grid item>\n <NerdHeading\n display=\"block\"\n variant=\"h6\"\n text={`${type} #${index + 1}`}\n />\n </Grid>\n </Grid>\n );\n}\n","import Chip from \"@mui/material/Chip\";\nimport Grid from \"@mui/material/Grid\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport Menu from \"@mui/material/Menu\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport AddCircleOutlineRoundedIcon from \"@mui/icons-material/AddCircleOutlineRounded\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport React, { useState } from \"react\";\nimport { IAccessorialObj } from \"../../redux/quote\";\nimport { IMenuAccessorials } from \"../salesQuote/typings\";\nimport Button from \"@mui/material/Button\";\n\ntype menuAccessorials = {\n openCard: boolean;\n onCloseCard: (i: number) => void;\n stopCardIndex: number;\n handleSelectAccessorial: (i: number) => void;\n copyAccessorials: IAccessorialObj[];\n};\n\n/**\n *\n * @param {any} root0 root\n * @param {HTMLElement} root0.anchorEl - HTMLElement ref\n * @param {boolean} root0.openAccessorials boolean to open/close the menu\n * @param {() => {}} root0.handleClose function to close the menu\n * @returns {React.ReactElement<any>} return as a function to avoid re-render\n */\n\n/**\n * @param root0\n * @param root0.openCard\n * @param root0.onCloseCard\n * @param root0.stopCardIndex\n * @param root0.handleSelectAccessorial\n * @param root0.copyAccessorials\n */\nexport default function MenuAccessorials({\n openCard,\n onCloseCard,\n stopCardIndex,\n handleSelectAccessorial,\n copyAccessorials,\n}: menuAccessorials): JSX.Element {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const openAccessorials = Boolean(anchorEl);\n\n const setAnchorHandler = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <Grid\n container\n alignItems=\"center\"\n justifyContent={`${openCard ? \"space-between\" : \"flex-end\"}`}\n flexWrap=\"nowrap\"\n >\n <Grid item>\n <Chip\n icon={<AddCircleOutlineRoundedIcon />}\n label={\"Accessorials\"}\n variant=\"outlined\"\n onClick={setAnchorHandler}\n />\n <MenuAccessorialList\n openAccessorials={openAccessorials}\n anchorEl={anchorEl}\n handleClose={handleClose}\n handleSelectAccessorial={handleSelectAccessorial}\n copyAccessorials={copyAccessorials}\n />\n </Grid>\n {openCard && (\n <Grid item>\n <Button onClick={() => onCloseCard(stopCardIndex)} color=\"inherit\">\n <CloseIcon />\n </Button>\n </Grid>\n )}\n </Grid>\n );\n}\n\nconst MenuAccessorialList = ({\n copyAccessorials,\n handleSelectAccessorial,\n openAccessorials,\n handleClose,\n anchorEl,\n}: IMenuAccessorials) => {\n return (\n <Menu\n id=\"demo-positioned-menu\"\n aria-labelledby=\"demo-positioned-button\"\n anchorEl={anchorEl}\n open={openAccessorials}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n {!copyAccessorials.length && <MenuItem>No item</MenuItem>}\n {copyAccessorials.map((accessorial: IAccessorialObj, i: number) => {\n if (accessorial.quoteVisible) {\n return (\n <MenuItem\n key={accessorial.accessorialId}\n onClick={() => {\n handleSelectAccessorial(i);\n handleClose();\n }}\n >\n <ListItemText\n primary={accessorial.name}\n secondary={`$${accessorial.costAmount} / ${accessorial.unitType}`}\n />\n </MenuItem>\n );\n }\n\n return [];\n })}\n </Menu>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport React, { useState } from \"react\";\nimport { NerdHeading, NerdInput, NerdNotifier } from \"@nerdjs/nerd-ui\";\nimport Chip from \"@mui/material/Chip\";\nimport { nanoid } from \"@reduxjs/toolkit\";\nimport \"./Stop.scss\";\nimport { IStopDetail, QuoteAuxContent } from \"../salesQuote/typings\";\nimport { IAccessorialObj, IStateShippers } from \"../../redux/quote/quoteState\";\nimport { TextField } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\nimport { LocationFinder } from \"../locationFinder\";\nimport { ServiceContext } from \"../salesQuote/salesQuote\";\nimport StopDetailHeader from \"./stopDetailHeader\";\nimport MenuAccessorials from \"./menuAccessorials\";\n\nconst StopDetail = (props: IStopDetail) => {\n // Props\n const {\n stopCardIndex,\n openCard,\n onCloseCard,\n quoteAccessorials,\n CardContainer,\n stopType,\n dispatch,\n networkCompletionStack,\n onChange,\n } = props;\n\n const [date, setDate] = useState<moment.Moment | null>(null);\n const [open, setOpen] = useState(false);\n const [zipLocation, setZipLocation] = useState(\"\");\n const [copyAccessorials, setCopyAccessorials] =\n React.useState(quoteAccessorials);\n const [chipAccessorialData, setChipAccessorialData] = React.useState<\n readonly IAccessorialObj[]\n >([]);\n const service = React.useContext(ServiceContext);\n const [copyFacility, setCopyFacility] = React.useState<\n Partial<IStateShippers>\n >({\n zip: \"\",\n accessorialIds: [],\n date: null,\n });\n\n React.useEffect(() => {\n setCopyAccessorials(quoteAccessorials);\n\n const chipAccessorialDataFilteredByService = quoteAccessorials.filter(\n function (o1) {\n return chipAccessorialData.some(function (o2) {\n return o1.accessorialId === o2.accessorialId; // id is unnique both array object\n });\n }\n );\n setChipAccessorialData(chipAccessorialDataFilteredByService);\n }, [quoteAccessorials]);\n\n React.useEffect(() => {\n if (onChange) {\n onChange({\n name: copyFacility.name || \"\",\n type: stopType === QuoteAuxContent.PICK_UP ? \"shipper\" : \"consignee\",\n date: date ? date.format(\"YYYY-MM-DD\") : null,\n locationId: copyFacility.id || undefined,\n city: copyFacility.address ? copyFacility.address.city : \"\",\n state: copyFacility.address ? copyFacility.address.state : \"\",\n zip: zipLocation,\n address: {\n locationId: copyFacility.id || undefined,\n line1: copyFacility.address ? copyFacility.address.line1 : \"\",\n city: copyFacility.address ? copyFacility.address.city : \"\",\n state: copyFacility.address ? copyFacility.address.state : \"\",\n zip: copyFacility.address ? copyFacility.address.zip : \"\",\n latitude: copyFacility.address ? copyFacility.address.latitude : 0,\n longitude: copyFacility.address ? copyFacility.address.longitude : 0,\n },\n accessorialIds: chipAccessorialData.map((item) =>\n Number(item.accessorialId!)\n ),\n });\n }\n }, [chipAccessorialData, zipLocation, date, copyFacility]);\n\n if (!CardContainer) {\n return null;\n }\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (event.target instanceof HTMLInputElement) {\n setOpen(true);\n }\n };\n\n const onClose = () => {\n setOpen(false);\n };\n\n const handleSelectAccessorial = (i: number) => {\n setCopyAccessorials(\n copyAccessorials.filter((_: any, index: number) => index !== i)\n );\n setChipAccessorialData([...chipAccessorialData, copyAccessorials[i]]);\n };\n\n const handleDelete = (chipToDelete: IAccessorialObj) => () => {\n setChipAccessorialData((chips) =>\n chips.filter((chip) => chip.accessorialId !== chipToDelete.accessorialId)\n );\n setCopyAccessorials([...copyAccessorials, chipToDelete]);\n };\n\n const stopCardTypeSize = stopType === QuoteAuxContent.PICK_UP ? 4 : 6;\n\n return (\n <React.Fragment>\n <CardContainer className=\"Stop\">\n <Grid container rowSpacing={2} justifyContent=\"space-between\">\n <Grid item marginBottom={1}>\n <StopDetailHeader type={stopType} index={stopCardIndex} />\n </Grid>\n <Grid item>\n <MenuAccessorials\n openCard={openCard}\n onCloseCard={onCloseCard}\n stopCardIndex={stopCardIndex}\n handleSelectAccessorial={handleSelectAccessorial}\n copyAccessorials={copyAccessorials}\n />\n </Grid>\n </Grid>\n <Grid container spacing={2}>\n <Grid item xs={12} sm={stopCardTypeSize}>\n <TextField\n id=\"zip\"\n label={\"Location\"}\n value={zipLocation}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setZipLocation(e.target.value);\n onClose();\n }}\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) =>\n handleClick(e)\n }\n placeholder={\"Zipcode or City, State\"}\n required={!zipLocation ? true : false}\n fullWidth\n variant=\"standard\"\n InputLabelProps={{\n shrink: true,\n }}\n sx={{\n \"& .MuiInputLabel-root\": {\n display: \"flex\",\n },\n }}\n helperText={!zipLocation ? \"required\" : \"\"}\n />\n {open && <RenderNotifier onClose={onClose} />}\n </Grid>\n <Grid item xs={12} sm={stopCardTypeSize}>\n <LocationFinder\n {...{\n stopType,\n dispatch,\n networkCompletionStack,\n service,\n zipLocation,\n }}\n className={\n stopType === QuoteAuxContent.PICK_UP ? \"autocompleteSmall\" : \"\"\n }\n onLocationSelectedHandler={(location) => {\n setCopyFacility(location);\n }}\n />\n </Grid>\n {stopType === QuoteAuxContent.PICK_UP && (\n <Grid item xs={12} sm={stopCardTypeSize}>\n <NerdInput\n id=\"pickupDate\"\n label={\"Pickup Date\"}\n placeholder={\"Pickup Date\"}\n fullWidth\n type=\"date\"\n required={true}\n onChange={(newDate: moment.Moment | null) => {\n if (newDate) {\n setDate(newDate);\n }\n }}\n value={date}\n />\n </Grid>\n )}\n </Grid>\n {chipAccessorialData.length > 0 && (\n <Grid container mt={1}>\n <Grid item xs={12} sm={12}>\n <NerdHeading text=\"Accessorials:\" variant=\"subtitle2\" />\n </Grid>\n <Grid\n item\n component=\"ul\"\n sx={{\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexWrap: \"wrap\",\n listStyle: \"none\",\n p: 0.5,\n m: 0,\n boxShadow: \"none\",\n }}\n >\n {chipAccessorialData.map((accessorial: IAccessorialObj) => {\n let icon;\n\n if (!accessorial) {\n return null;\n }\n return (\n <ListItem key={accessorial.accessorialId}>\n <Chip\n icon={icon}\n label={`${accessorial.name}, $${accessorial.costAmount} / ${accessorial.unitType}`}\n onDelete={handleDelete(accessorial)}\n sx={{\n fontWeight: \"400\",\n }}\n />\n </ListItem>\n );\n })}\n </Grid>\n </Grid>\n )}\n </CardContainer>\n </React.Fragment>\n );\n};\n\n/**\n * @param {() => {}} onClose - function to close the notifier\n * @returns {React.ReactElement<any>} - returns the notifier component\n */\nfunction RenderNotifier({ onClose }: { onClose: () => void }): JSX.Element {\n return (\n <NerdNotifier\n notification={{\n uuid: nanoid(),\n subtitle:\n \"Inaccurate locations may lead to a higher price and may void the quote discount\",\n body: \"You should select a facility in addition to the zipcode.\",\n autohide: false,\n position: {\n vertical: \"bottom\",\n horizontal: \"center\",\n },\n color: \"rgb(49, 49, 49)\",\n }}\n onClose={onClose}\n />\n );\n}\n\nconst ListItem = styled(\"li\")(({ theme }) => ({\n margin: theme.spacing(0.5),\n}));\n\nexport default React.memo(StopDetail);\n","import { styled } from \"@mui/material/styles\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport { NerdHeading, NerdHelp } from \"@nerdjs/nerd-ui\";\nimport React from \"react\";\nimport { IShippers, IStop, QuoteAuxContent } from \"../salesQuote/typings\";\nimport StopDetail from \"./stopDetail\";\nimport * as Constants from \"../../utils/constants\";\nimport Button from \"@mui/material/Button\";\nimport { IAccessorial, IAccessorialObj } from \"../../redux/quote/quoteState\";\n\nconst Stop = (props: IStop) => {\n const {\n stopCards,\n CardContainer,\n openCard,\n onCloseCard,\n stopType,\n addMoreStopHandler,\n disabled,\n accessorials,\n serviceType,\n dispatch,\n networkCompletionStack,\n onChange,\n } = props;\n\n const quoteAccessorials =\n serviceType !== QuoteAuxContent.EXPEDITED\n ? getAccessorialFiltered(accessorials, serviceType)\n : [];\n\n return (\n <React.Fragment>\n {stopCards &&\n stopCards.map((stopCard: IShippers, stopCardIndex: number) => (\n <StopDetail\n CardContainer={CardContainer}\n key={stopCardIndex}\n stopCard={stopCard}\n stopCardIndex={stopCardIndex}\n openCard={openCard ? openCard : false}\n onCloseCard={onCloseCard!}\n quoteAccessorials={quoteAccessorials}\n stopType={stopType}\n dispatch={dispatch!}\n networkCompletionStack={networkCompletionStack!}\n onChange={onChange}\n />\n ))}\n <NerdHelp\n explanation={`Add ${stopType}, ${\n Constants.QUOTE_MAX_STOPS - stopCards.length\n } Stops Max`}\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"center\" }}\n transformOrigin={{ vertical: \"top\", horizontal: \"center\" }}\n variant=\"caption\"\n >\n <QuoteButton\n variant=\"outlined\"\n sx={{ marginBottom: \"0.5rem\" }}\n onClick={addMoreStopHandler}\n disabled={disabled}\n >\n <AddIcon />\n <NerdHeading\n text={stopType}\n uppercase\n sx={{ marginLeft: \"0.2rem\" }}\n />\n </QuoteButton>\n </NerdHelp>\n </React.Fragment>\n );\n};\n\nconst QuoteButton = styled(Button)({\n background: \"#fff\",\n border: \"1px solid rgba(0, 0, 0, 0.53)\",\n borderRadius: 3,\n color: \"rgba(0, 0, 0, 0.87)\",\n padding: \"5px 15px\",\n \"&:hover\": {\n color: \"#fff\",\n background: \"rgb(130 129 129 / 80%)\",\n border: \"1px solid #fff\",\n },\n});\n\n/**\n * @param accessorials\n * @param serviceType\n */\nfunction getAccessorialFiltered(\n accessorials: IAccessorial,\n serviceType: string\n) {\n let accessorialsFiltered: IAccessorialObj[] = [];\n\n const accessorialObjKeyArray = Object.keys(accessorials).filter((item) =>\n item.startsWith(serviceType.toLowerCase())\n );\n\n for (const [key, value] of Object.entries(accessorials)) {\n if (key === accessorialObjKeyArray[0]) {\n accessorialsFiltered = value;\n }\n }\n\n return accessorialsFiltered;\n}\n\nexport default Stop;\n","import FormControl from \"@mui/material/FormControl\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport NativeSelect from \"@mui/material/NativeSelect\";\nimport Select, { SelectChangeEvent } from \"@mui/material/Select\";\nimport { setAxeValue } from \"@nerdjs/nerd-ui\";\nimport { ICommodityDescription } from \"../../../../redux/quote\";\n\ntype commodityDescription = {\n commodityDescriptionAxeValue: string;\n t: (key: string) => string | undefined;\n isMobile: boolean;\n commodityDescriptions: ICommodityDescription[];\n commodity: string;\n handleSelectChange: (event: SelectChangeEvent<string>, type: string) => void;\n};\n\n/**\n * @param props\n */\nexport default function CommodityDescription(props: commodityDescription) {\n const {\n commodityDescriptionAxeValue,\n t,\n isMobile,\n commodityDescriptions,\n commodity,\n handleSelectChange,\n } = props;\n return (\n <FormControl component=\"fieldset\" fullWidth>\n <InputLabel\n variant={\"standard\"}\n htmlFor={setAxeValue(commodityDescriptionAxeValue)}\n shrink={true}\n >\n {t(\"quote.commodity_description\")}\n </InputLabel>\n {isMobile ? (\n <NativeSelect defaultValue={30} sx={{ width: \"100%\" }}>\n {commodityDescriptions.map((option, i) => (\n <option value={option.id} key={i}>\n {option.name}\n </option>\n ))}\n </NativeSelect>\n ) : (\n <Select\n labelId={setAxeValue(commodityDescriptionAxeValue)}\n id={`select-${setAxeValue(commodityDescriptionAxeValue)}`}\n aria-label={setAxeValue(commodityDescriptionAxeValue)}\n aria-labelledby={setAxeValue(t(\"quote.commodity_description\"))}\n value={commodity}\n onChange={(event: any) =>\n handleSelectChange(event, \"commodity_description\")\n }\n variant=\"standard\"\n defaultValue={commodity}\n >\n {commodityDescriptions.map((option) => (\n <MenuItem key={option.id} value={option.name}>\n {option.name}\n </MenuItem>\n ))}\n </Select>\n )}\n <FormHelperText sx={{ marginLeft: 0 }}>{\"required\"}</FormHelperText>\n </FormControl>\n );\n}\n","import FormControl from \"@mui/material/FormControl\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport FormGroup from \"@mui/material/FormGroup\";\nimport FormLabel from \"@mui/material/FormLabel\";\nimport Grid from \"@mui/material/Grid\";\nimport Radio from \"@mui/material/Radio\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport Switch from \"@mui/material/Switch\";\nimport { NerdHelp, NerdInput } from \"@nerdjs/nerd-ui\";\nimport { nerdSalesQuoteCheckProps, QuoteAuxContent } from \"../../typings\";\nimport React, { useState } from \"react\";\nimport QuoteSelect from \"../quoteSelect\";\nimport { IQuoteForm, storeQuoteFormData } from \"../../../../redux/quote\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\n\nconst options = [\n QuoteAuxContent.LTL,\n QuoteAuxContent.TL,\n QuoteAuxContent.EXPEDITED,\n];\n\n/**\n * @param props\n */\nexport default function QuoteCheck(props: nerdSalesQuoteCheckProps) {\n const { onChange, service, mode, isMobile = false, dispatch, state } = props;\n const [reeferTemp, setReeferTemp] = useState(\"\");\n const columnSize =\n mode === QuoteAuxContent.REEFER && service !== QuoteAuxContent.EXPEDITED\n ? 3\n : 4;\n const temperatureError =\n service === QuoteAuxContent.LTL\n ? reeferTemp < \"40\" || reeferTemp > \"80\"\n : reeferTemp < \"-20\" || reeferTemp > \"80\";\n\n return (\n <React.Fragment>\n <Grid item xs={12} sm={columnSize}>\n <NerdHelp\n explanation=\"Select LTL (Less Than Truckload) or TL (Truckload)\"\n variant=\"body1\"\n >\n <FormLabel component=\"legend\">{\"Service\"}</FormLabel>\n </NerdHelp>\n <QuoteSelect\n labelId=\"Service\"\n selectOptions={options}\n onChange={(event) => onChange(event, \"service\")}\n isMobile={isMobile}\n value={service}\n required={false}\n />\n </Grid>\n <Grid item xs={6} sm={service !== QuoteAuxContent.EXPEDITED ? 2 : 4}>\n <FormControl component=\"fieldset\">\n <FormLabel component=\"legend\">{\"Mode\"}</FormLabel>\n <RadioGroup\n aria-label={\"Mode\"}\n name=\"mode\"\n value={mode}\n onChange={(event) => onChange(event, \"mode\")}\n >\n <FormControlLabel\n value={QuoteAuxContent.DRY}\n control={<Radio color=\"primary\" />}\n label={QuoteAuxContent.DRY}\n />\n <FormControlLabel\n value={QuoteAuxContent.REEFER}\n control={<Radio color=\"primary\" />}\n disabled={service === QuoteAuxContent.EXPEDITED}\n label={QuoteAuxContent.REEFER}\n />\n </RadioGroup>\n </FormControl>\n </Grid>\n {mode === QuoteAuxContent.REEFER &&\n service !== QuoteAuxContent.EXPEDITED && (\n <Grid item xs={12} md={columnSize}>\n <NerdInput\n id=\"Temperature\"\n label={\n <NerdHelp\n explanation=\"Temperature range depends on the service you selected.\"\n variant=\"body1\"\n >\n Temperature\n </NerdHelp>\n }\n placeholder={\"in Fahrenheit\"}\n helperText={\n service === QuoteAuxContent.LTL\n ? \"Between 40℉ and 80℉\"\n : \"Between -20℉ and 80℉\"\n }\n fullWidth\n value={reeferTemp}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n setReeferTemp(event.target.value);\n dispatch(\n storeQuoteFormData({\n reefer: {\n ...state.reefer,\n reeferTemp: event.target.value,\n },\n })\n );\n }}\n type=\"text\"\n error={reeferTemp !== \"\" && temperatureError}\n />\n </Grid>\n )}\n <Grid item xs={6} sm={columnSize}>\n <FormGroup row>{RenderQuoteSwitch(mode, dispatch, state)}</FormGroup>\n </Grid>\n </React.Fragment>\n );\n}\n\nconst RenderQuoteSwitch = (\n mode: string,\n dispatch: Dispatch<AnyAction>,\n state: IQuoteForm\n): JSX.Element => {\n const [dryVanOnly, setChecked] = useState(false);\n const [reeferCont, setReeferCont] = useState(false);\n\n const handleCheckboxChange = (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string\n ) => {\n if (value === \"dryVanOnly\") {\n setChecked(event.target.checked);\n dispatch(\n storeQuoteFormData({\n dryVanOnly: event.target.checked,\n })\n );\n } else {\n setReeferCont(event.target.checked);\n dispatch(\n storeQuoteFormData({\n reefer: {\n ...state.reefer,\n reeferCont: event.target.checked,\n },\n })\n );\n }\n };\n\n const controlSwitch =\n mode === QuoteAuxContent.REEFER ? (\n <Switch\n checked={reeferCont}\n onChange={(e) => handleCheckboxChange(e, \"reeferCont\")}\n value={\"Continuous Running\"}\n color=\"primary\"\n />\n ) : (\n <Switch\n checked={dryVanOnly}\n onChange={(e) => handleCheckboxChange(e, \"dryVanOnly\")}\n value={\"Dry Van Only\"}\n color=\"primary\"\n />\n );\n\n const labelSwitch =\n mode === QuoteAuxContent.REEFER ? \"Continuous Running\" : \"Dry Van Only\";\n\n return <FormControlLabel control={controlSwitch} label={labelSwitch} />;\n};\n","import React, { Suspense, useCallback, useEffect, useState } from \"react\";\nimport { NerdCard, NerdHeading, NerdHelp, setAxeValue } from \"@nerdjs/nerd-ui\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n IPallet,\n IQuoteObjProps,\n IShippers,\n QuoteAuxContent,\n ServiceContextType,\n} from \"../../typings\";\nimport QuoteSelect from \"../quoteSelect\";\nimport PalletCount from \"../pallet/palletCount\";\nimport * as Constants from \"../../../../utils/constants\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport {\n getQuoteAccessorials,\n getQuoteCommodityDescription,\n setIsQuoteFormSubmitted,\n storeQuoteFormData,\n} from \"../../../../redux/quote/quoteAction\";\nimport { PalletChecker } from \"../pallet/palletChecker\";\nimport EditPallet from \"../pallet/editPallet\";\nimport Stop from \"../../../stop/stop\";\nimport Stack from \"@mui/material/Stack\";\nimport Button from \"@mui/material/Button\";\nimport CustomerFinder from \"../../../customerFinder/customerFinder\";\nimport { IStateShippers } from \"../../../../redux/quote/quoteState\";\nimport { BoxProps, SelectChangeEvent, TextField } from \"@mui/material\";\nimport { Loading } from \"../../../shared/loading\";\nimport CommodityDescription from \"./commodityDescription\";\nimport QuoteCheck from \"./quoteCheck\";\nimport { ServiceContext } from \"../../salesQuote\";\n\nconst initPalletState = {\n units: QuoteAuxContent.INCHES,\n length: 48,\n width: 40,\n height: 48,\n count: \"\",\n stackable: false,\n key: Date.now(),\n};\n\nconst initStopState = {\n zip: \"\",\n facility: \"\",\n accessorialIds: [],\n date: null,\n};\n\nexport const AboutQuote = (props: IQuoteObjProps & BoxProps) => {\n const {\n dispatch,\n networkCompletionStack,\n isCustomer,\n children = null,\n submitForm,\n } = props;\n const { t, isMobile, quoteState } = React.useContext(\n ServiceContext\n ) as ServiceContextType;\n const { commodity_descriptions, quoteFormData, units, error, accessorials } =\n quoteState;\n const [commodity, setCommodity] = useState(\"\");\n const [totalWeight, setTotalWeight] = useState(\"\");\n const [freightClass, setFreightClass] = useState(\"\");\n const [tmpPallet, setTmpPallet] = useState<IPallet>(initPalletState);\n const [palletToUpdate, setPalletToUpdate] = useState<IPallet>(tmpPallet);\n const [palletDimensions, setPalletDimensions] = useState<IPallet[]>([]);\n const [palletDimensionsIndex, setPalletDimensionsIndex] = useState<number>(0);\n const [palletOpen, setPalletOpen] = useState<boolean>(false);\n const [pickups, setPickups] = useState<typeof initStopState[]>([\n initStopState,\n ]);\n const [dropOffs, setDropoffs] = useState<IShippers[]>([initStopState]);\n const [closePickupCard, setClosePickupCard] = useState(false);\n const [closeDropoffCard, setCloseDropoffCard] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [requestUUID, setRequestUUID] = useState(\"\");\n const [pending, setPending] = useState(false);\n const [service, setService] = useState<string>(QuoteAuxContent.LTL);\n const [mode, setMode] = useState<string>(QuoteAuxContent.DRY);\n const [pickupData, setPickupData] = useState<IStateShippers>();\n const [dropoffData, setDropoffData] = useState<IStateShippers>();\n const [isSubmitDisabled, setIsSubmitDisabled] = useState(true);\n\n // AXE values\n const commodityDescriptionAxeValue: string =\n t(\"quote.commodity_description\") || \"\";\n\n /** Fetch Data */\n const fetchAccessorials = useCallback(() => {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n getQuoteAccessorials()\n );\n setRequestUUID(uuid);\n }, [dispatch]);\n\n const fetchCommodityDescription = useCallback(() => {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n getQuoteCommodityDescription()\n );\n setRequestUUID(uuid);\n }, [dispatch]);\n\n // Fetch the data only once\n useEffect(() => {\n fetchAccessorials();\n fetchCommodityDescription();\n }, []);\n\n // Check network completion\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n // Set commodity description content\n useEffect(() => {\n if (\n commodity_descriptions &&\n commodity_descriptions.length > 0 &&\n commodity_descriptions[0].name\n ) {\n dispatch(\n storeQuoteFormData({\n commodityDescriptionId: commodity_descriptions[0].id,\n })\n );\n setCommodity(commodity_descriptions[0].name);\n }\n }, [commodity_descriptions]);\n\n // Detect Pallet change\n useEffect(() => {\n dispatch(\n storeQuoteFormData({\n units: {\n palletDimensions: palletDimensions,\n totalDimensions: {\n totalWeight: totalWeight,\n },\n },\n })\n );\n }, [palletDimensions]);\n\n // Check required inputs to disabled calculate button\n useEffect(() => {\n const isPickupLocationEnabled =\n pickupData?.zip === undefined || pickupData?.zip.toString() === \"\";\n const isPickupDateEnabled = pickupData?.date === null;\n const isDropoffLocationEnabled =\n dropoffData?.zip === undefined || dropoffData?.zip.toString() === \"\";\n\n const isEnabled =\n totalWeight === \"\" ||\n isPickupLocationEnabled ||\n isDropoffLocationEnabled ||\n !palletDimensions.length ||\n isPickupDateEnabled;\n\n if (!isCustomer) {\n setIsSubmitDisabled(quoteFormData.customerId ? false : true);\n }\n\n setIsSubmitDisabled(isEnabled);\n dispatch(setIsQuoteFormSubmitted(!isEnabled));\n }, [totalWeight, dropoffData, pickupData, palletDimensions]);\n\n /**\n * Handle Pallet functionality start\n *\n * @param event\n */\n const handlePalletChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === \"\" || Constants.re.test(event.target.value)) {\n setTmpPallet((prevState) => {\n return {\n ...prevState,\n count: event.target.value,\n };\n });\n }\n };\n\n const onEventPalletHanlder = (\n event: React.KeyboardEvent<HTMLInputElement>\n ) => {\n addPallet(event, tmpPallet, palletDimensions, setPalletDimensions);\n if (event.key === \"Enter\" || event.type === \"blur\") {\n setTmpPallet((prevState) => {\n return {\n ...prevState,\n count: \"\",\n };\n });\n }\n };\n\n const onDeletePalletHanlder = (index: number) => {\n setPalletDimensions((prevState) => {\n return prevState.filter((_p, i) => i !== index);\n });\n };\n\n const onEditPalletHanlder = (index: number) => {\n setPalletOpen(true);\n setPalletToUpdate(palletDimensions[index]);\n setPalletDimensionsIndex(index);\n };\n\n const onCloseEditPallet = () => setPalletOpen(false);\n\n const updatePallet = (pallet: IPallet) => {\n setPalletToUpdate(pallet);\n setPalletDimensions((prevState) => {\n return prevState.map((p, i) => {\n if (palletToUpdate.key === p.key && i === palletDimensionsIndex) {\n return pallet;\n }\n return p;\n });\n });\n };\n\n /** Handle Pallet functionality end */\n\n /* Select handlers begin */\n const handleSelectChange = (\n event: SelectChangeEvent<string>,\n type: string\n ) => {\n switch (type) {\n case \"mode\":\n setMode(event.target.value);\n dispatch(\n storeQuoteFormData({\n mode: event.target.value,\n })\n );\n break;\n case \"service\":\n setService(event.target.value);\n dispatch(\n storeQuoteFormData({\n service: event.target.value,\n })\n );\n break;\n case \"commodity_description\": {\n setCommodity(event.target.value);\n const commodityDescriptionsFiltered = commodity_descriptions.filter(\n (item) =>\n item.name?.toLocaleLowerCase() === event.target.value.toLowerCase()\n );\n if (commodityDescriptionsFiltered.length > 0) {\n const commodityObject = commodityDescriptionsFiltered[0];\n if (commodityObject.id) {\n const { id } = commodityObject;\n dispatch(\n storeQuoteFormData({\n commodityDescriptionId: id,\n })\n );\n }\n }\n break;\n }\n case \"freight_class\": {\n setFreightClass(event.target.value);\n dispatch(\n storeQuoteFormData({\n freightClass: event.target.value,\n })\n );\n break;\n }\n default:\n break;\n }\n };\n /* Select handlers end */\n\n /* Inputs handlers begin */\n const inputHandleChange = (\n event: React.ChangeEvent<HTMLInputElement>,\n type: string\n ) => {\n switch (type) {\n case \"total_weight\":\n setTotalWeight(event.target.value);\n dispatch(\n storeQuoteFormData({\n units: {\n palletDimensions: palletDimensions,\n totalDimensions: {\n totalWeight: event.target.value,\n },\n },\n })\n );\n break;\n default:\n break;\n }\n };\n /* Inputs handlers end */\n\n /* Stop Handlers begin */\n const onCloseStopHandler = (stopType: string, index: number) => {\n switch (stopType) {\n case QuoteAuxContent.PICK_UP:\n setPickups((prevState) => {\n return prevState.filter((_, i) => i !== index);\n });\n if (pickups.length - 1 === 1) {\n setClosePickupCard(false);\n }\n break;\n case QuoteAuxContent.DROP_OFF:\n setDropoffs((prevState) => {\n return prevState.filter((_, i) => i !== index);\n });\n if (dropOffs.length - 1 === 1) {\n setCloseDropoffCard(false);\n }\n break;\n default:\n break;\n }\n };\n\n const addMoreStopHandler = (stopType: string) => {\n if (\n pickups.length > Constants.QUOTE_MAX_STOPS ||\n pickups.length + 1 === Constants.QUOTE_MAX_STOPS ||\n dropOffs.length > Constants.QUOTE_MAX_STOPS ||\n dropOffs.length + 1 === Constants.QUOTE_MAX_STOPS\n ) {\n setDisabled(true);\n }\n\n if (stopType === QuoteAuxContent.PICK_UP) {\n setPickups((prevState) => {\n return [...prevState, initStopState];\n });\n setClosePickupCard(true);\n } else {\n setDropoffs((prevState) => {\n return [...prevState, initStopState];\n });\n setCloseDropoffCard(true);\n }\n };\n\n useEffect(() => {\n if (pickupData && Object.keys(pickupData).length > 0) {\n dispatch(\n storeQuoteFormData({\n shippers: [...pickups, { ...pickupData }].filter(\n (data) => data.zip !== \"\" && data.date !== \"\"\n ),\n })\n );\n }\n }, [pickups, pickupData]);\n\n useEffect(() => {\n if (dropoffData && Object.keys(dropoffData).length > 0) {\n dispatch(\n storeQuoteFormData({\n consignees: [...dropOffs, { ...dropoffData }].filter(\n (data) => data.zip\n ),\n })\n );\n }\n }, [dropOffs, dropoffData]);\n\n /* Stop Handlers ends */\n\n if (pending) {\n return <Loading height={50} />;\n }\n\n return (\n <React.Fragment>\n <NerdCard>\n {children}\n <Suspense fallback={<Loading height={50} />}>\n <Grid container spacing={2} mt={1}>\n {!isCustomer && (\n <Grid item xs={12}>\n <CustomerFinder\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n />\n </Grid>\n )}\n <QuoteCheck\n onChange={handleSelectChange}\n service={service}\n mode={mode}\n isMobile={isMobile}\n dispatch={dispatch}\n state={quoteFormData}\n />\n </Grid>\n </Suspense>\n <Grid container spacing={2} mt={1}>\n <Grid item xs={12} sm={4}>\n <CommodityDescription\n commodityDescriptions={commodity_descriptions}\n handleSelectChange={handleSelectChange}\n t={t}\n isMobile={isMobile}\n commodity={commodity}\n commodityDescriptionAxeValue={commodityDescriptionAxeValue}\n />\n </Grid>\n <Grid item xs={12} sm={4}>\n <TextField\n id=\"totalWeight\"\n value={totalWeight}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n const re = /^[0-9\\b]+$/;\n if (event.target.value === \"\" || re.test(event.target.value)) {\n inputHandleChange(event, \"total_weight\");\n }\n }}\n label={\n <NerdHelp\n explanation=\"Weight will be verified on server side to check the equipment compability.\"\n variant=\"body1\"\n >\n {t(\"quote.total_weigth\")}\n </NerdHelp>\n }\n placeholder={t(\"quote.in_pounds\")}\n fullWidth\n variant=\"standard\"\n InputLabelProps={{\n shrink: true,\n }}\n sx={{\n \"& .MuiInputLabel-root\": {\n display: \"flex\",\n },\n }}\n required={!totalWeight ? true : false}\n helperText={!totalWeight ? \"required\" : \"\"}\n />\n </Grid>\n <Grid item xs={12} sm={4}>\n <QuoteSelect\n inputLabel={t(\"quote.freight_class\")}\n labelId={setAxeValue(commodityDescriptionAxeValue)}\n selectOptions={Constants.FREIGHT_CLASS}\n onChange={(event) => handleSelectChange(event, \"freight_class\")}\n isMobile={isMobile}\n value={freightClass}\n required={false}\n />\n </Grid>\n </Grid>\n <Grid container spacing={2} mt={1}>\n <PalletCount\n onChange={handlePalletChange}\n onKeyPress={onEventPalletHanlder}\n onBlur={onEventPalletHanlder as any}\n onDelete={(e) => onDeletePalletHanlder(e)}\n onDimensionEdit={(e) => onEditPalletHanlder(e)}\n palletDimensions={palletDimensions}\n tmpPallet={tmpPallet}\n />\n </Grid>\n {totalWeight !== \"\" && palletDimensions.length > 0 && (\n <Grid\n container\n spacing={1}\n alignItems=\"center\"\n justifyContent=\"end\"\n mt={1}\n >\n <PalletChecker\n totalWeight={totalWeight}\n palletDimensions={palletDimensions}\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n units={units}\n stateError={error}\n />\n </Grid>\n )}\n {palletOpen && (\n <EditPallet\n open={palletOpen}\n close={onCloseEditPallet}\n pallet={palletToUpdate}\n save={updatePallet}\n />\n )}\n </NerdCard>\n <Stack spacing={2} alignItems=\"center\">\n <Stop\n CardContainer={NerdCard}\n openCard={closePickupCard}\n onCloseCard={(index) =>\n onCloseStopHandler(QuoteAuxContent.PICK_UP, index)\n }\n accessorials={accessorials}\n stopCards={pickups}\n stopType={QuoteAuxContent.PICK_UP}\n addMoreStopHandler={() => addMoreStopHandler(QuoteAuxContent.PICK_UP)}\n disabled={disabled}\n serviceType={service}\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n onChange={(data: IStateShippers) => {\n setPickupData(data);\n }}\n />\n </Stack>\n <Stack spacing={2} alignItems=\"center\">\n <Stop\n CardContainer={NerdCard}\n openCard={closeDropoffCard}\n onCloseCard={(index) =>\n onCloseStopHandler(QuoteAuxContent.DROP_OFF, index)\n }\n accessorials={accessorials}\n stopCards={dropOffs}\n stopType={QuoteAuxContent.DROP_OFF}\n addMoreStopHandler={() =>\n addMoreStopHandler(QuoteAuxContent.DROP_OFF)\n }\n disabled={disabled}\n serviceType={service}\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n onChange={(data: IStateShippers) => {\n setDropoffData(data);\n }}\n />\n </Stack>\n <Grid item xs={12} display=\"flex\" justifyContent={\"center\"}>\n <NerdHelp\n explanation=\"Calculate the Quote\"\n anchorOrigin={{ vertical: \"top\", horizontal: \"center\" }}\n transformOrigin={{ vertical: \"bottom\", horizontal: \"center\" }}\n variant=\"caption\"\n >\n <Button\n color=\"primary\"\n variant=\"contained\"\n disabled={isSubmitDisabled}\n onClick={() => {\n submitForm();\n }}\n >\n <NerdHeading\n variant=\"button\"\n text=\"Calculate\"\n fontWeight={700}\n display=\"block\"\n px={1}\n py={\"0.25rem\"}\n />\n </Button>\n </NerdHelp>\n </Grid>\n </React.Fragment>\n );\n};\n\n/**\n * @param event\n * @param tmpPallet\n * @param palletDimensions\n * @param setState\n */\nfunction addPallet<T>(\n event:\n | React.KeyboardEvent<HTMLInputElement>\n | React.FocusEvent<HTMLInputElement>,\n tmpPallet: T,\n palletDimensions: T[],\n setState: React.Dispatch<React.SetStateAction<T[]>>\n) {\n const keyPress = (event as unknown as React.KeyboardEvent<HTMLInputElement>)\n .key;\n const onBlur = (event as unknown as React.FocusEvent<HTMLInputElement>).type;\n\n if (\n (keyPress === \"Enter\" &&\n (tmpPallet as unknown as IPallet).count &&\n (tmpPallet as unknown as IPallet).count !== 0) ||\n (onBlur === \"blur\" &&\n (tmpPallet as unknown as IPallet).count &&\n (tmpPallet as unknown as IPallet).count !== 0)\n ) {\n setState([...palletDimensions, tmpPallet]);\n }\n}\n\nexport default AboutQuote;\n","import Card from \"@mui/material/Card\";\nimport CardContent from \"@mui/material/CardContent\";\nimport Grid from \"@mui/material/Grid\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Typography from \"@mui/material/Typography\";\nimport { useContext } from \"react\";\nimport MarketCosts from \"../../../../entities/marketCosts/helper\";\nimport { formattedPrice } from \"../../../../utils/helpers\";\nimport { ServiceContext } from \"../../salesQuote\";\nimport { ServiceContextType } from \"../../typings\";\n\n/**\n * @param marketCosts\n */\nfunction MarketCostsComponent(marketCosts: MarketCosts) {\n const { t } = useContext(ServiceContext) as ServiceContextType;\n const {\n linehaul_cost,\n fuel_cost,\n truckload_total_cost,\n ltl_pallet_percentage,\n stop_fees,\n total_cost,\n margin,\n total_cost_with_margin,\n otr_miles,\n } = marketCosts;\n\n let rowsAuxTable: { name: string; value: number | string }[] = [];\n\n if (marketCosts && marketCosts.market_data) {\n const {\n market_data: {\n fuel_rate,\n linehaul_rate,\n linehaul_total,\n market_type,\n market_lane,\n },\n } = marketCosts;\n\n rowsAuxTable = [\n createMarketCostsAuxData(t(\"quote.miles\"), otr_miles),\n createMarketCostsAuxData(\n t(\"quote.fuel_rate_per_mile\"),\n formattedPrice(fuel_rate)\n ),\n createMarketCostsAuxData(\n \"Line Haul Rate per Mile\",\n formattedPrice(linehaul_rate)\n ),\n createMarketCostsAuxData(\n \"Line Haul Total\",\n formattedPrice(linehaul_total)\n ),\n createMarketCostsAuxData(\"Market Type\", market_type),\n createMarketCostsAuxData(\"Market Lane\", market_lane),\n ];\n }\n\n const rowsFirstTable = [\n createMarketCostsData(\"+\", \"Linehaul Cost\", linehaul_cost),\n createMarketCostsData(\"+\", \"Fuel Cost\", fuel_cost),\n ];\n\n const rowsSecondTable = [\n createMarketCostsData(\"x\", \"LTL Pallet Percentage\", ltl_pallet_percentage),\n createMarketCostsData(\"+\", \"Stop Off Fees\", stop_fees),\n ];\n\n const rowsThirdTable = [createMarketCostsData(\"+\", \"Margin\", margin)];\n\n return (\n <Card elevation={0}>\n <CardContent>\n <Grid container spacing={2} sx={{ paddingLeft: 0 }}>\n <Grid item sm={6}>\n <TableContainer>\n <Table aria-label=\"simple table\">\n <TableBody>\n {rowsFirstTable.map((row) => (\n <TableRow\n key={row.name}\n sx={{\n \"td, th\": { border: 0, padding: \"4px\" },\n }}\n >\n <TableCell component=\"th\" scope=\"row\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n <b>{row.symbol}</b> {row.name}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(row.cost)}\n </Typography>\n </TableCell>\n </TableRow>\n ))}\n <TableRow\n sx={{\n \"td, th\": { border: 0, padding: \"4px\" },\n \"&:last-child td, &:last-child th\": { borderTop: 1 },\n }}\n >\n <TableCell>\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n {\" = TL Total Cost\"}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(truckload_total_cost)}\n </Typography>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n <TableContainer>\n <Table aria-label=\"simple table\">\n <TableBody>\n {rowsSecondTable.map((row) => (\n <TableRow\n key={row.name}\n sx={{\n \"td, th\": { border: 0, padding: \"5px\" },\n }}\n >\n <TableCell component=\"th\" scope=\"row\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n <b>{row.symbol}</b> {row.name}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(row.cost)}\n </Typography>\n </TableCell>\n </TableRow>\n ))}\n <TableRow\n sx={{\n \"td, th\": { border: 0, padding: \"5px\" },\n \"&:last-child td, &:last-child th\": { borderTop: 1 },\n }}\n >\n <TableCell>\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n {\" = Total Cost\"}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(total_cost)}\n </Typography>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n <TableContainer>\n <Table aria-label=\"simple table\">\n <TableBody>\n {rowsThirdTable.map((row) => (\n <TableRow\n key={row.name}\n sx={{\n \"td, th\": { border: 0, padding: \"5px\" },\n }}\n >\n <TableCell component=\"th\" scope=\"row\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n <b>{row.symbol}</b> {row.name}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(row.cost)}\n </Typography>\n </TableCell>\n </TableRow>\n ))}\n <TableRow\n sx={{\n \"td, th\": { border: 0, padding: \"5px\" },\n \"&:last-child td, &:last-child th\": { borderTop: 1 },\n }}\n >\n <TableCell>\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n {\" = Total Cost With Margin\"}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {formattedPrice(total_cost_with_margin)}\n </Typography>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n <Grid item sm={6}>\n <TableContainer>\n <Table aria-label=\"simple table\">\n <TableBody>\n {rowsAuxTable.map((row) => (\n <TableRow\n key={row.name}\n sx={{\n \"td, th\": { border: 0, padding: \"4px\" },\n }}\n >\n <TableCell component=\"th\" scope=\"row\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"textSecondary\"\n >\n {row.name}\n </Typography>\n </TableCell>\n <TableCell align=\"right\">\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {row.value}\n </Typography>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n );\n}\n\n/**\n * @param symbol\n * @param name\n * @param cost\n */\nfunction createMarketCostsData(symbol: string, name: string, cost: number) {\n return { symbol, name, cost };\n}\n\n/**\n * @param name\n * @param value\n */\nfunction createMarketCostsAuxData(name: string, value: number | string) {\n return { name, value };\n}\n\nexport default MarketCostsComponent;\n","import Chip from \"@mui/material/Chip\";\nimport Divider from \"@mui/material/Divider\";\nimport Grid from \"@mui/material/Grid\";\nimport Paper from \"@mui/material/Paper\";\nimport Stack from \"@mui/material/Stack\";\nimport { styled } from \"@mui/material/styles\";\nimport Typography from \"@mui/material/Typography\";\nimport { formattedPrice } from \"../../../../utils/helpers\";\n\n/**\n * @param accessorials\n */\nfunction QuoteResultAccessorials(\n accessorials: quoteAccessorials[]\n): JSX.Element {\n return (\n <Stack\n direction=\"row\"\n divider={<Divider orientation=\"vertical\" flexItem />}\n spacing={2}\n >\n {accessorials.length > 0 ? (\n accessorials.map((accessorial, index) => {\n const stopName = accessorial.stopName.split(\" - \");\n return (\n <Item key={index}>\n <Grid\n container\n justifyContent={\"space-between\"}\n alignItems=\"center\"\n mb={1}\n >\n <Grid>\n <Typography display=\"block\" variant=\"body1\" color=\"primary\">\n {stopName[0].replace(\":\", \" \")}\n </Typography>\n </Grid>\n <Grid>\n <Typography display=\"block\" variant=\"body1\">\n {stopName[1]}\n </Typography>\n </Grid>\n </Grid>\n <Grid container>\n <Grid item>\n <Chip\n label={`${accessorial.name}, ${formattedPrice(\n accessorial.costAmount\n )}`}\n />\n </Grid>\n </Grid>\n </Item>\n );\n })\n ) : (\n <Typography display=\"block\" variant=\"body1\">\n {\"No accessorials\"}\n </Typography>\n )}\n </Stack>\n );\n}\n\nconst Item = styled(Paper)(({ theme }) => ({\n backgroundColor: theme.palette.mode === \"dark\" ? \"#1A2027\" : \"#fff\",\n ...theme.typography.body2,\n padding: theme.spacing(1),\n textAlign: \"center\",\n color: theme.palette.text.secondary,\n}));\n\ntype quoteAccessorials = {\n accessorialId: number;\n costAmount: number;\n name: string;\n stopId: number;\n stopName: string;\n};\n\nexport default QuoteResultAccessorials;\n","import { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\nimport { useContext, useEffect, useState } from \"react\";\nimport Stack from \"@mui/material/Stack\";\nimport Divider from \"@mui/material/Divider\";\nimport { styled } from \"@mui/material/styles\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Accordion from \"@mui/material/Accordion\";\nimport AccordionSummary from \"@mui/material/AccordionSummary\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport AccordionDetails from \"@mui/material/AccordionDetails\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport Table from \"@mui/material/Table\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableBody from \"@mui/material/TableBody\";\nimport Skeleton from \"@mui/material/Skeleton\";\nimport { getQuotePathEdgeCosts } from \"../../../../redux/quote/quoteAction\";\nimport { ServiceContext } from \"../../salesQuote\";\nimport { ServiceContextType } from \"../../typings\";\nimport { formattedPrice } from \"../../../../utils/helpers\";\n\ntype costBreakdown = {\n cost_amount: number;\n cost_id: number | null;\n description: string;\n fuel_surcharge: boolean | null;\n group: string;\n id: number;\n quote_path_edge_id: number;\n service_level: string;\n};\n/**\n * @param root0\n * @param root0.id\n * @param root0.dispatch\n * @param root0.networkCompletionStack\n */\nfunction CostBreakdown({\n id,\n dispatch,\n networkCompletionStack,\n}: {\n id: number;\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n}) {\n const [requestUUID, setRequestUUID] = useState(\"\");\n const [pending, setPending] = useState(false);\n const {\n quoteState: { costsBreakdown },\n appConfigServiceLevels,\n } = useContext(ServiceContext) as ServiceContextType;\n const filter = `[{\"property\":\"quote_path_edges.quote_id\",\"value\":${id}}]`;\n // Get Costs Breakdown\n useEffect(() => {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n getQuotePathEdgeCosts({ filter })\n );\n setRequestUUID(uuid);\n }, [filter]);\n\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n if (pending) {\n <Skeleton\n animation=\"wave\"\n variant=\"rectangular\"\n width={\"100%\"}\n height={50}\n />;\n }\n\n /**\n * @param description\n * @param cost_amount\n */\n function createData(description: string, cost_amount: number) {\n return { description, cost_amount };\n }\n\n return (\n <Stack\n direction={{ xs: \"column\", sm: \"row\" }}\n divider={<Divider orientation=\"vertical\" flexItem />}\n spacing={{ xs: 1, sm: 2, md: 4 }}\n justifyContent={\"center\"}\n >\n {Object.entries(appConfigServiceLevels)\n .reverse()\n .map((item, i) => {\n const breakDownFilter = costsBreakdown.filter(\n (cost) => cost.service_level === item[0]\n );\n const breakDownRes = breakDownFilter.reduce((acc: any, curr) => {\n if (!acc[curr.group]) {\n acc[curr.group] = [];\n }\n acc[curr.group].push(curr);\n return acc;\n }, {});\n\n return (\n <Item elevation={0} key={i}>\n <Grid container mb={1}>\n <Grid item mr={1}>\n <img src={item[1].icon} alt={item[0]} style={{ width: 35 }} />\n </Grid>\n <Grid>\n <Typography\n display=\"block\"\n variant=\"h6\"\n style={{\n color: item[1].color,\n textTransform: \"capitalize\",\n }}\n >\n {item[0]}\n </Typography>\n </Grid>\n </Grid>\n {Object.entries(breakDownRes)\n .sort()\n .map((breakDownData, i) => {\n const breakdownDataArray =\n breakDownData[1] as costBreakdown[];\n const rows: Partial<costBreakdown>[] = [];\n {\n breakdownDataArray.forEach((breakdownData) => {\n const { description, cost_amount } = breakdownData;\n rows.push(createData(description, cost_amount));\n });\n }\n\n return (\n <Accordion key={i}>\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n aria-controls={`panel${i + 1}a-content`}\n id={`panel${i + 1}a-header`}\n >\n <Grid\n container\n alignItems={\"flex-end\"}\n justifyContent={\"space-between\"}\n >\n <Grid item>\n <Typography display=\"block\" variant=\"body1\">\n {breakDownData[0]}\n </Typography>\n </Grid>\n <Grid item>\n <Typography\n display=\"block\"\n variant=\"body1\"\n color=\"primary\"\n >\n {costBreakdownPrice(breakDownData)}\n </Typography>\n </Grid>\n </Grid>\n </AccordionSummary>\n <AccordionDetails>\n <TableContainer component={Paper} elevation={0}>\n <Table aria-label=\"cost Breakdown table\">\n <TableBody>\n {rows.map((row) => (\n <TableRow\n key={row.id}\n sx={{\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n }}\n >\n <TableCell component=\"th\" scope=\"row\">\n {row.description}\n </TableCell>\n <TableCell align=\"right\">\n {formattedPrice(row.cost_amount || 0)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </AccordionDetails>\n </Accordion>\n );\n })}\n </Item>\n );\n })}\n </Stack>\n );\n}\n\n/**\n * @param breakDownData\n */\nfunction costBreakdownPrice(breakDownData: [string, unknown]) {\n const breakdownDataArray = breakDownData[1] as costBreakdown[];\n\n return formattedPrice(\n breakdownDataArray.reduce((acc, curr) => {\n if (curr.group === \"Total\") {\n return curr.cost_amount;\n }\n return acc + curr.cost_amount;\n }, 0)\n );\n}\n\nconst Item = styled(Paper)(({ theme }) => ({\n backgroundColor: theme.palette.mode === \"dark\" ? \"#1A2027\" : \"#fff\",\n ...theme.typography.body2,\n padding: theme.spacing(1),\n textAlign: \"center\",\n color: theme.palette.text.secondary,\n}));\n\nexport default CostBreakdown;\n","import Accordion from \"@mui/material/Accordion\";\nimport AccordionDetails from \"@mui/material/AccordionDetails\";\nimport AccordionSummary from \"@mui/material/AccordionSummary\";\nimport Typography from \"@mui/material/Typography\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport Box from \"@mui/material/Box\";\nimport ListAltIcon from \"@mui/icons-material/ListAlt\";\nimport BarChartIcon from \"@mui/icons-material/BarChart\";\nimport AddBoxIcon from \"@mui/icons-material/AddBox\";\nimport { OverridableComponent } from \"@mui/material/OverridableComponent\";\nimport { SvgIconTypeMap } from \"@mui/material/SvgIcon\";\nimport Grid from \"@mui/material/Grid\";\nimport { useEffect, useState } from \"react\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport MarketCostsComponent from \"./marketCosts\";\nimport QuoteResultAccessorials from \"./quoteResultAccessorials\";\nimport CostBreakdown from \"./costBreakdown\";\nimport Skeleton from \"@mui/material/Skeleton\";\nimport QuoteRequest from \"../../../../entities/quote/helper\";\nimport MarketCosts from \"../../../../entities/marketCosts/helper\";\nimport { getMarketCosts, getQuoteById } from \"../../../../redux/quote\";\n\n/**\n * @param props\n * @param props.responseState\n * @param props.networkCompletionStack\n * @param props.dispatch\n * @param props.marketCosts\n */\nexport default function QuoteResultAccorion(props: {\n responseState: QuoteRequest;\n networkCompletionStack: Record<string, boolean>[];\n dispatch: Dispatch<AnyAction>;\n marketCosts: MarketCosts;\n}) {\n const {\n responseState: { id, accessorials = [] },\n networkCompletionStack,\n dispatch,\n marketCosts,\n } = props;\n const [requestUUID, setRequestUUID] = useState(\"\");\n const [pending, setPending] = useState(false);\n\n const accordionSummaries = [\n createData(\n \"Cost Breakdown\",\n ListAltIcon,\n CostBreakdown({ id, dispatch, networkCompletionStack })\n ),\n createData(\"Market Costs\", BarChartIcon, MarketCostsComponent(marketCosts)),\n createData(\n \"Accessorials\",\n AddBoxIcon,\n QuoteResultAccessorials(accessorials)\n ),\n ];\n\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n // Get market Costs\n useEffect(() => {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(dispatch, getMarketCosts(id));\n setRequestUUID(uuid);\n }, []);\n\n // Get Accessorials\n useEffect(() => {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(dispatch, getQuoteById(id));\n setRequestUUID(uuid);\n }, []);\n\n {\n if (pending || !marketCosts) {\n return (\n <Skeleton\n animation=\"wave\"\n variant=\"rectangular\"\n width={\"100%\"}\n height={118}\n />\n );\n }\n }\n\n return (\n <Box>\n {accordionSummaries.map((accordionData, index) => {\n const { summary, SummaryIcon, SummaryComponent } = accordionData;\n return (\n <Accordion key={index}>\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n aria-controls={`panel${index + 1}a-content`}\n id={`panel${index + 1}a-header`}\n >\n <Grid container alignItems={\"flex-end\"}>\n <Grid item mr={1}>\n <SummaryIcon fontSize={\"small\"} />\n </Grid>\n <Grid item>\n <Typography display=\"block\" variant=\"h6\">\n {summary}\n </Typography>\n </Grid>\n </Grid>\n </AccordionSummary>\n <AccordionDetails>{SummaryComponent}</AccordionDetails>\n </Accordion>\n );\n })}\n </Box>\n );\n}\n\n/**\n * @param summary\n * @param SummaryIcon\n * @param SummaryComponent\n */\nfunction createData(\n summary: string,\n SummaryIcon: OverridableComponent<\n SvgIconTypeMap<Record<string, unknown>, \"svg\">\n > & {\n muiName: string;\n },\n SummaryComponent?: JSX.Element | string\n) {\n return {\n summary,\n SummaryIcon,\n SummaryComponent,\n };\n}\n","import Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport { NerdCard } from \"@nerdjs/nerd-ui\";\nimport React from \"react\";\nimport \"./QuoteCalendar.scss\";\nimport CalendarMonthIcon from \"@mui/icons-material/CalendarMonth\";\nimport QuoteRequest from \"../../../../entities/quote/helper\";\nimport {\n DateSelectedHandler,\n IselectedDateRangeState,\n} from \"../../../../redux/calendar\";\nimport { AnyAction, Dispatch } from \"@reduxjs/toolkit\";\nimport { Calendar } from \"../../../calendar\";\nimport { AppConfigServiceLevelsType } from \"../../typings\";\n\n/**\n * @param props\n * @param props.setIsDateSelected\n * @param props.isDateSelected\n * @param props.responseState\n * @param props.selectedDateRange\n * @param props.dispatch\n * @param props.appConfigServiceLevels\n */\nexport function QuoteCalendar(props: {\n setIsDateSelected: (value: React.SetStateAction<boolean>) => void;\n isDateSelected: boolean;\n responseState: QuoteRequest;\n selectedDateRange: IselectedDateRangeState;\n dispatch: Dispatch<AnyAction>;\n appConfigServiceLevels: AppConfigServiceLevelsType;\n}) {\n const {\n responseState: { id, serviceLevels, stops },\n selectedDateRange,\n dispatch,\n appConfigServiceLevels,\n } = props;\n\n const pickUpDate =\n (stops &&\n stops.filter((stop: { type: string }) => stop.type === \"shipper\")[0]\n .date) ||\n \"\";\n\n return (\n <NerdCard>\n <Grid\n container\n justifyContent={\"space-between\"}\n mb={1}\n alignItems={\"center\"}\n >\n <Grid item>\n <Grid container alignItems={\"center\"}>\n <Grid justifyContent={\"center\"} display=\"flex\" mr={1}>\n <CalendarMonthIcon />\n </Grid>\n <Grid>\n <Typography display=\"block\" variant=\"h6\">\n Drop-off Date\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n <Grid>\n <Typography display=\"block\">\n Quote ID: <b>{id}</b>\n </Typography>\n </Grid>\n </Grid>\n <Grid\n container\n justifyContent=\"space-between\"\n spacing={1}\n alignItems=\"center\"\n >\n {serviceLevels &&\n serviceLevels.map((serviceLevel) => {\n return (\n <Grid\n item\n key={serviceLevel.id}\n sx={{\n opacity:\n selectedDateRange.element.serviceLevel ===\n serviceLevel.serviceLevel || !props.isDateSelected\n ? 1\n : 0.3,\n }}\n >\n <Calendar\n serviceLevel={{\n ...serviceLevel,\n iconProps:\n appConfigServiceLevels[serviceLevel.serviceLevel],\n }}\n pickupDate={pickUpDate} // date of the first stop in the quote result object\n onSelect={(data: IselectedDateRangeState) => {\n dispatch(DateSelectedHandler(data));\n props.setIsDateSelected(true);\n }}\n selected={selectedDateRange}\n />\n </Grid>\n );\n })}\n </Grid>\n </NerdCard>\n );\n}\n\nexport default QuoteCalendar;\n","import Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport LocalShippingIcon from \"@mui/icons-material/LocalShipping\";\nimport { IserviceLevel } from \"../../../calendar/typings\";\n\ninterface IProps {\n serviceLevelIconColor: {\n [name: string]: string;\n };\n serviceLevelSelected: IserviceLevel;\n}\n\nconst QuoteSummaryHeader = ({\n serviceLevelIconColor,\n serviceLevelSelected,\n}: IProps) => (\n <Grid container justifyContent=\"space-between\" mb={1}>\n <Grid item>\n <Grid container alignItems={\"center\"}>\n <Grid justifyContent={\"center\"} display=\"flex\" mr={1}>\n <LocalShippingIcon />\n </Grid>\n <Grid>\n <Typography display=\"block\" variant=\"h6\">\n {\"Summary\"}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n <Grid item>\n <Grid container>\n <Grid item mr={1}>\n <img\n src={serviceLevelIconColor.icon}\n alt={serviceLevelSelected.serviceLevel}\n style={{ width: 35 }}\n />\n </Grid>\n <Grid>\n <Typography\n display=\"block\"\n variant=\"h6\"\n style={{\n color: serviceLevelIconColor.color,\n textTransform: \"capitalize\",\n }}\n >\n {serviceLevelSelected.serviceLevel}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n);\n\nexport default QuoteSummaryHeader;\n","import { NerdHelp } from \"@nerdjs/nerd-ui\";\nimport Avatar from \"@mui/material/Avatar\";\nimport Chip from \"@mui/material/Chip\";\nimport Grid from \"@mui/material/Grid\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Typography from \"@mui/material/Typography\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport CalendarMonthIcon from \"@mui/icons-material/CalendarMonth\";\nimport moment from \"moment\";\nimport Button from \"@mui/material/Button\";\nimport Box from \"@mui/material/Box\";\nimport { quoteSummaryBodyProps } from \"./typings\";\nimport { formattedPrice } from \"../../../../utils/helpers\";\n\nconst defaultProps = {\n dateSelected: moment().format(\"MMMM Do YYYY\"),\n};\n\nexport const QuoteSummaryBody = ({\n totalMiles,\n rowsSummaryAbout,\n stops,\n serviceLevelSelected,\n dateSelected,\n appConfigServiceLevels,\n}: quoteSummaryBodyProps & typeof defaultProps) => {\n const firstDropOff = stops.find(\n (s: { type: string }) => s.type === \"consignee\"\n );\n const { baseRate, fuelRate, extra, totalRate, serviceLevel } =\n serviceLevelSelected;\n const serviceLevelIconColor = appConfigServiceLevels[serviceLevel];\n\n const rowsPrices = [\n createData(\"Base\", baseRate),\n createData(\"Fuel\", fuelRate),\n createData(\"Extra\", extra),\n ];\n\n return (\n <Grid item xs={12}>\n <TableContainer>\n <Table sx={{ minWidth: 650 }} aria-label=\"Quote summary table\">\n <TableHead>\n <TableRow>\n <TableCell>Quote Id</TableCell>\n <TableCell align=\"center\">Service</TableCell>\n <TableCell align=\"center\">Mode</TableCell>\n <TableCell align=\"center\">Commodity Description</TableCell>\n <TableCell align=\"center\">Total Weight</TableCell>\n <TableCell align=\"center\">Freight Class</TableCell>\n <TableCell align=\"center\">Feet</TableCell>\n <TableCell align=\"center\">Pallets</TableCell>\n <TableCell align=\"center\">\n Mile{totalMiles && totalMiles > 1 ? \"s\" : \"\"}\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {rowsSummaryAbout.map((row) => (\n <TableRow\n key={row.id}\n sx={{ \"&:last-child td, &:last-child th\": { border: 0 } }}\n >\n <TableCell component=\"th\" scope=\"row\" align=\"left\">\n {row.id}\n </TableCell>\n <TableCell align=\"center\">{row.service}</TableCell>\n <TableCell align=\"center\">{row.mode}</TableCell>\n <TableCell align=\"center\">{row.commodityDescription}</TableCell>\n <TableCell align=\"center\">{row.totalWeight} Lbs</TableCell>\n <TableCell align=\"center\">{row.freightClass}</TableCell>\n <TableCell align=\"center\">{row.feet} ft</TableCell>\n <TableCell align=\"center\">{row.pallets}</TableCell>\n <TableCell align=\"center\">{row.miles}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n <Grid item xs={12}>\n <Typography display=\"block\" variant=\"subtitle1\" color=\"primary\">\n Stops\n </Typography>\n </Grid>\n <Grid item>\n <Grid container alignItems=\"stretch\">\n {stops.map((s, _index) => (\n <Grid item py={1} key={_index} flexBasis={\"30%\"}>\n <Typography display=\"block\" variant=\"body1\" color=\"textSecondary\">\n {s.type === \"shipper\" ? \"From\" : \"To\"}\n </Typography>\n <Grid container alignItems=\"center\">\n <Grid item mr={1} alignSelf=\"end\">\n {s.type === \"shipper\" ? (\n <ArrowUpwardIcon />\n ) : (\n <ArrowDownwardIcon />\n )}\n </Grid>\n <Grid item>\n <Typography display=\"block\" variant=\"h6\">\n {s.name ? s.name : s.zip}\n </Typography>\n </Grid>\n </Grid>\n <Grid item>\n <Typography display=\"block\">\n {s.address && s.address.line1\n ? s.address.line1\n : \"Unknown Location\"}\n </Typography>\n <Typography display=\"block\" mb={1}>\n {s.address.zip} {s.address.city} {s.address.state}\n </Typography>\n {s.date && (\n <Chip\n label={moment(s.date).format(\"MMMM Do YYYY\")}\n avatar={\n <Avatar>\n <CalendarMonthIcon fontSize=\"small\" />\n </Avatar>\n }\n />\n )}\n {firstDropOff &&\n s.id === firstDropOff.id &&\n serviceLevelSelected && (\n <Chip\n label={\n serviceLevelSelected.grouped\n ? `${moment(serviceLevelSelected.from).format(\n \"MMMM Do YYYY\"\n )} - ${moment(serviceLevelSelected.to).format(\n \"MMMM Do YYYY\"\n )}`\n : moment(dateSelected).format(\"MMMM Do YYYY\")\n }\n avatar={\n <Avatar>\n <CalendarMonthIcon fontSize=\"small\" />\n </Avatar>\n }\n />\n )}\n </Grid>\n </Grid>\n ))}\n </Grid>\n </Grid>\n <Grid item xs={12} style={{ textAlign: \"right\" }}>\n <Grid container justifyContent={\"flex-end\"} flexDirection=\"column\">\n {rowsPrices.map((price, i) => (\n <Grid item key={i}>\n <Grid container justifyContent=\"flex-end\">\n <Grid\n item\n flex=\"0 0 5%\"\n justifyContent={\"flex-start\"}\n display=\"flex\"\n >\n <Typography\n display=\"block\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n {price.typePrice}\n </Typography>\n </Grid>\n <Grid\n item\n flex=\"0 0 7%\"\n justifyContent={\"flex-end\"}\n display=\"flex\"\n >\n <Typography\n display=\"block\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n {formattedPrice(price.price)}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n ))}\n </Grid>\n <Grid\n container\n alignItems={\"flex-start\"}\n justifyContent=\"flex-end\"\n sx={{ margin: \"5px 0\" }}\n >\n <Grid item>\n <Typography\n display=\"block\"\n variant=\"h5\"\n color=\"textSecondary\"\n mr={1}\n >\n Total\n </Typography>\n </Grid>\n <Grid item>\n <Typography display=\"block\" variant=\"h4\" mb={1}>\n {formattedPrice(totalRate)}\n </Typography>\n </Grid>\n </Grid>\n <Button\n size=\"large\"\n style={{\n background: serviceLevelIconColor.color,\n color: \"white\",\n }}\n onClick={() => {\n console.log(\"click\");\n }}\n >\n <NerdHelp\n explanation=\"To go to the next step and tender the load, click on this button.\"\n variant=\"body1\"\n >\n <Box\n component=\"div\"\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n <img\n alt={\"service-level-icon\"}\n src={serviceLevelIconColor.icon}\n height={20}\n style={{ paddingRight: 10 }}\n />{\" \"}\n <Typography variant=\"button\" textTransform={\"uppercase\"}>\n {\"Tender Load\"}\n </Typography>\n </Box>\n </NerdHelp>\n </Button>\n </Grid>\n </Grid>\n );\n};\nQuoteSummaryBody.defaultProps = defaultProps;\n\n/**\n * @param typePrice\n * @param price\n */\nfunction createData(typePrice: string, price: number) {\n return {\n typePrice,\n price,\n };\n}\n","/* eslint-disable i18next/no-literal-string */\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport { NerdCard } from \"@nerdjs/nerd-ui\";\nimport { IQuoteSummary } from \"./typings\";\nimport QuoteSummaryHeader from \"./quoteSummaryHeader\";\nimport { QuoteSummaryBody } from \"./quoteSummaryBody\";\n\nconst QuoteSummary = (props: IQuoteSummary): JSX.Element => {\n const {\n dateSelected,\n serviceLevelSelected,\n quoteResponse,\n t,\n appConfigServiceLevels,\n } = props;\n\n const {\n id,\n type,\n temp,\n commodityDescription,\n weight,\n freightClass,\n feet,\n pallets,\n stops,\n totalMiles,\n } = quoteResponse;\n\n const { serviceLevel } = serviceLevelSelected;\n const mode = temp && temp.length ? \"Reefer\" : \"Dry\";\n const serviceLevelIconColor = appConfigServiceLevels[serviceLevel];\n\n const rowsSummaryAbout = [\n createData(\n id,\n type,\n mode,\n commodityDescription,\n weight,\n freightClass || \"\",\n feet,\n pallets,\n totalMiles || 0\n ),\n ];\n\n return (\n <NerdCard>\n <QuoteSummaryHeader\n serviceLevelIconColor={serviceLevelIconColor}\n serviceLevelSelected={serviceLevelSelected}\n />\n <Grid container spacing={2}>\n <Grid item xs={12}>\n <Typography display=\"block\" variant=\"subtitle1\" color=\"primary\">\n {t(\"quote.about\")}\n </Typography>\n </Grid>\n <QuoteSummaryBody\n {...{\n totalMiles,\n rowsSummaryAbout,\n stops,\n serviceLevelSelected,\n dateSelected,\n appConfigServiceLevels,\n }}\n />\n </Grid>\n </NerdCard>\n );\n};\n\n/**\n * @param id\n * @param service\n * @param mode\n * @param commodityDescription\n * @param totalWeight\n * @param freightClass\n * @param feet\n * @param pallets\n * @param miles\n */\nfunction createData(\n id: number,\n service: string,\n mode: string,\n commodityDescription: string,\n totalWeight: number,\n freightClass: string,\n feet: number,\n pallets: number,\n miles: number\n) {\n return {\n id,\n service,\n mode,\n commodityDescription,\n totalWeight,\n freightClass,\n feet,\n pallets,\n miles,\n };\n}\n\nexport default QuoteSummary;\n","import Box from \"@mui/material/Box\";\nimport Fab from \"@mui/material/Fab\";\nimport Grid from \"@mui/material/Grid\";\nimport { createTheme, ThemeProvider } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport PreviewIcon from \"@mui/icons-material/Preview\";\nimport { createContext, useEffect, useRef, useState } from \"react\";\nimport { salesQuoteProps, ServiceContextType } from \"./typings\";\nimport Divider from \"@mui/material/Divider\";\nimport { NerdHeading, NerdHelp, NerdIcon } from \"@nerdjs/nerd-ui\";\nimport Container from \"@mui/material/Container\";\nimport Stack from \"@mui/material/Stack\";\nimport { Loading } from \"../shared\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport { IQuoteForm, sendFormData } from \"../../redux\";\nimport { AboutQuote } from \"./components/aboutQuote\";\nimport Typography from \"@mui/material/Typography\";\nimport QuoteResultAccorion from \"./components/quoteResultAccordion/quoteResultAccordion\";\nimport QuoteCalendar from \"./components/quoteCalendar/quoteCalendar\";\nimport QuoteSummary from \"./components/quoteSummary/quoteSummary\";\n\n// use google object\nconst google = (window as any).google;\n\n// Google maps\nconst googleService = {\n maps: google.maps,\n};\n\n// Service context, default\nexport const ServiceContext = createContext<ServiceContextType | null>(null);\n/**\n * Nerd Sales Quote view\n *\n * @param props\n * @param props.theme\n * @param props.dispatch\n * @param props.nerdSalesKitState\n * @param props.t\n * @param props.networkCompletionStack\n * @param props.isCustomer\n * @param props.appConfigServiceLevels\n * @returns {React.ReactElement<any>} return as a function component\n */\nexport const SalesQuote = ({\n theme,\n dispatch,\n nerdSalesKitState,\n t,\n networkCompletionStack,\n isCustomer,\n appConfigServiceLevels,\n}: salesQuoteProps) => {\n // Constants\n const appTheme = createTheme(theme);\n const isMobile = useMediaQuery(appTheme.breakpoints.down(\"sm\"), {\n noSsr: true,\n });\n const el = useRef<null | HTMLDivElement>(null);\n const {\n quoteState,\n quoteState: { quoteFormData, quoteResponse },\n selectedDateRange,\n } = nerdSalesKitState;\n\n // States\n const [showFormData, setShowFormData] = useState(false);\n const [requestUUID, setRequestUUID] = useState(\"\");\n const [pending, setPending] = useState(false);\n const [isDateSelected, setIsDateSelected] = useState(false);\n\n // Actions\n const showFormDataHandler = () => {\n setShowFormData(!showFormData);\n };\n\n /**\n *\n */\n function onSubmitFormHandler() {\n setPending(true);\n const uuid = withNetworkCompletionDispatch(\n dispatch,\n sendFormData(quoteFormData)\n );\n setRequestUUID(uuid);\n }\n\n // React hooks\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n return (\n <ServiceContext.Provider\n value={{ googleService, quoteState, t, isMobile, appConfigServiceLevels }}\n >\n <ThemeProvider theme={appTheme}>\n <Grid container>\n <Grid item md={showFormData ? 9 : 12} sm={showFormData ? 8 : 12}>\n <Box\n sx={{\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-end\",\n }}\n >\n <Fab\n variant=\"extended\"\n size=\"small\"\n aria-label=\"show form data\"\n sx={{ mr: 2, my: 1, color: \"#61614F\" }}\n onClick={showFormDataHandler}\n >\n {!isMobile ? (\n <>\n <PreviewIcon sx={{ mr: 1 }} />\n {t(\"quote.check_form_data\")}\n </>\n ) : (\n <NerdHelp\n explanation={t(\"quote.check_form_data\")}\n variant=\"body1\"\n >\n <PreviewIcon />\n </NerdHelp>\n )}\n </Fab>\n <Divider sx={{ flexBasis: \"100%\" }} />\n <Container className=\"NerdQuote\">\n <NerdHeading\n variant=\"h4\"\n text={t(\"quote.new_quote\")}\n fontWeight={700}\n display=\"block\"\n mt={2}\n />\n <Stack spacing={4} mt={1} mb={2}>\n <AboutQuote\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n isCustomer={isCustomer}\n submitForm={onSubmitFormHandler}\n >\n <Grid item xs={12}>\n <NerdHeading\n alignItems=\"center\"\n variant=\"h6\"\n text={t(\"quote.about_load_library\")}\n icon={\n <NerdIcon\n icon={\"info-circle\"}\n size=\"lg\"\n iconColor=\"primary\"\n aria-owns=\"mouse-over-popover\"\n aria-haspopup=\"true\"\n />\n }\n />\n </Grid>\n </AboutQuote>\n {pending && <Loading />}\n {!pending && quoteState.quoteResponse.id && (\n <Stack spacing={2} ref={el}>\n <Typography variant=\"h4\">{t(\"quote.result\")}</Typography>\n <QuoteResultAccorion\n dispatch={dispatch}\n networkCompletionStack={networkCompletionStack}\n marketCosts={quoteState.marketCosts}\n responseState={quoteResponse}\n />\n <QuoteCalendar\n setIsDateSelected={setIsDateSelected}\n isDateSelected={isDateSelected}\n responseState={quoteResponse}\n selectedDateRange={selectedDateRange}\n dispatch={dispatch}\n appConfigServiceLevels={appConfigServiceLevels}\n />\n {isDateSelected && (\n <QuoteSummary\n dateSelected={selectedDateRange.date}\n serviceLevelSelected={selectedDateRange.element}\n quoteResponse={quoteResponse}\n t={t}\n appConfigServiceLevels={appConfigServiceLevels}\n />\n )}\n </Stack>\n )}\n </Stack>\n </Container>\n </Box>\n </Grid>\n <Grid\n item\n md={3}\n sm={4}\n sx={{\n display: showFormData ? \"block\" : \"none\",\n background: \"#282c34\",\n color: \"#abb2bf\",\n width: \"100%\",\n }}\n >\n <PrettyPrintJson state={quoteFormData} />\n </Grid>\n </Grid>\n </ThemeProvider>\n </ServiceContext.Provider>\n );\n};\n\nconst PrettyPrintJson = ({ state }: { state: IQuoteForm }) => {\n return (\n <Box>\n <pre>\n <Typography variant=\"body2\">\n {JSON.stringify(state, null, \"\\t\")}\n </Typography>\n </pre>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { withNetworkCompletionDispatch } from \"@nerdjs/nerd-network\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { AnyAction, Dispatch, nanoid } from \"@reduxjs/toolkit\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n AutocompleteType,\n NerdHelp,\n PaperComponentOnLoad,\n} from \"@nerdjs/nerd-ui\";\nimport BusinessIcon from \"@mui/icons-material/Business\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport RenderOptionTemplate from \"./optionTemplate\";\nimport { useCallback, useContext, useEffect, useState } from \"react\";\nimport Paper from \"@mui/material/Paper\";\nimport { getCustomers, storeQuoteFormData } from \"../../redux/quote\";\nimport { ServiceContext } from \"../salesQuote\";\nimport Customer from \"../../entities/customer/helper\";\n\n/**\n * @param props\n */\nexport default function CustomerFinder(props: ICustomerFinder) {\n const { dispatch, networkCompletionStack } = props;\n const customersState = useContext(ServiceContext);\n const [open, setOpen] = useState(false);\n // This state represents the value displayed in the textbox.\n const [inputValue, setInputValue] = useState(\"\");\n // This state represents the network request UUID\n const [requestPending, setRequestPending] = useState(false);\n const [requestUUID, setRequestUUID] = useState(\"\");\n\n const customers: Customer[] = [\n ...(customersState?.quoteState.customers || []),\n ];\n // This state This state represents the value selected by the user,\n const [value, setValue] = useState<Customer | null>(customers[0]);\n\n // Fetch the data to get get the customers\n const fetchCustomers = useCallback(\n (queryString: string) => {\n setRequestPending(true);\n const query = {\n query: queryString,\n start: 0,\n limit: 25,\n };\n const uuid = withNetworkCompletionDispatch(dispatch, getCustomers(query));\n setRequestUUID(uuid);\n },\n [dispatch]\n );\n\n // Set URL query params and fetch the data\n useEffect(() => {\n //console.log(\"CHANGEINPUT\", inputValue, value);\n if (inputValue !== \"\") {\n fetchCustomers(inputValue);\n //console.log(\"Fetching customers\", inputValue, customers);\n }\n if (value && value.id) {\n dispatch(\n storeQuoteFormData({\n customerId: value.id,\n customerName: value.name,\n })\n );\n }\n }, [inputValue]);\n\n useEffect(() => {\n if (!networkCompletionStack.some((e) => e[requestUUID])) {\n setRequestPending(false);\n }\n }, [requestUUID, networkCompletionStack]);\n\n return (\n <Grid container spacing={1} alignItems={\"center\"}>\n <Grid item>\n <NerdHelp\n explanation=\"Select the customer you are quoting for. This could affect the final prices for customer who have special agreements.\"\n variant=\"body1\"\n >\n <BusinessIcon />{\" \"}\n </NerdHelp>\n </Grid>\n <Grid item md xs={9} sm={10}>\n <Autocomplete\n id=\"customer-autocomplete\"\n open={open}\n onOpen={() => {\n setOpen(true);\n }}\n onClose={() => {\n setOpen(false);\n }}\n value={value || null}\n onChange={(_event: any, newValue: Customer | null) => {\n setValue(newValue);\n }}\n inputValue={inputValue}\n onInputChange={(_event, newInputValue) => {\n setInputValue(newInputValue);\n }}\n isOptionEqualToValue={(option, optionValue) =>\n option.name === optionValue.name\n }\n getOptionLabel={(option) => {\n if (option.name) {\n return option.name;\n }\n return \"\";\n }}\n options={customers}\n loading={requestPending}\n renderInput={(params) => (\n <TextField\n {...params}\n label=\"Customer\"\n variant=\"standard\"\n placeholder=\"Enter customer\"\n fullWidth={true}\n InputLabelProps={{\n shrink: true,\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: null,\n }}\n required={!inputValue ? true : false}\n helperText={inputValue === \"\" ? \"Required\" : \"\"}\n />\n )}\n renderOption={(\n renderOptionProps: React.HTMLAttributes<HTMLLIElement>,\n option: any\n ) => {\n return (\n <RenderOptionTemplate\n renderOptionProps={renderOptionProps}\n option={option}\n key={nanoid()}\n />\n );\n }}\n PaperComponent={(paperProps: any) => {\n if (!inputValue || requestPending) {\n return (\n <PaperComponentOnLoad\n {...{ inputValue }}\n key={nanoid()}\n props={paperProps}\n loading={requestPending}\n autocompleteType={AutocompleteType.CUSTOMER}\n />\n );\n }\n\n return (\n <Paper {...paperProps} key={nanoid()}>\n {paperProps.children}\n </Paper>\n );\n }}\n />\n </Grid>\n <Grid item>\n <IconButton\n size=\"small\"\n onClick={() => {\n setValue(null);\n dispatch(\n storeQuoteFormData({\n customerId: undefined,\n })\n );\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </Grid>\n </Grid>\n );\n}\n\ninterface ICustomerFinder {\n dispatch: Dispatch<AnyAction>;\n networkCompletionStack: Record<string, boolean>[];\n}\n"],"names":["moment","createTheme","React","useEffect","_jsx","WarningIcon","Box","_jsxs","LocalShippingIcon","Grid","Typography","nanoid","RenderOptionTemplate","CardHeader","Avatar","blue","CorporateFareIcon","setTemplateContentByType","createAction","GetAction","PostAction","PutAction","createReducer","Skeleton","DialogTitle","IconButton","CloseIcon","createSlice","combineReducers","calendarSlice","FormControl","InputLabel","setAxeValue","NativeSelect","Select","MenuItem","FormHelperText","TextField","NerdHelp","Tooltip","NerdHeading","EditIcon","re","options","useState","useCallback","withNetworkCompletionDispatch","CircularProgress","Chip","CheckIcon","useTheme","useMediaQuery","Dialog","DialogContent","DialogContentText","NerdInput","FormGroup","FormControlLabel","Switch","DialogActions","Button","_Fragment","Divider","LocationOnTwoToneIcon","grey","List","ListItem","ListItemButton","Item","ListItemAvatar","PlaceIcon","ListItemText","Stack","styled","Paper","editLocation","showNotification","EditLocation","Autocomplete","_createElement","PaperComponentOnLoad","AutocompleteType","ArrowUpwardIcon","ArrowDownwardIcon","AddCircleOutlineRoundedIcon","Menu","NerdNotifier","StopDetail","Constants.QUOTE_MAX_STOPS","AddIcon","FormLabel","RadioGroup","Radio","Constants.re","NerdCard","Suspense","Constants.FREIGHT_CLASS","useContext","Card","CardContent","TableContainer","Table","TableBody","TableRow","TableCell","Accordion","AccordionSummary","ExpandMoreIcon","AccordionDetails","createData","ListAltIcon","BarChartIcon","AddBoxIcon","CalendarMonthIcon","TableHead","google","createContext","useRef","ThemeProvider","Fab","PreviewIcon","Container","NerdIcon","BusinessIcon"],"mappings":"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"}
|