@bjsdistribution/dms-client-return 0.2.2-prod → 0.2.3-prod

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/common/expand-collapse/index.js +44 -26
  2. package/dist/common/expand-collapse/index.js.map +1 -1
  3. package/dist/common/modals/order-action-modal/OrderActionModal.js.map +1 -1
  4. package/dist/common/modals/order-action-modal/footer/OrderActionFooter.js.map +1 -1
  5. package/dist/components/client-portal/ClientPortalResponsive.js +148 -0
  6. package/dist/components/client-portal/ClientPortalResponsive.js.map +1 -0
  7. package/dist/components/client-portal/OutstandingTable.js +112 -118
  8. package/dist/components/client-portal/OutstandingTable.js.map +1 -1
  9. package/dist/components/client-portal/ReturnOverview.js +38 -37
  10. package/dist/components/client-portal/ReturnOverview.js.map +1 -1
  11. package/dist/components/client-portal/return-confirm/ConfirmedMain.js +4 -4
  12. package/dist/components/client-portal/return-confirm/ConfirmedMain.js.map +1 -1
  13. package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js +445 -185
  14. package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js.map +1 -1
  15. package/dist/components/fakeData.js.map +1 -1
  16. package/dist/components/order-daily-overview/common/fakedata.js.map +1 -1
  17. package/dist/components/order-daily-overview/common/mediaQuery.js +17 -0
  18. package/dist/components/order-daily-overview/common/mediaQuery.js.map +1 -0
  19. package/dist/components/order-daily-overview/filters/FilterStyle.js +174 -11
  20. package/dist/components/order-daily-overview/filters/FilterStyle.js.map +1 -1
  21. package/dist/components/order-daily-overview/header/route-header/RouterHeaderStyle.js +9 -4
  22. package/dist/components/order-daily-overview/header/route-header/RouterHeaderStyle.js.map +1 -1
  23. package/dist/components/order-daily-overview/header/route-header/title/HeaderTitle.js +11 -1
  24. package/dist/components/order-daily-overview/header/route-header/title/HeaderTitle.js.map +1 -1
  25. package/dist/components/order-daily-overview/header-filters/Styledfilters.js +46 -17
  26. package/dist/components/order-daily-overview/header-filters/Styledfilters.js.map +1 -1
  27. package/dist/components/order-daily-overview/index.js +76 -53
  28. package/dist/components/order-daily-overview/index.js.map +1 -1
  29. package/dist/components/order-daily-overview/return-after-table/table/OrderTable.js +101 -103
  30. package/dist/components/order-daily-overview/return-after-table/table/OrderTable.js.map +1 -1
  31. package/dist/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.js +135 -134
  32. package/dist/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.js.map +1 -1
  33. package/dist/components/order-daily-overview/return-after-table/table-filters/TableFilters.js +17 -11
  34. package/dist/components/order-daily-overview/return-after-table/table-filters/TableFilters.js.map +1 -1
  35. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js +5 -5
  36. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js.map +1 -1
  37. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.js +129 -135
  38. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.js.map +1 -1
  39. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/returnstyles.js +346 -27
  40. package/dist/components/order-daily-overview/return-order-table/return-orders-filters/returnstyles.js.map +1 -1
  41. package/dist/components/order-daily-overview/table/ReturnTable.js +199 -183
  42. package/dist/components/order-daily-overview/table/ReturnTable.js.map +1 -1
  43. package/dist/components/order-daily-overview/table/table-data/styles.js +159 -38
  44. package/dist/components/order-daily-overview/table/table-data/styles.js.map +1 -1
  45. package/dist/components/order-daily-overview/table-view/PaginationStyle.js +21 -6
  46. package/dist/components/order-daily-overview/table-view/PaginationStyle.js.map +1 -1
  47. package/dist/components/order-view/DynamicTable.js +136 -35
  48. package/dist/components/order-view/DynamicTable.js.map +1 -1
  49. package/dist/components/order-view/details-filters/DetailsFilters.js +33 -8
  50. package/dist/components/order-view/details-filters/DetailsFilters.js.map +1 -1
  51. package/dist/components/order-view/details-filters/left-side-filters/ActionsMenu.js +23 -5
  52. package/dist/components/order-view/details-filters/left-side-filters/ActionsMenu.js.map +1 -1
  53. package/dist/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.js +39 -22
  54. package/dist/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.js.map +1 -1
  55. package/dist/components/order-view/details-filters/right-side-filters/Details.js +25 -12
  56. package/dist/components/order-view/details-filters/right-side-filters/Details.js.map +1 -1
  57. package/dist/components/order-view/general-information/Status.js +58 -28
  58. package/dist/components/order-view/general-information/Status.js.map +1 -1
  59. package/dist/components/order-view/generic-table/AuditLogs.js +129 -24
  60. package/dist/components/order-view/generic-table/AuditLogs.js.map +1 -1
  61. package/dist/components/order-view/notes/logs/index.js +15 -7
  62. package/dist/components/order-view/notes/logs/index.js.map +1 -1
  63. package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.js +7 -7
  64. package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.js.map +1 -1
  65. package/dist/components/order-view/notification/index.js +68 -55
  66. package/dist/components/order-view/notification/index.js.map +1 -1
  67. package/dist/components/order-view/order-actions/Dropdown.js +3 -3
  68. package/dist/components/order-view/order-actions/Dropdown.js.map +1 -1
  69. package/dist/components/order-view/order-actions/actions/cancel-order/CancelOrderTable.js +45 -47
  70. package/dist/components/order-view/order-actions/actions/cancel-order/CancelOrderTable.js.map +1 -1
  71. package/dist/components/order-view/order-actions/actions/cancel-order/ReturnReason.js +23 -36
  72. package/dist/components/order-view/order-actions/actions/cancel-order/ReturnReason.js.map +1 -1
  73. package/dist/components/order-view/order-actions/actions/confirm-order/tables/ProductTable.js +23 -25
  74. package/dist/components/order-view/order-actions/actions/confirm-order/tables/ProductTable.js.map +1 -1
  75. package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.js +88 -89
  76. package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.js.map +1 -1
  77. package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.js +16 -16
  78. package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.js.map +1 -1
  79. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.js +22 -23
  80. package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.js.map +1 -1
  81. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.js +52 -56
  82. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.js.map +1 -1
  83. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.js +26 -27
  84. package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.js.map +1 -1
  85. package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.js +29 -29
  86. package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.js.map +1 -1
  87. package/dist/components/order-view/order-actions/actions/split-order/SplitOrderTable.js +54 -222
  88. package/dist/components/order-view/order-actions/actions/split-order/SplitOrderTable.js.map +1 -1
  89. package/dist/components/order-view/order-actions/actions/split-order/index.js +37 -50
  90. package/dist/components/order-view/order-actions/actions/split-order/index.js.map +1 -1
  91. package/dist/components/order-view/order-actions/actions/uncancel-order/UncancelOrderTable.js +35 -37
  92. package/dist/components/order-view/order-actions/actions/uncancel-order/UncancelOrderTable.js.map +1 -1
  93. package/dist/components/order-view/order-actions/actions/what3words/What3WordsModal.tsx.js +85 -85
  94. package/dist/components/order-view/order-actions/actions/what3words/What3WordsModal.tsx.js.map +1 -1
  95. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.js +12 -8
  96. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.js.map +1 -1
  97. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.js +22 -18
  98. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.js.map +1 -1
  99. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/index.js +14 -8
  100. package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/index.js.map +1 -1
  101. package/dist/components/order-view/order-details/expanded-content/customer-section/index.js +19 -13
  102. package/dist/components/order-view/order-details/expanded-content/customer-section/index.js.map +1 -1
  103. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Address.js +11 -6
  104. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Address.js.map +1 -1
  105. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Latitude.js +23 -21
  106. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Latitude.js.map +1 -1
  107. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Longitude.js +23 -21
  108. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Longitude.js.map +1 -1
  109. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/index.js +39 -21
  110. package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/index.js.map +1 -1
  111. package/dist/components/order-view/order-details/expanded-content/footer/index.js +28 -14
  112. package/dist/components/order-view/order-details/expanded-content/footer/index.js.map +1 -1
  113. package/dist/components/order-view/order-details/expanded-content/orders-section/index.js +44 -28
  114. package/dist/components/order-view/order-details/expanded-content/orders-section/index.js.map +1 -1
  115. package/dist/components/order-view/order-details/expanded-content/services-section/OrderServices.js +28 -20
  116. package/dist/components/order-view/order-details/expanded-content/services-section/OrderServices.js.map +1 -1
  117. package/dist/components/order-view/order-details/expanded-content/services-section/ServiceLevel.js +17 -18
  118. package/dist/components/order-view/order-details/expanded-content/services-section/ServiceLevel.js.map +1 -1
  119. package/dist/components/order-view/order-details/expanded-content/services-section/ServiceType.js +22 -26
  120. package/dist/components/order-view/order-details/expanded-content/services-section/ServiceType.js.map +1 -1
  121. package/dist/components/order-view/order-details/expanded-content/services-section/index.js +79 -25
  122. package/dist/components/order-view/order-details/expanded-content/services-section/index.js.map +1 -1
  123. package/dist/components/order-view/order-details/helper.js.map +1 -1
  124. package/dist/components/order-view/products-info/collapsed-content/index.js +21 -15
  125. package/dist/components/order-view/products-info/collapsed-content/index.js.map +1 -1
  126. package/dist/components/order-view/products-info/index.js +36 -36
  127. package/dist/components/order-view/products-info/index.js.map +1 -1
  128. package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.js +265 -334
  129. package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.js.map +1 -1
  130. package/dist/components/order-view/store.js +155 -162
  131. package/dist/components/order-view/store.js.map +1 -1
  132. package/dist/components/order-view/toolbox-resources/expanded-content/index.js +281 -173
  133. package/dist/components/order-view/toolbox-resources/expanded-content/index.js.map +1 -1
  134. package/dist/components/utils.js +5 -4
  135. package/dist/components/utils.js.map +1 -1
  136. package/dist/types/common/modals/order-action-modal/OrderActionModal.d.ts +1 -2
  137. package/dist/types/common/modals/order-action-modal/footer/OrderActionFooter.d.ts +1 -1
  138. package/dist/types/components/client-portal/ClientPortalResponsive.d.ts +15 -0
  139. package/dist/types/components/order-daily-overview/common/mediaQuery.d.ts +4 -0
  140. package/dist/types/components/order-daily-overview/filters/FilterStyle.d.ts +1 -0
  141. package/dist/types/components/order-view/order-actions/Dropdown.d.ts +0 -1
  142. package/dist/types/components/order-view/return-client-products/product-table/ReturnProductTable.d.ts +1 -0
  143. package/dist/types/components/order-view/store.d.ts +0 -1
  144. package/dist/types/components/order-view/types.d.ts +1 -1
  145. package/dist/types/components/utils.d.ts +1 -0
  146. package/package.json +2 -2
  147. package/dist/assets/icons/ChevronDownIcon.js +0 -26
  148. package/dist/assets/icons/ChevronDownIcon.js.map +0 -1
  149. package/dist/components/order-view/return-client-products/product-table/palletGrouping.js +0 -47
  150. package/dist/components/order-view/return-client-products/product-table/palletGrouping.js.map +0 -1
  151. package/dist/types/components/order-view/return-client-products/product-table/palletGrouping.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"HoldOrderModal.js","sources":["../../../../../../src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n AntSelect,\n Label,\n toReverseDeliveryLabel,\n useAxios,\n} from '@bjsdistribution/dms-component-library';\nimport {\n useCurrentAction,\n useCustomerInfo,\n useOrderId,\n useOrderStaticData,\n} from '../../../store';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport {\n HoldContentContainer,\n HoldDatePickerWrap,\n HoldRow,\n SplitText,\n} from '../modalstyle';\nimport { DatePicker, DatePickerProps, notification } from 'antd';\nimport dayjs from 'dayjs';\nimport { ApiResponse } from '../../../types';\nimport { useClientPortal } from '../../../../store';\n\ninterface IProps {\n callOrderAlertsApi: any;\n callOrdersApi?: any;\n callOrderStatusApi: any;\n callUnresolvedTaskApi?: any;\n}\n\nfunction HoldOrderModal(props: IProps) {\n const [orderId] = useOrderId();\n const [, setCurrentAction] = useCurrentAction();\n const [orderStaticData] = useOrderStaticData();\n const [selectedDate, setDate] = useState<Date | string | null>(null);\n const [holdReason, setHoldReason] = useState<string | undefined>(undefined);\n const [customerInfo] = useCustomerInfo();\n const [isClientPortal] = useClientPortal();\n const infoText = `${customerInfo?.recipient_name}, ${customerInfo?.postcode}`;\n\n const onHoldReasonOptions = orderStaticData?.onhold_reasons?.map(\n (item: any) => {\n return {\n label: isClientPortal\n ? item?.reason\n : toReverseDeliveryLabel(item?.reason),\n value: item?.reason,\n };\n }\n );\n\n const dynamicUrl = selectedDate\n ? `orders/${orderId}/hold/?hold_reason=${holdReason}&hold_until=${selectedDate}`\n : `orders/${orderId}/hold/?hold_reason=${holdReason}\n`;\n\n const { fetchData: callOnHoldApi, error } = useAxios<{\n data: ApiResponse[];\n }>({\n endpoint: dynamicUrl,\n method: 'POST',\n });\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n\n const onChangeHold = (value: string) => {\n setHoldReason(value);\n };\n\n const handleDateChange: DatePickerProps['onChange'] = (date, _dateString) => {\n const newDate = date?.format('YYYY-MM-DDTHH:mm:ss');\n if (newDate !== undefined) {\n setDate(newDate);\n } else {\n setDate(null);\n }\n };\n\n const onSubmitHold = async () => {\n if (orderId) {\n const response = (await callOnHoldApi()) as {\n code: number | null;\n error?: string | null | undefined;\n [key: string]: any;\n };\n if (response?.code === 200) {\n notification.success({\n message: 'Success',\n description: `${response.message}`,\n });\n // call orders api to update status\n if (isClientPortal) {\n await props?.callUnresolvedTaskApi();\n }\n await props?.callOrderAlertsApi();\n await props?.callOrderStatusApi();\n await props?.callOrdersApi();\n }\n if (response?.code !== 200) {\n notification.error({\n message: 'Error',\n description: `${response.error}`,\n });\n setCurrentAction(undefined);\n }\n }\n };\n\n useEffect(() => {\n //@ts-ignore\n if (error !== null && error?.code !== 200) {\n console.log('entered');\n notification.error({\n //@ts-ignore\n message: `${error?.error}`,\n description: (\n //@ts-ignore\n <span dangerouslySetInnerHTML={{ __html: error?.message }} />\n ),\n });\n setCurrentAction(undefined);\n }\n }, [error]);\n\n const showSubmitBtn = holdReason !== undefined;\n\n return (\n <OrderActionModal\n minWidth=\"24vw\"\n headerTitle=\"Hold order\"\n onCloseHeader={onClose}\n onSubmit={onSubmitHold}\n showAdditionalInfo\n infoText={infoText}\n submitBtnTitle=\"Save Details\"\n isSubmitDisabled={!showSubmitBtn}\n >\n <HoldContentContainer>\n <SplitText>\n <HoldRow>\n <Label label=\"Hold Until (leave blank for indefinite)\" />\n <HoldDatePickerWrap>\n <DatePicker\n needConfirm\n format={'MMMM D, YYYY'}\n onChange={handleDateChange}\n value={\n selectedDate === null ? selectedDate : dayjs(selectedDate)\n }\n disabledDate={current => {\n return current && current < dayjs().startOf('day');\n }}\n />\n </HoldDatePickerWrap>\n </HoldRow>\n\n <HoldRow>\n <Label label=\"Hold Reason\" required />\n <AntSelect\n options={onHoldReasonOptions || []}\n placeholder=\"Select Hold Reason\"\n onChange={onChangeHold}\n disabled={false}\n style={{ width: '346px', height: 40 }}\n showSearch={true}\n popupClassName={'dropDownStyle'}\n selectWrapperClass={'rounded'}\n defaultValue={holdReason}\n />\n </HoldRow>\n </SplitText>\n </HoldContentContainer>\n </OrderActionModal>\n );\n}\n\nexport default HoldOrderModal;\n"],"names":["HoldOrderModal","props","orderId","useOrderId","setCurrentAction","useCurrentAction","orderStaticData","useOrderStaticData","selectedDate","setDate","useState","holdReason","setHoldReason","customerInfo","useCustomerInfo","isClientPortal","useClientPortal","infoText","onHoldReasonOptions","item","toReverseDeliveryLabel","dynamicUrl","callOnHoldApi","error","useAxios","onClose","onChangeHold","value","handleDateChange","date","_dateString","newDate","onSubmitHold","response","notification","useEffect","jsx","OrderActionModal","HoldContentContainer","jsxs","SplitText","HoldRow","Label","HoldDatePickerWrap","DatePicker","dayjs","current","AntSelect"],"mappings":"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"}
1
+ {"version":3,"file":"HoldOrderModal.js","sources":["../../../../../../src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n AntSelect,\n Label,\n useAxios,\n} from '@bjsdistribution/dms-component-library';\nimport {\n useCurrentAction,\n useCustomerInfo,\n useOrderId,\n useOrderStaticData,\n} from '../../../store';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport {\n HoldContentContainer,\n HoldDatePickerWrap,\n HoldRow,\n SplitText,\n} from '../modalstyle';\nimport { DatePicker, DatePickerProps, notification } from 'antd';\nimport dayjs from 'dayjs';\nimport { ApiResponse } from '../../../types';\nimport { useClientPortal } from '../../../../store';\n\ninterface IProps {\n callOrderAlertsApi: any;\n callOrdersApi?: any;\n callOrderStatusApi: any;\n callUnresolvedTaskApi?: any;\n}\n\nfunction HoldOrderModal(props: IProps) {\n const [orderId] = useOrderId();\n const [, setCurrentAction] = useCurrentAction();\n const [orderStaticData] = useOrderStaticData();\n const [selectedDate, setDate] = useState<Date | string | null>(null);\n const [holdReason, setHoldReason] = useState<string | undefined>(undefined);\n const [customerInfo] = useCustomerInfo();\n const [isClientPortal] = useClientPortal();\n const infoText = `${customerInfo?.recipient_name}, ${customerInfo?.postcode}`;\n\n const onHoldReasonOptions = orderStaticData?.onhold_reasons?.map(\n (item: any) => {\n return {\n label: item?.reason,\n value: item?.reason,\n };\n }\n );\n\n const dynamicUrl = selectedDate\n ? `orders/${orderId}/hold/?hold_reason=${holdReason}&hold_until=${selectedDate}`\n : `orders/${orderId}/hold/?hold_reason=${holdReason}\n`;\n\n const { fetchData: callOnHoldApi, error } = useAxios<{\n data: ApiResponse[];\n }>({\n endpoint: dynamicUrl,\n method: 'POST',\n });\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n\n const onChangeHold = (value: string) => {\n setHoldReason(value);\n };\n\n const handleDateChange: DatePickerProps['onChange'] = (date, _dateString) => {\n const newDate = date?.format('YYYY-MM-DDTHH:mm:ss');\n if (newDate !== undefined) {\n setDate(newDate);\n } else {\n setDate(null);\n }\n };\n\n const onSubmitHold = async () => {\n if (orderId) {\n const response = (await callOnHoldApi()) as {\n code: number | null;\n error?: string | null | undefined;\n [key: string]: any;\n };\n if (response?.code === 200) {\n notification.success({\n message: 'Success',\n description: `${response.message}`,\n });\n // call orders api to update status\n if (isClientPortal) {\n await props?.callUnresolvedTaskApi();\n }\n await props?.callOrderAlertsApi();\n await props?.callOrderStatusApi();\n await props?.callOrdersApi();\n }\n if (response?.code !== 200) {\n notification.error({\n message: 'Error',\n description: `${response.error}`,\n });\n setCurrentAction(undefined);\n }\n }\n };\n\n useEffect(() => {\n //@ts-ignore\n if (error !== null && error?.code !== 200) {\n console.log('entered');\n notification.error({\n //@ts-ignore\n message: `${error?.error}`,\n description: (\n //@ts-ignore\n <span dangerouslySetInnerHTML={{ __html: error?.message }} />\n ),\n });\n setCurrentAction(undefined);\n }\n }, [error]);\n\n const showSubmitBtn = holdReason !== undefined;\n\n return (\n <OrderActionModal\n minWidth=\"24vw\"\n headerTitle=\"Hold order\"\n onCloseHeader={onClose}\n onSubmit={onSubmitHold}\n showAdditionalInfo\n infoText={infoText}\n submitBtnTitle=\"Save Details\"\n isSubmitDisabled={!showSubmitBtn}\n >\n <HoldContentContainer>\n <SplitText>\n <HoldRow>\n <Label label=\"Hold Until (leave blank for indefinite)\" />\n <HoldDatePickerWrap>\n <DatePicker\n needConfirm\n format={'MMMM D, YYYY'}\n onChange={handleDateChange}\n value={\n selectedDate === null ? selectedDate : dayjs(selectedDate)\n }\n disabledDate={current => {\n return current && current < dayjs().startOf('day');\n }}\n />\n </HoldDatePickerWrap>\n </HoldRow>\n\n <HoldRow>\n <Label label=\"Hold Reason\" required />\n <AntSelect\n options={onHoldReasonOptions || []}\n placeholder=\"Select Hold Reason\"\n onChange={onChangeHold}\n disabled={false}\n style={{ width: '346px', height: 40 }}\n showSearch={true}\n popupClassName={'dropDownStyle'}\n selectWrapperClass={'rounded'}\n defaultValue={holdReason}\n />\n </HoldRow>\n </SplitText>\n </HoldContentContainer>\n </OrderActionModal>\n );\n}\n\nexport default HoldOrderModal;\n"],"names":["HoldOrderModal","props","orderId","useOrderId","setCurrentAction","useCurrentAction","orderStaticData","useOrderStaticData","selectedDate","setDate","useState","holdReason","setHoldReason","customerInfo","useCustomerInfo","isClientPortal","useClientPortal","infoText","onHoldReasonOptions","item","dynamicUrl","callOnHoldApi","error","useAxios","onClose","onChangeHold","value","handleDateChange","date","_dateString","newDate","onSubmitHold","response","notification","useEffect","jsx","OrderActionModal","HoldContentContainer","jsxs","SplitText","HoldRow","Label","HoldDatePickerWrap","DatePicker","dayjs","current","AntSelect"],"mappings":"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"}
@@ -1,239 +1,71 @@
1
- import { jsx as t, Fragment as x, jsxs as n } from "react/jsx-runtime";
2
- import L, { useState as u, useMemo as h, useEffect as j } from "react";
3
- import { useReturnProductDetails as z } from "../../../store.js";
4
- import { Skeleton as B, Empty as F } from "antd";
5
- import { Checkbox as m, toReverseDeliveryLabel as H } from "@bjsdistribution/dms-component-library";
6
- import { useLoading as M } from "../../../../order-daily-overview/store/store.js";
7
- import { useSelectedSplit as O, useSplitOrderPayload as U } from "../../store.js";
8
- import { StyledTableWrapper as q, StyledTable as W, EmptyDataContainer as J } from "../confirm-order/tables/ReminderStyles.js";
9
- import { useClientPortal as K } from "../../../../store.js";
10
- import d from "styled-components";
11
- import Q from "../../../../../assets/icons/ChevronDownIcon.js";
12
- import { groupProductsByPallet as V, hasAnyPallet as X, toggleGroupSelectionIds as Y } from "../../../return-client-products/product-table/palletGrouping.js";
13
- const y = 7;
14
- function be() {
15
- const [i] = z(), [P] = M(), [s, c] = O(), [S, p] = u(!1), [v, f] = U(), [k] = K(), g = h(
16
- () => (s ?? []).map((e) => e?.id),
17
- [s]
18
- ), N = h(
19
- () => V(i),
20
- [i]
21
- ), w = h(() => X(i), [
22
- i
23
- ]), [C, D] = u({}), I = (e) => e.isNoPallet || !!C[e.key], G = (e) => D((l) => ({ ...l, [e]: !l[e] })), T = (e) => {
24
- c(e.map((l) => ({ id: l }))), p(e.length === i?.length);
25
- }, E = (e) => {
26
- const l = e.target.checked;
27
- p(l), c(
28
- l ? i?.map((o) => ({ id: o.id })) : []
1
+ import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
+ import { useState as g, useEffect as b } from "react";
3
+ import { useProductDetails as k } from "../../../store.js";
4
+ import { Skeleton as C, Empty as D } from "antd";
5
+ import { Checkbox as p } from "@bjsdistribution/dms-component-library";
6
+ import { useLoading as T } from "../../../../order-daily-overview/store/store.js";
7
+ import { useSelectedSplit as x, useSplitOrderPayload as P } from "../../store.js";
8
+ import { StyledTableWrapper as A, StyledTable as E, EmptyDataContainer as _ } from "../confirm-order/tables/ReminderStyles.js";
9
+ function q() {
10
+ const [i] = k(), [m] = T(), [n, c] = x(), [u, o] = g(!1), [S, s] = P(), f = (t) => {
11
+ const l = t.target.checked;
12
+ o(l), c(
13
+ l ? i?.map((h) => ({ id: h.id })) : []
29
14
  );
30
- }, R = (e) => {
15
+ }, y = (t) => {
31
16
  c((l) => {
32
- const r = l?.some(
33
- (a) => a.id === e
34
- ) ? l?.filter((a) => a.id !== e) : [...l, { id: e }];
35
- return p(r?.length === i?.length), r;
17
+ const a = l?.some((r) => r.id === t) ? l?.filter((r) => r.id !== t) : [...l, { id: t }];
18
+ return o(a?.length === i?.length), a;
36
19
  });
37
- }, _ = (e, l) => {
38
- const o = e.items.map((r) => r?.id);
39
- T(Y(g, o, l));
40
20
  };
41
- j(() => {
42
- f({
43
- ...v,
21
+ return b(() => {
22
+ s({
23
+ ...S,
44
24
  return_order: 1,
45
25
  // FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1
46
- products: s?.map((e) => e.id),
26
+ products: n?.map((t) => t.id),
47
27
  force: !0
48
28
  });
49
- }, [s, f]);
50
- const b = (e) => /* @__PURE__ */ n("tr", { children: [
51
- /* @__PURE__ */ t("td", { style: { position: "relative" }, children: /* @__PURE__ */ t(
52
- m,
53
- {
54
- checked: s?.some(
55
- (l) => l.id === e.id
56
- ),
57
- onChange: () => R(e.id)
58
- }
59
- ) }),
60
- /* @__PURE__ */ t("td", { children: k ? e?.order_product_type?.type : H(e?.order_product_type?.type) }),
61
- /* @__PURE__ */ t("td", { children: e?.code }),
62
- /* @__PURE__ */ t("td", { children: e?.description }),
63
- /* @__PURE__ */ t("td", { children: e?.description }),
64
- /* @__PURE__ */ t("td", { children: e?.description }),
65
- /* @__PURE__ */ t("td", { children: e?.sku })
66
- ] }, e.id), $ = (e) => {
67
- const l = I(e), o = e.items.filter(
68
- (A) => g.includes(A?.id)
69
- ).length, r = e.items.length > 0 && o === e.items.length, a = `${e.items.length} ${e.items.length === 1 ? "item" : "items"}`;
70
- return /* @__PURE__ */ n(L.Fragment, { children: [
71
- /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t("td", { colSpan: y, children: /* @__PURE__ */ t("div", { className: e.isNoPallet ? "no-pallet-divider" : void 0, children: /* @__PURE__ */ n(ee, { children: [
72
- /* @__PURE__ */ t(
73
- m,
74
- {
75
- checked: r,
76
- onChange: () => _(e, r),
77
- "aria-label": e.isNoPallet ? "Select all items with no pallet ID" : `Select whole pallet ${e.label}`
78
- }
79
- ),
80
- /* @__PURE__ */ n(
81
- te,
82
- {
83
- type: "button",
84
- disabled: e.isNoPallet,
85
- onClick: e.isNoPallet ? void 0 : () => G(e.key),
86
- "aria-expanded": e.isNoPallet ? void 0 : l,
87
- children: [
88
- !e.isNoPallet && /* @__PURE__ */ t(le, { $isExpanded: l, children: /* @__PURE__ */ t(Q, {}) }),
89
- /* @__PURE__ */ t("span", { className: "title", children: e.isNoPallet ? /* @__PURE__ */ t("span", { children: "No Pallet ID" }) : /* @__PURE__ */ n(x, { children: [
90
- /* @__PURE__ */ t("span", { children: "Pallet ID:" }),
91
- /* @__PURE__ */ t("strong", { children: e.label })
92
- ] }) }),
93
- /* @__PURE__ */ n("span", { className: "count", children: [
94
- "(",
95
- a,
96
- ")"
97
- ] }),
98
- o > 0 && /* @__PURE__ */ n("span", { className: "selected", children: [
99
- o,
100
- " selected"
101
- ] }),
102
- !e.isNoPallet && /* @__PURE__ */ t(ie, { "aria-hidden": "true", children: l ? "−" : "+" })
103
- ]
104
- }
105
- )
106
- ] }) }) }) }),
107
- l && e.items.map(b)
108
- ] }, e.key);
109
- };
110
- return /* @__PURE__ */ t(x, { children: /* @__PURE__ */ t(q, { id: "tableScrolling", children: /* @__PURE__ */ n(W, { children: [
111
- /* @__PURE__ */ t("thead", { children: /* @__PURE__ */ n("tr", { children: [
112
- /* @__PURE__ */ t("th", { style: { position: "relative" }, children: /* @__PURE__ */ t(
113
- m,
29
+ }, [n, s]), /* @__PURE__ */ e(A, { id: "tableScrolling", children: /* @__PURE__ */ d(E, { children: [
30
+ /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ d("tr", { children: [
31
+ /* @__PURE__ */ e("th", { style: { position: "relative" }, children: /* @__PURE__ */ e(
32
+ p,
114
33
  {
115
- checked: S,
116
- onChange: E,
34
+ checked: u,
35
+ onChange: f,
117
36
  disabled: i?.length === 0 || i?.length === null
118
37
  }
119
38
  ) }),
120
- /* @__PURE__ */ t("th", { children: "Type" }),
121
- /* @__PURE__ */ t("th", { children: "Code" }),
122
- /* @__PURE__ */ t("th", { children: "Scan" }),
123
- /* @__PURE__ */ t("th", { children: "Description" }),
124
- /* @__PURE__ */ t("th", { children: "Delivery Instructions" }),
125
- /* @__PURE__ */ t("th", { children: "Barcode" })
39
+ /* @__PURE__ */ e("th", { children: "Type" }),
40
+ /* @__PURE__ */ e("th", { children: "Code" }),
41
+ /* @__PURE__ */ e("th", { children: "Scan" }),
42
+ /* @__PURE__ */ e("th", { children: "Description" }),
43
+ /* @__PURE__ */ e("th", { children: "Delivery Instructions" }),
44
+ /* @__PURE__ */ e("th", { children: "Barcode" })
126
45
  ] }) }),
127
- /* @__PURE__ */ t("tbody", { children: P ? /* @__PURE__ */ n("tr", { children: [
128
- /* @__PURE__ */ t("td", { colSpan: 6, children: /* @__PURE__ */ t(B, { active: !0 }) }),
129
- /* @__PURE__ */ t("td", { colSpan: 6 })
130
- ] }) : i?.length === 0 ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", { className: "emptyTd", colSpan: y, children: /* @__PURE__ */ t(J, { children: /* @__PURE__ */ t(F, { description: "No Data Found" }) }) }) }) : w ? N.map($) : i?.length > 0 && i?.map(
131
- (e) => b(e)
132
- ) })
133
- ] }) }) });
46
+ /* @__PURE__ */ e("tbody", { children: m ? /* @__PURE__ */ d("tr", { children: [
47
+ /* @__PURE__ */ e("td", { colSpan: 6, children: /* @__PURE__ */ e(C, { active: !0 }) }),
48
+ /* @__PURE__ */ e("td", { colSpan: 6 })
49
+ ] }) : i?.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { className: "emptyTd", colSpan: 7, children: /* @__PURE__ */ e(_, { children: /* @__PURE__ */ e(D, { description: "No Data Found" }) }) }) }) : i?.length > 0 && i?.map((t) => /* @__PURE__ */ d("tr", { children: [
50
+ /* @__PURE__ */ e("td", { style: { position: "relative" }, children: /* @__PURE__ */ e(
51
+ p,
52
+ {
53
+ checked: n?.some(
54
+ (l) => l.id === t.id
55
+ ),
56
+ onChange: () => y(t.id)
57
+ }
58
+ ) }),
59
+ /* @__PURE__ */ e("td", { children: t?.order_product_type?.type }),
60
+ /* @__PURE__ */ e("td", { children: t?.code }),
61
+ /* @__PURE__ */ e("td", { children: t?.description }),
62
+ /* @__PURE__ */ e("td", { children: t?.description }),
63
+ /* @__PURE__ */ e("td", { children: t?.description }),
64
+ /* @__PURE__ */ e("td", { children: t?.sku })
65
+ ] }, t.id)) })
66
+ ] }) });
134
67
  }
135
- const Z = d.tr`
136
- && > td {
137
- padding: 4px 0;
138
- background: transparent;
139
- border: none;
140
- border-radius: 0;
141
- }
142
-
143
- /*
144
- Divider separating the No Pallet ID group from the palletised groups. Applied
145
- to an inner wrapper rather than the td, because the rule above resets cell
146
- borders at && specificity and would win over a border on the td itself.
147
- */
148
- && .no-pallet-divider {
149
- border-top: 1px solid #c9c6c1;
150
- padding-top: 10px;
151
- margin-top: 4px;
152
- }
153
- `, ee = d.div`
154
- /*
155
- Required. The library Checkbox renders its real <input> as position:absolute
156
- with no offsets, so it needs a positioned ancestor here — otherwise its
157
- containing block resolves outside this scrolling modal, the invisible input
158
- stops scrolling with the visible box, and clicks land on another pallet's
159
- checkbox. Same reason the product cells set position:relative inline.
160
- */
161
- position: relative;
162
- display: flex;
163
- align-items: center;
164
- gap: 8px;
165
- width: 100%;
166
- padding: 8px 12px;
167
- border: 1px solid #e2e0db;
168
- border-radius: 6px;
169
- background: #f1f5f9;
170
- font-family: 'Roboto', sans-serif;
171
- font-size: 13px;
172
- font-weight: 500;
173
- color: #3a3630;
174
-
175
- `, te = d.button`
176
- display: flex;
177
- align-items: center;
178
- gap: 8px;
179
- flex: 1;
180
- padding: 0;
181
- border: none;
182
- background: transparent;
183
- cursor: pointer;
184
- text-align: left;
185
- font: inherit;
186
- color: inherit;
187
-
188
- &:disabled {
189
- cursor: default;
190
- opacity: 1;
191
- }
192
-
193
- .title {
194
- display: flex;
195
- align-items: center;
196
- gap: 6px;
197
- text-transform: uppercase;
198
- letter-spacing: 0.3px;
199
-
200
- strong {
201
- font-weight: 700;
202
- text-transform: none;
203
- letter-spacing: 0;
204
- }
205
- }
206
-
207
- .count {
208
- color: #6a7378;
209
- font-weight: 400;
210
- }
211
-
212
- .selected {
213
- color: #0099ff;
214
- font-weight: 600;
215
- font-size: 12px;
216
- }
217
- `, le = d.span`
218
- display: inline-flex;
219
- align-items: center;
220
- transition: transform 0.15s ease-in-out;
221
- transform: rotate(${(i) => i.$isExpanded ? "0deg" : "-90deg"});
222
- `, ie = d.span`
223
- margin-left: auto;
224
- display: inline-flex;
225
- align-items: center;
226
- justify-content: center;
227
- width: 20px;
228
- height: 20px;
229
- border: 1px solid #cbd5e1;
230
- border-radius: 4px;
231
- background: #fff;
232
- font-size: 14px;
233
- line-height: 1;
234
- color: #475569;
235
- `;
236
68
  export {
237
- be as default
69
+ q as default
238
70
  };
239
71
  //# sourceMappingURL=SplitOrderTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplitOrderTable.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/SplitOrderTable.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useReturnProductDetails } from '../../../store';\n\nimport { Empty, Skeleton } from 'antd';\nimport { Checkbox, toReverseDeliveryLabel } from '@bjsdistribution/dms-component-library';\nimport { useLoading } from '../../../../order-daily-overview/store/store';\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport {\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../confirm-order/tables/ReminderStyles';\nimport { useClientPortal } from '../../../../store';\nimport styled from 'styled-components';\nimport ChevronDownIcon from '../../../../../assets/icons/ChevronDownIcon';\nimport {\n groupProductsByPallet,\n hasAnyPallet,\n PalletGroup,\n toggleGroupSelectionIds,\n} from '../../../return-client-products/product-table/palletGrouping';\n\nconst COLUMN_COUNT = 7;\n\nfunction SplitOrderTable() {\n /**\n * Reads the return-products atom rather than the shared `productDetails` one:\n * this modal splits a return order, and only that payload carries pallet data.\n */\n const [orderProductDetails] = useReturnProductDetails();\n const [loading] = useLoading();\n const [selectedSplits, setSelectedSplit] = useSelectedSplit();\n const [selectAll, setSelectAll] = useState(false);\n const [payload, setPayload] = useSplitOrderPayload();\n const [isClientPortal] = useClientPortal();\n\n const selectedIds = useMemo(\n () => (selectedSplits ?? []).map((order: any) => order?.id),\n [selectedSplits]\n );\n\n const palletGroups = useMemo(\n () => groupProductsByPallet(orderProductDetails),\n [orderProductDetails]\n );\n\n /** Return orders picked before pallet scanning keep the original flat list. */\n const isGrouped = useMemo(() => hasAnyPallet(orderProductDetails), [\n orderProductDetails,\n ]);\n\n /** Pallet groups start collapsed; the No Pallet ID group is always open. */\n const [expandedPallets, setExpandedPallets] = useState<\n Record<string, boolean>\n >({});\n\n const isGroupExpanded = (group: PalletGroup) =>\n group.isNoPallet || !!expandedPallets[group.key];\n\n const togglePallet = (key: string) =>\n setExpandedPallets(prev => ({ ...prev, [key]: !prev[key] }));\n\n const applySelection = (ids: any[]) => {\n setSelectedSplit(ids.map((id: any) => ({ id })));\n setSelectAll(ids.length === orderProductDetails?.length);\n };\n\n // Handle Select All\n const handleSelectAll = (e: any) => {\n const isChecked = e.target.checked;\n setSelectAll(isChecked);\n\n if (isChecked) {\n setSelectedSplit(\n orderProductDetails?.map((order: any) => ({ id: order.id }))\n );\n } else {\n setSelectedSplit([]);\n }\n };\n\n const handleSelectedSplitList = (id: any) => {\n setSelectedSplit((prevSelectedOrder: any) => {\n const isSelected = prevSelectedOrder?.some(\n (order: any) => order.id === id\n );\n\n const updatedSelection = isSelected\n ? prevSelectedOrder?.filter((order: any) => order.id !== id)\n : [...prevSelectedOrder, { id }];\n\n setSelectAll(updatedSelection?.length === orderProductDetails?.length);\n\n return updatedSelection;\n });\n };\n\n /** Selecting a whole pallet is a shortcut for ticking each of its rows. */\n const toggleGroupSelection = (group: PalletGroup, allSelected: boolean) => {\n const groupIds = group.items.map((item: any) => item?.id);\n applySelection(toggleGroupSelectionIds(selectedIds, groupIds, allSelected));\n };\n\n useEffect(() => {\n setPayload({\n ...payload,\n return_order: 1, // FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1\n products: selectedSplits?.map((order: any) => order.id),\n force: true,\n });\n }, [selectedSplits, setPayload]);\n\n const renderProductRow = (product: any) => (\n <tr key={product.id}>\n <td style={{ position: 'relative' }}>\n <Checkbox\n checked={selectedSplits?.some(\n (selectedOrder: any) => selectedOrder.id === product.id\n )}\n onChange={() => handleSelectedSplitList(product.id)}\n />\n </td>\n <td>{isClientPortal\n ? product?.order_product_type?.type\n : toReverseDeliveryLabel(product?.order_product_type?.type)}</td>\n <td>{product?.code}</td>\n <td>{product?.description}</td>\n <td>{product?.description}</td>\n <td>{product?.description}</td>\n <td>{product?.sku}</td>\n </tr>\n );\n\n const renderPalletGroup = (group: PalletGroup) => {\n const expanded = isGroupExpanded(group);\n const selectedInGroup = group.items.filter((item: any) =>\n selectedIds.includes(item?.id)\n ).length;\n const allSelectedInGroup =\n group.items.length > 0 && selectedInGroup === group.items.length;\n const itemLabel = `${group.items.length} ${group.items.length === 1 ? 'item' : 'items'\n }`;\n\n return (\n <React.Fragment key={group.key}>\n <PalletHeaderRow>\n <td colSpan={COLUMN_COUNT}>\n <div className={group.isNoPallet ? 'no-pallet-divider' : undefined}>\n <PalletHeaderBar>\n <Checkbox\n checked={allSelectedInGroup}\n onChange={() => toggleGroupSelection(group, allSelectedInGroup)}\n aria-label={\n group.isNoPallet\n ? 'Select all items with no pallet ID'\n : `Select whole pallet ${group.label}`\n }\n />\n\n <PalletHeaderToggle\n type=\"button\"\n disabled={group.isNoPallet}\n onClick={\n group.isNoPallet ? undefined : () => togglePallet(group.key)\n }\n aria-expanded={group.isNoPallet ? undefined : expanded}\n >\n {!group.isNoPallet && (\n <Chevron $isExpanded={expanded}>\n <ChevronDownIcon />\n </Chevron>\n )}\n\n <span className=\"title\">\n {group.isNoPallet ? (\n <span>No Pallet ID</span>\n ) : (\n <>\n <span>Pallet ID:</span>\n <strong>{group.label}</strong>\n </>\n )}\n </span>\n\n <span className=\"count\">({itemLabel})</span>\n\n {selectedInGroup > 0 && (\n <span className=\"selected\">{selectedInGroup} selected</span>\n )}\n\n {!group.isNoPallet && (\n <ToggleGlyph aria-hidden=\"true\">\n {expanded ? '−' : '+'}\n </ToggleGlyph>\n )}\n </PalletHeaderToggle>\n </PalletHeaderBar>\n </div>\n </td>\n </PalletHeaderRow>\n\n {expanded && group.items.map(renderProductRow)}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <StyledTableWrapper id=\"tableScrolling\">\n <StyledTable>\n <thead>\n <tr>\n <th style={{ position: 'relative' }}>\n <Checkbox\n checked={selectAll}\n onChange={handleSelectAll}\n disabled={\n orderProductDetails?.length === 0 ||\n orderProductDetails?.length === null\n }\n />\n </th>\n <th>Type</th>\n <th>Code</th>\n <th>Scan</th>\n <th>Description</th>\n <th>Delivery Instructions</th>\n <th>Barcode</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={6}>\n <Skeleton active />\n </td>\n <td colSpan={6}></td>\n </tr>\n ) : orderProductDetails?.length === 0 ? (\n <tr>\n <td className=\"emptyTd\" colSpan={COLUMN_COUNT}>\n <EmptyDataContainer>\n <Empty description=\"No Data Found\" />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : isGrouped ? (\n palletGroups.map(renderPalletGroup)\n ) : (\n orderProductDetails?.length > 0 &&\n orderProductDetails?.map((product: any) =>\n renderProductRow(product)\n )\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n}\n\nconst PalletHeaderRow = styled.tr`\n && > td {\n padding: 4px 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n /*\n Divider separating the No Pallet ID group from the palletised groups. Applied\n to an inner wrapper rather than the td, because the rule above resets cell\n borders at && specificity and would win over a border on the td itself.\n */\n && .no-pallet-divider {\n border-top: 1px solid #c9c6c1;\n padding-top: 10px;\n margin-top: 4px;\n }\n`;\n\nconst PalletHeaderBar = styled.div`\n /*\n Required. The library Checkbox renders its real <input> as position:absolute\n with no offsets, so it needs a positioned ancestor here — otherwise its\n containing block resolves outside this scrolling modal, the invisible input\n stops scrolling with the visible box, and clicks land on another pallet's\n checkbox. Same reason the product cells set position:relative inline.\n */\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #e2e0db;\n border-radius: 6px;\n background: #f1f5f9;\n font-family: 'Roboto', sans-serif;\n font-size: 13px;\n font-weight: 500;\n color: #3a3630;\n\n`;\n\nconst PalletHeaderToggle = styled.button`\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n text-align: left;\n font: inherit;\n color: inherit;\n\n &:disabled {\n cursor: default;\n opacity: 1;\n }\n\n .title {\n display: flex;\n align-items: center;\n gap: 6px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n\n strong {\n font-weight: 700;\n text-transform: none;\n letter-spacing: 0;\n }\n }\n\n .count {\n color: #6a7378;\n font-weight: 400;\n }\n\n .selected {\n color: #0099ff;\n font-weight: 600;\n font-size: 12px;\n }\n`;\n\nconst Chevron = styled.span<{ $isExpanded: boolean }>`\n display: inline-flex;\n align-items: center;\n transition: transform 0.15s ease-in-out;\n transform: rotate(${props => (props.$isExpanded ? '0deg' : '-90deg')});\n`;\n\nconst ToggleGlyph = styled.span`\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #fff;\n font-size: 14px;\n line-height: 1;\n color: #475569;\n`;\n\nexport default SplitOrderTable;\n"],"names":["COLUMN_COUNT","SplitOrderTable","orderProductDetails","useReturnProductDetails","loading","useLoading","selectedSplits","setSelectedSplit","useSelectedSplit","selectAll","setSelectAll","useState","payload","setPayload","useSplitOrderPayload","isClientPortal","useClientPortal","selectedIds","useMemo","order","palletGroups","groupProductsByPallet","isGrouped","hasAnyPallet","expandedPallets","setExpandedPallets","isGroupExpanded","group","togglePallet","key","prev","applySelection","ids","id","handleSelectAll","isChecked","handleSelectedSplitList","prevSelectedOrder","updatedSelection","toggleGroupSelection","allSelected","groupIds","item","toggleGroupSelectionIds","useEffect","renderProductRow","product","jsxs","jsx","Checkbox","selectedOrder","toReverseDeliveryLabel","renderPalletGroup","expanded","selectedInGroup","allSelectedInGroup","itemLabel","React","PalletHeaderRow","PalletHeaderBar","PalletHeaderToggle","Chevron","ChevronDownIcon","Fragment","ToggleGlyph","StyledTableWrapper","StyledTable","Skeleton","EmptyDataContainer","Empty","styled","props"],"mappings":"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"}
1
+ {"version":3,"file":"SplitOrderTable.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/SplitOrderTable.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useProductDetails } from '../../../store';\n\nimport { Empty, Skeleton } from 'antd';\nimport { Checkbox } from '@bjsdistribution/dms-component-library';\nimport { useLoading } from '../../../../order-daily-overview/store/store';\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport {\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../confirm-order/tables/ReminderStyles';\n\nfunction SplitOrderTable() {\n const [orderProductDetails] = useProductDetails();\n const [loading] = useLoading();\n const [selectedSplits, setSelectedSplit] = useSelectedSplit();\n const [selectAll, setSelectAll] = useState(false);\n const [payload, setPayload] = useSplitOrderPayload();\n\n // Handle Select All\n const handleSelectAll = (e: any) => {\n const isChecked = e.target.checked;\n setSelectAll(isChecked);\n\n if (isChecked) {\n setSelectedSplit(\n orderProductDetails?.map((order: any) => ({ id: order.id }))\n );\n } else {\n setSelectedSplit([]);\n }\n };\n\n const handleSelectedSplitList = (id: any) => {\n setSelectedSplit(prevSelectedOrder => {\n const isSelected = prevSelectedOrder?.some(order => order.id === id);\n\n const updatedSelection = isSelected\n ? prevSelectedOrder?.filter(order => order.id !== id)\n : [...prevSelectedOrder, { id }];\n\n setSelectAll(updatedSelection?.length === orderProductDetails?.length);\n\n return updatedSelection;\n });\n };\n\n useEffect(() => {\n setPayload({\n ...payload,\n return_order: 1, // FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1\n products: selectedSplits?.map(order => order.id),\n force: true,\n });\n }, [selectedSplits, setPayload]);\n\n return (\n <StyledTableWrapper id=\"tableScrolling\">\n <StyledTable>\n <thead>\n <tr>\n <th style={{ position: 'relative' }}>\n <Checkbox\n checked={selectAll}\n onChange={handleSelectAll}\n disabled={\n orderProductDetails?.length === 0 ||\n orderProductDetails?.length === null\n }\n />\n </th>\n <th>Type</th>\n <th>Code</th>\n <th>Scan</th>\n <th>Description</th>\n <th>Delivery Instructions</th>\n <th>Barcode</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={6}>\n <Skeleton active />\n </td>\n <td colSpan={6}></td>\n </tr>\n ) : orderProductDetails?.length === 0 ? (\n <tr>\n <td className=\"emptyTd\" colSpan={7}>\n <EmptyDataContainer>\n <Empty description=\"No Data Found\" />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n orderProductDetails?.length > 0 &&\n orderProductDetails?.map((order: any) => (\n <tr key={order.id}>\n <td style={{ position: 'relative' }}>\n <Checkbox\n checked={selectedSplits?.some(\n selectedOrder => selectedOrder.id === order.id\n )}\n onChange={() => handleSelectedSplitList(order.id)}\n />\n </td>\n <td>{order?.order_product_type?.type}</td>\n <td>{order?.code}</td>\n <td>{order?.description}</td>\n <td>{order?.description}</td>\n <td>{order?.description}</td>\n <td>{order?.sku}</td>\n </tr>\n ))\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n );\n}\n\nexport default SplitOrderTable;\n"],"names":["SplitOrderTable","orderProductDetails","useProductDetails","loading","useLoading","selectedSplits","setSelectedSplit","useSelectedSplit","selectAll","setSelectAll","useState","payload","setPayload","useSplitOrderPayload","handleSelectAll","e","isChecked","order","handleSelectedSplitList","id","prevSelectedOrder","updatedSelection","useEffect","jsx","StyledTableWrapper","StyledTable","Checkbox","jsxs","Skeleton","EmptyDataContainer","Empty","selectedOrder"],"mappings":"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"}
@@ -1,67 +1,54 @@
1
- import { jsx as e, Fragment as x, jsxs as O } from "react/jsx-runtime";
2
- import { useEffect as v } from "react";
3
- import A from "../../../../../common/modals/order-action-modal/OrderActionModal.js";
4
- import c from "styled-components";
5
- import w from "./SplitOrderTable.js";
6
- import { useCurrentAction as y, useOrderDetails as C, useOrderId as D } from "../../../store.js";
7
- import { useApiHook as P } from "@bjsdistribution/dms-component-library";
8
- import { useSplitOrderPayload as T, useSelectedSplit as I } from "../../store.js";
9
- import { notification as $, Spin as k } from "antd";
10
- import { useNavigate as j } from "react-router-dom";
11
- function K() {
12
- const [, o] = y(), [p] = C(), i = p?.order_recipient, u = `${i?.recipient_name}, ${i?.postcode}`, [r, m] = D(), [f] = T(), [n, s] = I(), S = () => {
1
+ import { jsx as t, Fragment as x } from "react/jsx-runtime";
2
+ import { useEffect as b } from "react";
3
+ import g from "../../../../../common/modals/order-action-modal/OrderActionModal.js";
4
+ import O from "styled-components";
5
+ import A from "./SplitOrderTable.js";
6
+ import { useCurrentAction as v, useOrderDetails as w, useOrderId as y } from "../../../store.js";
7
+ import { useApiHook as C } from "@bjsdistribution/dms-component-library";
8
+ import { useSplitOrderPayload as D, useSelectedSplit as P } from "../../store.js";
9
+ import { notification as I } from "antd";
10
+ import { useNavigate as T } from "react-router-dom";
11
+ function z() {
12
+ const [, o] = v(), [c] = w(), r = c?.order_recipient, a = `${r?.recipient_name}, ${r?.postcode}`, [i, p] = y(), [m] = D(), [n, s] = P(), u = () => {
13
13
  o(void 0);
14
- }, h = j(), {
15
- data: t,
16
- loading: d,
17
- setShouldPerformAction: b
18
- } = P({
19
- endpoint: `/v1/return/split/${r}`,
14
+ }, f = T(), {
15
+ data: e,
16
+ setShouldPerformAction: S
17
+ } = C({
18
+ endpoint: `/v1/return/split/${i}`,
20
19
  method: "POST",
21
- body: f,
20
+ body: m,
22
21
  performAction: !1
23
- }), g = () => {
24
- r && b(!0);
25
- }, l = t?.data?.new_order;
26
- return v(() => {
27
- if (t?.code === 200) {
28
- const a = location.pathname.split("/").slice(0, -1).join("/");
29
- console.log(a, "currentPath"), h(`${a}/${l}`), m(l), s([]), $.success({
22
+ }), h = () => {
23
+ i && S(!0);
24
+ }, d = e?.data?.new_order;
25
+ return b(() => {
26
+ if (e?.code === 200) {
27
+ const l = location.pathname.split("/").slice(0, -1).join("/");
28
+ console.log(l, "currentPath"), f(`${l}/${d}`), p(d), s([]), I.success({
30
29
  message: "Success",
31
30
  description: (
32
31
  //@ts-ignore
33
- t?.message || "Sucess"
32
+ e?.message || "Sucess"
34
33
  )
35
34
  }), o(void 0), s([]);
36
35
  }
37
- }, [t]), /* @__PURE__ */ e(
38
- A,
36
+ }, [e]), /* @__PURE__ */ t(
37
+ g,
39
38
  {
40
39
  headerTitle: "Split Order",
41
40
  showAdditionalInfo: !0,
42
- infoText: u,
43
- onCloseHeader: S,
44
- onSubmit: g,
45
- submitBtnTitle: d ? /* @__PURE__ */ O(_, { children: [
46
- /* @__PURE__ */ e(k, { size: "small" }),
47
- "Splitting..."
48
- ] }) : "Split Order",
49
- footerActions: /* @__PURE__ */ e(x, {}),
50
- isSubmitDisabled: d ? !0 : n?.length > 0 ? !n : !0,
51
- children: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(w, {}) })
41
+ infoText: a,
42
+ onCloseHeader: u,
43
+ onSubmit: h,
44
+ submitBtnTitle: "Split Order",
45
+ footerActions: /* @__PURE__ */ t(x, {}),
46
+ isSubmitDisabled: n?.length > 0 ? !n : !0,
47
+ children: /* @__PURE__ */ t($, { children: /* @__PURE__ */ t(A, {}) })
52
48
  }
53
49
  );
54
50
  }
55
- const _ = c.span`
56
- display: inline-flex;
57
- align-items: center;
58
- gap: 8px;
59
-
60
- /* The button label is light, so the default dark spinner would be invisible. */
61
- .ant-spin-dot-item {
62
- background-color: currentColor;
63
- }
64
- `, H = c.div`
51
+ const $ = O.div`
65
52
  /* display: flex; */
66
53
  padding: 15px 12px;
67
54
  flex: 1 0 0;
@@ -77,6 +64,6 @@ const _ = c.span`
77
64
  scrollbar-width: thin;
78
65
  `;
79
66
  export {
80
- K as default
67
+ z as default
81
68
  };
82
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport styled from 'styled-components';\nimport SplitOrderTable from './SplitOrderTable';\nimport { useCurrentAction, useOrderDetails, useOrderId } from '../../../store';\nimport { useApiHook } from '@bjsdistribution/dms-component-library';\nimport { ApiResponse } from '../../../types';\n\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport { notification, Spin } from 'antd';\nimport { useNavigate } from 'react-router-dom';\n\nfunction SplitOrder() {\n const [, setCurrentAction] = useCurrentAction();\n const [orderDetails] = useOrderDetails();\n const orderRecipient = orderDetails?.order_recipient;\n const infoText = `${orderRecipient?.recipient_name}, ${orderRecipient?.postcode}`;\n const [orderId, setOrderID] = useOrderId();\n const [payload] = useSplitOrderPayload();\n const [seledtedSplitOrder, setSelectedSplit] = useSelectedSplit();\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n const navigate = useNavigate();\n const {\n data: response,\n loading: splitLoading,\n setShouldPerformAction: setPerformAction,\n } = useApiHook<{\n data: ApiResponse[];\n }>({\n endpoint: `/v1/return/split/${orderId}`,\n method: 'POST',\n body: payload,\n performAction: false,\n });\n\n const onSubmitSplitOrder = () => {\n if (orderId) {\n setPerformAction(true);\n }\n };\n //@ts-ignore\n const newId = response?.data?.new_order;\n useEffect(() => {\n //@ts-ignore\n if (response?.code === 200) {\n const currentPath = location.pathname\n .split('/')\n .slice(0, -1)\n .join('/');\n console.log(currentPath, 'currentPath');\n navigate(`${currentPath}/${newId}`);\n setOrderID(newId);\n setSelectedSplit([]);\n notification.success({\n message: 'Success',\n description:\n //@ts-ignore\n response?.message || 'Sucess',\n });\n setCurrentAction(undefined);\n setSelectedSplit([]);\n }\n }, [response]);\n\n const isSubmitDisabled = () => {\n // Block re-submits while the split is in flight — it creates a new B number.\n if (splitLoading) {\n return true;\n }\n if (seledtedSplitOrder?.length > 0) {\n return !seledtedSplitOrder;\n }\n return true;\n };\n\n return (\n <OrderActionModal\n headerTitle=\"Split Order\"\n showAdditionalInfo\n infoText={infoText}\n onCloseHeader={onClose}\n onSubmit={onSubmitSplitOrder}\n submitBtnTitle={\n splitLoading ? (\n <SubmitLabel>\n <Spin size=\"small\" />\n Splitting...\n </SubmitLabel>\n ) : (\n 'Split Order'\n )\n }\n footerActions={\n <>\n {/* <CheckContainer>\n <label className=\"check\">\n <input type=\"checkbox\" />\n Force Split\n </label>\n </CheckContainer> */}\n </>\n }\n isSubmitDisabled={isSubmitDisabled()}\n >\n <ContentContainer>\n <SplitOrderTable />\n </ContentContainer>\n </OrderActionModal>\n );\n}\n\nconst SubmitLabel = styled.span`\n display: inline-flex;\n align-items: center;\n gap: 8px;\n\n /* The button label is light, so the default dark spinner would be invisible. */\n .ant-spin-dot-item {\n background-color: currentColor;\n }\n`;\n\nconst ContentContainer = styled.div`\n /* display: flex; */\n padding: 15px 12px;\n flex: 1 0 0;\n border-radius: 15px;\n background: white;\n display: flex;\n flex-direction: column;\n gap: 15px;\n overflow: auto;\n min-height: 500px;\n overflow-x: hidden;\n max-height: 500px;\n scrollbar-width: thin;\n`;\n\nexport default SplitOrder;\n"],"names":["SplitOrder","setCurrentAction","useCurrentAction","orderDetails","useOrderDetails","orderRecipient","infoText","orderId","setOrderID","useOrderId","payload","useSplitOrderPayload","seledtedSplitOrder","setSelectedSplit","useSelectedSplit","onClose","navigate","useNavigate","response","splitLoading","setPerformAction","useApiHook","onSubmitSplitOrder","newId","useEffect","currentPath","notification","jsx","OrderActionModal","jsxs","SubmitLabel","Spin","Fragment","ContentContainer","SplitOrderTable","styled"],"mappings":";;;;;;;;;;AAYA,SAASA,IAAa;AACpB,QAAM,CAAA,EAAGC,CAAgB,IAAIC,EAAA,GACvB,CAACC,CAAY,IAAIC,EAAA,GACjBC,IAAiBF,GAAc,iBAC/BG,IAAW,GAAGD,GAAgB,cAAc,KAAKA,GAAgB,QAAQ,IACzE,CAACE,GAASC,CAAU,IAAIC,EAAA,GACxB,CAACC,CAAO,IAAIC,EAAA,GACZ,CAACC,GAAoBC,CAAgB,IAAIC,EAAA,GAEzCC,IAAU,MAAM;AACpB,IAAAd,EAAiB,MAAS;AAAA,EAC5B,GACMe,IAAWC,EAAA,GACX;AAAA,IACJ,MAAMC;AAAA,IACN,SAASC;AAAA,IACT,wBAAwBC;AAAA,EAAA,IACtBC,EAED;AAAA,IACD,UAAU,oBAAoBd,CAAO;AAAA,IACrC,QAAQ;AAAA,IACR,MAAMG;AAAA,IACN,eAAe;AAAA,EAAA,CAChB,GAEKY,IAAqB,MAAM;AAC/B,IAAIf,KACFa,EAAiB,EAAI;AAAA,EAEzB,GAEMG,IAAQL,GAAU,MAAM;AAC9B,SAAAM,EAAU,MAAM;AAEd,QAAIN,GAAU,SAAS,KAAK;AAC1B,YAAMO,IAAc,SAAS,SAC1B,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,KAAK,GAAG;AACX,cAAQ,IAAIA,GAAa,aAAa,GACtCT,EAAS,GAAGS,CAAW,IAAIF,CAAK,EAAE,GAClCf,EAAWe,CAAK,GAChBV,EAAiB,CAAA,CAAE,GACnBa,EAAa,QAAQ;AAAA,QACnB,SAAS;AAAA,QACT;AAAA;AAAA,UAEER,GAAU,WAAW;AAAA;AAAA,MAAA,CACxB,GACDjB,EAAiB,MAAS,GAC1BY,EAAiB,CAAA,CAAE;AAAA,IACrB;AAAA,EACF,GAAG,CAACK,CAAQ,CAAC,GAcX,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,oBAAkB;AAAA,MAClB,UAAAtB;AAAA,MACA,eAAeS;AAAA,MACf,UAAUO;AAAA,MACV,gBACEH,IACE,gBAAAU,EAACC,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAH,EAACI,GAAA,EAAK,MAAK,QAAA,CAAQ;AAAA,QAAE;AAAA,MAAA,EAAA,CAEvB,IAEA;AAAA,MAGJ,eACE,gBAAAJ,EAAAK,GAAA,EAOA;AAAA,MAEF,kBApCEb,IACK,KAELP,GAAoB,SAAS,IACxB,CAACA,IAEH;AAAA,MAgCL,UAAA,gBAAAe,EAACM,GAAA,EACC,UAAA,gBAAAN,EAACO,GAAA,CAAA,CAAgB,EAAA,CACnB;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAMJ,IAAcK,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWrBF,IAAmBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport styled from 'styled-components';\nimport SplitOrderTable from './SplitOrderTable';\nimport { useCurrentAction, useOrderDetails, useOrderId } from '../../../store';\nimport { useApiHook } from '@bjsdistribution/dms-component-library';\nimport { ApiResponse } from '../../../types';\n\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport { notification } from 'antd';\nimport { useNavigate } from 'react-router-dom';\n\nfunction SplitOrder() {\n const [, setCurrentAction] = useCurrentAction();\n const [orderDetails] = useOrderDetails();\n const orderRecipient = orderDetails?.order_recipient;\n const infoText = `${orderRecipient?.recipient_name}, ${orderRecipient?.postcode}`;\n const [orderId, setOrderID] = useOrderId();\n const [payload] = useSplitOrderPayload();\n const [seledtedSplitOrder, setSelectedSplit] = useSelectedSplit();\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n const navigate = useNavigate();\n const {\n data: response,\n setShouldPerformAction: setPerformAction,\n } = useApiHook<{\n data: ApiResponse[];\n }>({\n endpoint: `/v1/return/split/${orderId}`,\n method: 'POST',\n body: payload,\n performAction: false,\n });\n\n const onSubmitSplitOrder = () => {\n if (orderId) {\n setPerformAction(true);\n }\n };\n //@ts-ignore\n const newId = response?.data?.new_order;\n useEffect(() => {\n //@ts-ignore\n if (response?.code === 200) {\n const currentPath = location.pathname\n .split('/')\n .slice(0, -1)\n .join('/');\n console.log(currentPath, 'currentPath');\n navigate(`${currentPath}/${newId}`);\n setOrderID(newId);\n setSelectedSplit([]);\n notification.success({\n message: 'Success',\n description:\n //@ts-ignore\n response?.message || 'Sucess',\n });\n setCurrentAction(undefined);\n setSelectedSplit([]);\n }\n }, [response]);\n\n const isSubmitDisabled = () => {\n if (seledtedSplitOrder?.length > 0) {\n return !seledtedSplitOrder;\n }\n return true;\n };\n\n return (\n <OrderActionModal\n headerTitle=\"Split Order\"\n showAdditionalInfo\n infoText={infoText}\n onCloseHeader={onClose}\n onSubmit={onSubmitSplitOrder}\n submitBtnTitle=\"Split Order\"\n footerActions={\n <>\n {/* <CheckContainer>\n <label className=\"check\">\n <input type=\"checkbox\" />\n Force Split\n </label>\n </CheckContainer> */}\n </>\n }\n isSubmitDisabled={isSubmitDisabled()}\n >\n <ContentContainer>\n <SplitOrderTable />\n </ContentContainer>\n </OrderActionModal>\n );\n}\n\nconst ContentContainer = styled.div`\n /* display: flex; */\n padding: 15px 12px;\n flex: 1 0 0;\n border-radius: 15px;\n background: white;\n display: flex;\n flex-direction: column;\n gap: 15px;\n overflow: auto;\n min-height: 500px;\n overflow-x: hidden;\n max-height: 500px;\n scrollbar-width: thin;\n`;\n\nexport default SplitOrder;\n"],"names":["SplitOrder","setCurrentAction","useCurrentAction","orderDetails","useOrderDetails","orderRecipient","infoText","orderId","setOrderID","useOrderId","payload","useSplitOrderPayload","seledtedSplitOrder","setSelectedSplit","useSelectedSplit","onClose","navigate","useNavigate","response","setPerformAction","useApiHook","onSubmitSplitOrder","newId","useEffect","currentPath","notification","jsx","OrderActionModal","Fragment","ContentContainer","SplitOrderTable","styled"],"mappings":";;;;;;;;;;AAYA,SAASA,IAAa;AACpB,QAAM,CAAA,EAAGC,CAAgB,IAAIC,EAAA,GACvB,CAACC,CAAY,IAAIC,EAAA,GACjBC,IAAiBF,GAAc,iBAC/BG,IAAW,GAAGD,GAAgB,cAAc,KAAKA,GAAgB,QAAQ,IACzE,CAACE,GAASC,CAAU,IAAIC,EAAA,GACxB,CAACC,CAAO,IAAIC,EAAA,GACZ,CAACC,GAAoBC,CAAgB,IAAIC,EAAA,GAEzCC,IAAU,MAAM;AACpB,IAAAd,EAAiB,MAAS;AAAA,EAC5B,GACMe,IAAWC,EAAA,GACX;AAAA,IACJ,MAAMC;AAAA,IACN,wBAAwBC;AAAA,EAAA,IACtBC,EAED;AAAA,IACD,UAAU,oBAAoBb,CAAO;AAAA,IACrC,QAAQ;AAAA,IACR,MAAMG;AAAA,IACN,eAAe;AAAA,EAAA,CAChB,GAEKW,IAAqB,MAAM;AAC/B,IAAId,KACFY,EAAiB,EAAI;AAAA,EAEzB,GAEMG,IAAQJ,GAAU,MAAM;AAC9B,SAAAK,EAAU,MAAM;AAEd,QAAIL,GAAU,SAAS,KAAK;AAC1B,YAAMM,IAAc,SAAS,SAC1B,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,KAAK,GAAG;AACX,cAAQ,IAAIA,GAAa,aAAa,GACtCR,EAAS,GAAGQ,CAAW,IAAIF,CAAK,EAAE,GAClCd,EAAWc,CAAK,GAChBT,EAAiB,CAAA,CAAE,GACnBY,EAAa,QAAQ;AAAA,QACnB,SAAS;AAAA,QACT;AAAA;AAAA,UAEEP,GAAU,WAAW;AAAA;AAAA,MAAA,CACxB,GACDjB,EAAiB,MAAS,GAC1BY,EAAiB,CAAA,CAAE;AAAA,IACrB;AAAA,EACF,GAAG,CAACK,CAAQ,CAAC,GAUX,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,oBAAkB;AAAA,MAClB,UAAArB;AAAA,MACA,eAAeS;AAAA,MACf,UAAUM;AAAA,MACV,gBAAe;AAAA,MACf,eACE,gBAAAK,EAAAE,GAAA,EAOA;AAAA,MAEF,kBAxBEhB,GAAoB,SAAS,IACxB,CAACA,IAEH;AAAA,MAuBL,UAAA,gBAAAc,EAACG,GAAA,EACC,UAAA,gBAAAH,EAACI,GAAA,CAAA,CAAgB,EAAA,CACnB;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAMD,IAAmBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}