@openmrs/esm-stock-management-app 3.0.1-pre.805 → 3.0.1-pre.826

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 (196) hide show
  1. package/.eslintrc +10 -1
  2. package/dist/10.js +1 -0
  3. package/dist/10.js.map +1 -0
  4. package/dist/165.js +1 -1
  5. package/dist/165.js.map +1 -1
  6. package/dist/20.js +1 -1
  7. package/dist/20.js.map +1 -1
  8. package/dist/606.js.map +1 -1
  9. package/dist/642.js +1 -0
  10. package/dist/642.js.map +1 -0
  11. package/dist/675.js +1 -0
  12. package/dist/675.js.map +1 -0
  13. package/dist/{880.js → 727.js} +1 -1
  14. package/dist/727.js.map +1 -0
  15. package/dist/780.js +1 -0
  16. package/dist/780.js.map +1 -0
  17. package/dist/793.js +1 -1
  18. package/dist/793.js.map +1 -1
  19. package/dist/main.js +1 -1
  20. package/dist/main.js.map +1 -1
  21. package/dist/openmrs-esm-stock-management-app.js +1 -1
  22. package/dist/openmrs-esm-stock-management-app.js.buildmanifest.json +132 -59
  23. package/dist/openmrs-esm-stock-management-app.js.map +1 -1
  24. package/dist/routes.json +1 -1
  25. package/package.json +3 -2
  26. package/src/core/api/api.ts +1 -1
  27. package/src/core/api/types/Auditable.ts +2 -2
  28. package/src/core/api/types/BaseOpenmrsData.ts +2 -2
  29. package/src/core/api/types/BaseOpenmrsMetadata.ts +2 -2
  30. package/src/core/api/types/BaseOpenmrsObject.ts +1 -1
  31. package/src/core/api/types/BatchJob.ts +1 -1
  32. package/src/core/api/types/LocationTree.ts +1 -1
  33. package/src/core/api/types/OpenmrsData.ts +3 -3
  34. package/src/core/api/types/OpenmrsMetadata.ts +3 -3
  35. package/src/core/api/types/Retireable.ts +2 -2
  36. package/src/core/api/types/Voidable.ts +2 -2
  37. package/src/core/api/types/concept/Concept.ts +4 -4
  38. package/src/core/api/types/concept/ConceptName.ts +2 -2
  39. package/src/core/api/types/concept/Drug.ts +2 -2
  40. package/src/core/api/types/identity/Patient.ts +1 -1
  41. package/src/core/api/types/identity/Privilege.ts +1 -1
  42. package/src/core/api/types/identity/Session.ts +3 -3
  43. package/src/core/api/types/identity/User.ts +2 -2
  44. package/src/core/api/types/identity/UserRoleScope.ts +3 -3
  45. package/src/core/api/types/identity/UserRoleScopeLocation.ts +1 -1
  46. package/src/core/api/types/identity/UserRoleScopeOperationType.ts +1 -1
  47. package/src/core/api/types/stockItem/StockBatch.ts +2 -2
  48. package/src/core/api/types/stockItem/StockItem.ts +6 -6
  49. package/src/core/api/types/stockItem/StockItemPackagingUOM.ts +3 -3
  50. package/src/core/api/types/stockItem/StockItemReference.ts +3 -3
  51. package/src/core/api/types/stockItem/StockItemTransaction.ts +1 -1
  52. package/src/core/api/types/stockItem/StockRule.ts +1 -1
  53. package/src/core/api/types/stockOperation/StockOperation.ts +8 -8
  54. package/src/core/api/types/stockOperation/StockOperationDTO.ts +3 -3
  55. package/src/core/api/types/stockOperation/StockOperationItem.ts +5 -5
  56. package/src/core/api/types/stockOperation/StockOperationItemDTO.ts +2 -2
  57. package/src/core/api/types/stockOperation/StockOperationType.ts +2 -2
  58. package/src/core/api/types/stockOperation/StockSource.ts +2 -2
  59. package/src/core/components/carbon/controlled-combo-box/controlled-combo-box.component.tsx +1 -1
  60. package/src/core/components/carbon/controlled-dropdown/controlled-dropdown.component.tsx +2 -2
  61. package/src/core/components/carbon/controlled-number-input/controlled-number-input.component.tsx +3 -3
  62. package/src/core/components/carbon/controlled-radio-button-group/controlled-radio-button-group.component.tsx +3 -3
  63. package/src/core/components/carbon/controlled-text-area/controlled-text-area.component.tsx +3 -3
  64. package/src/core/components/carbon/controlled-text-input/controlled-text-input.component.tsx +3 -3
  65. package/src/core/components/carbon/types.ts +1 -1
  66. package/src/core/components/side-nav/side-nav.component.tsx +1 -1
  67. package/src/core/components/table/table.component.tsx +1 -1
  68. package/src/core/components/table/types.ts +1 -1
  69. package/src/core/components/tabs/types.ts +1 -1
  70. package/src/core/components/tabs/vertical-tabs.component.tsx +1 -1
  71. package/src/core/print/PrintTemplate.ts +1 -1
  72. package/src/core/utils/utils.ts +1 -1
  73. package/src/index.ts +8 -0
  74. package/src/routes.json +14 -0
  75. package/src/stock-batch/stock-batch.resource.ts +4 -4
  76. package/src/stock-home/stock-home-inventory-expiry.resource.tsx +1 -1
  77. package/src/stock-home/stock-home-inventory-items.resource.tsx +1 -1
  78. package/src/stock-home/stock-home-issuing.resource.tsx +1 -1
  79. package/src/stock-home/stock-home-metrics.tsx +1 -1
  80. package/src/stock-home/stock-home-receiving.resource.tsx +1 -1
  81. package/src/stock-home/useDisposalList.tsx +1 -1
  82. package/src/stock-items/add-stock-item/add-stock-action-button.component.tsx +2 -3
  83. package/src/stock-items/add-stock-item/add-stock-item.component.tsx +30 -21
  84. package/src/stock-items/add-stock-item/add-stock-item.resource.tsx +1 -1
  85. package/src/stock-items/add-stock-item/add-stock-item.scss +22 -3
  86. package/src/stock-items/add-stock-item/add-stock-item.test.tsx +12 -12
  87. package/src/stock-items/add-stock-item/batch-information/batch-information-locations/batch-information-locations-filter.component.tsx +2 -2
  88. package/src/stock-items/add-stock-item/batch-information/batch-information.component.tsx +1 -1
  89. package/src/stock-items/add-stock-item/batch-information/batch-information.resource.tsx +1 -1
  90. package/src/stock-items/add-stock-item/concepts-selector/concepts-selector.component.tsx +3 -3
  91. package/src/stock-items/add-stock-item/dispensing-package-measurement/dispensing-package-measurement.component.tsx +3 -3
  92. package/src/stock-items/add-stock-item/dispensing-unit-selector/dispensing-unit-selector.component.tsx +3 -3
  93. package/src/stock-items/add-stock-item/drug-selector/drug-selector.component.tsx +3 -3
  94. package/src/stock-items/add-stock-item/drug-selector/drug-selector.resource.tsx +1 -1
  95. package/src/stock-items/add-stock-item/packaging-units/packaging-units-delete-modal-button.component.tsx +1 -1
  96. package/src/stock-items/add-stock-item/packaging-units/packaging-units-delete-modal.component.tsx +1 -1
  97. package/src/stock-items/add-stock-item/packaging-units/packaging-units.component.tsx +10 -11
  98. package/src/stock-items/add-stock-item/packaging-units/packaging-units.resource.tsx +2 -2
  99. package/src/stock-items/add-stock-item/packaging-units-concept-selector/packaging-units-concept-selector.component.tsx +4 -4
  100. package/src/stock-items/add-stock-item/preferred-vendor-selector/preferred-vendor-selector.component.tsx +4 -4
  101. package/src/stock-items/add-stock-item/quantities/quantities.resource.tsx +1 -1
  102. package/src/stock-items/add-stock-item/stock-item-category-selector/stock-item-category-selector.component.tsx +3 -3
  103. package/src/stock-items/add-stock-item/stock-item-details/stock-item-details.component.tsx +226 -214
  104. package/src/stock-items/add-stock-item/stock-item-details/stock-item-details.resource.tsx +7 -2
  105. package/src/stock-items/add-stock-item/stock-item-references/stock-item-references.component.tsx +2 -2
  106. package/src/stock-items/add-stock-item/stock-item-references/stock-item-references.resource.ts +1 -1
  107. package/src/stock-items/add-stock-item/stock-item-references/stock-references-selector.component.tsx +4 -4
  108. package/src/stock-items/add-stock-item/stock-item-rules/add-stock-rule-button.component.tsx +6 -4
  109. package/src/stock-items/add-stock-item/stock-item-rules/add-stock-rules.component.tsx +163 -167
  110. package/src/stock-items/add-stock-item/stock-item-rules/add-stock-rules.scss +19 -11
  111. package/src/stock-items/add-stock-item/stock-item-rules/edit-stock-rule.component.tsx +9 -6
  112. package/src/stock-items/add-stock-item/stock-item-rules/stock-item-rules.component.tsx +1 -1
  113. package/src/stock-items/add-stock-item/stock-item-rules/stock-item-rules.resource.tsx +1 -1
  114. package/src/stock-items/add-stock-item/stock-item-rules/stock-rules.resource.ts +3 -3
  115. package/src/stock-items/add-stock-item/stock-item-units-edit/stock-item-units-edit.component.tsx +2 -2
  116. package/src/stock-items/add-stock-item/transactions/printout/transactions-print-action.component.tsx +2 -3
  117. package/src/stock-items/add-stock-item/transactions/transaction-filters/transaction-locations-filter.component.tsx +2 -2
  118. package/src/stock-items/add-stock-item/transactions/transactions.component.tsx +1 -1
  119. package/src/stock-items/add-stock-item/transactions/transactions.resource.tsx +1 -1
  120. package/src/stock-items/edit-stock-item/edit-stock-item-action-menu.component.tsx +3 -3
  121. package/src/stock-items/stock-item.utils.tsx +7 -50
  122. package/src/stock-items/stock-items-table.component.tsx +2 -2
  123. package/src/stock-items/stock-items-table.resource.ts +1 -1
  124. package/src/stock-items/stock-items-table.test.tsx +28 -23
  125. package/src/stock-items/stock-items.resource.ts +17 -15
  126. package/src/stock-items/types.ts +3 -3
  127. package/src/stock-locations/add-locations-form.component.tsx +1 -1
  128. package/src/stock-locations/location-admin-form.component.tsx +1 -1
  129. package/src/stock-locations/stock-locations-table.resource.tsx +2 -2
  130. package/src/stock-lookups/stock-lookups.resource.ts +13 -13
  131. package/src/stock-operations/add-stock-operation/stock-operations-expanded-row/stock-items-table.tsx +1 -1
  132. package/src/stock-operations/add-stock-operation/stock-operations-expanded-row/stock-operation-expanded-row.component.tsx +1 -1
  133. package/src/stock-operations/edit-stock-operation/edit-stock-operation-action-menu.component.tsx +1 -1
  134. package/src/stock-operations/stock-operation-actions.component.tsx +2 -2
  135. package/src/stock-operations/stock-operation-links.component.tsx +2 -2
  136. package/src/stock-operations/stock-operation-status/stock-operation-status-row.tsx +1 -1
  137. package/src/stock-operations/stock-operation-types-selector/stock-operation-types-selector.component.tsx +1 -1
  138. package/src/stock-operations/stock-operation.utils.tsx +3 -3
  139. package/src/stock-operations/stock-operations-dialog/stock-operations-approve-button.component.tsx +1 -1
  140. package/src/stock-operations/stock-operations-dialog/stock-operations-approve-dispatch-button.component.tsx +1 -1
  141. package/src/stock-operations/stock-operations-dialog/stock-operations-cancel-button.component.tsx +1 -1
  142. package/src/stock-operations/stock-operations-dialog/stock-operations-complete-button.component.tsx +1 -1
  143. package/src/stock-operations/stock-operations-dialog/stock-operations-completed-dispatch-button.component.tsx +1 -1
  144. package/src/stock-operations/stock-operations-dialog/stock-operations-dialog.component.tsx +5 -2
  145. package/src/stock-operations/stock-operations-dialog/stock-operations-issue-stock-button.component.tsx +1 -1
  146. package/src/stock-operations/stock-operations-dialog/stock-operations-print-button.component.tsx +5 -6
  147. package/src/stock-operations/stock-operations-dialog/stock-operations-reject-button.component.tsx +1 -1
  148. package/src/stock-operations/stock-operations-dialog/stock-operations-return-button.component.tsx +1 -1
  149. package/src/stock-operations/stock-operations-forms/hooks/useFilterableStockItems.ts +2 -2
  150. package/src/stock-operations/stock-operations-forms/hooks/useOperationTypePermisions.ts +1 -1
  151. package/src/stock-operations/stock-operations-forms/hooks/useParties.ts +3 -3
  152. package/src/stock-operations/stock-operations-forms/hooks/useSearchUser.ts +5 -1
  153. package/src/stock-operations/stock-operations-forms/hooks/useStockItemBatchNumbers.ts +1 -1
  154. package/src/stock-operations/stock-operations-forms/hooks/useStockOperationLinks.ts +2 -2
  155. package/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.component.tsx +1 -1
  156. package/src/stock-operations/stock-operations-forms/input-components/batch-no-selector.test.tsx +1 -1
  157. package/src/stock-operations/stock-operations-forms/input-components/quantity-uom-selector.component.tsx +1 -1
  158. package/src/stock-operations/stock-operations-forms/input-components/stock-item-search.component.tsx +2 -2
  159. package/src/stock-operations/stock-operations-forms/input-components/stock-operation-reason-selector.component.tsx +2 -2
  160. package/src/stock-operations/stock-operations-forms/input-components/unique-batch-no-entry-input.component.tsx +2 -3
  161. package/src/stock-operations/stock-operations-forms/input-components/users-selector.component.tsx +2 -4
  162. package/src/stock-operations/stock-operations-forms/step2.test.tsx +3 -4
  163. package/src/stock-operations/stock-operations-forms/step3.test.tsx +1 -2
  164. package/src/stock-operations/stock-operations-forms/steps/base-operation-details-form-step.tsx +16 -7
  165. package/src/stock-operations/stock-operations-forms/steps/received-items.component.tsx +1 -1
  166. package/src/stock-operations/stock-operations-forms/steps/stock-operation-item-batch-no-cell.component.tsx +1 -1
  167. package/src/stock-operations/stock-operations-forms/steps/stock-operation-item-cell.component.tsx +1 -1
  168. package/src/stock-operations/stock-operations-forms/steps/stock-operation-item-expiry-cell.component.tsx +1 -1
  169. package/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.component.tsx +3 -3
  170. package/src/stock-operations/stock-operations-forms/steps/stock-operation-submission-form-step.component.tsx +4 -4
  171. package/src/stock-operations/stock-operations-forms/stock-issue-form-initializer-with-related-requisition-operation.component.tsx +2 -2
  172. package/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace.tsx +7 -4
  173. package/src/stock-operations/stock-operations-forms/stock-operation-form.component.tsx +9 -9
  174. package/src/stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component.tsx +1 -0
  175. package/src/stock-operations/stock-operations-forms/stock-operations-form-utils.ts +1 -1
  176. package/src/stock-operations/stock-operations-table.component.tsx +1 -1
  177. package/src/stock-operations/stock-operations-table.resource.tsx +1 -1
  178. package/src/stock-operations/stock-operations.resource.ts +9 -9
  179. package/src/stock-operations/stock-print-reports/GoodsReceivedNote.tsx +1 -1
  180. package/src/stock-operations/stock-print-reports/RequisitionDocument.tsx +1 -1
  181. package/src/stock-operations/stock-print-reports/StockOperationReport.tsx +4 -4
  182. package/src/stock-operations/stock-print-reports/StockTransferDocument.tsx +1 -1
  183. package/src/stock-reports/generate-report/create-stock-report.component.tsx +3 -3
  184. package/src/stock-reports/stock-reports.resource.ts +1 -1
  185. package/src/stock-sources/add-stock-sources/add-stock-sources.component.tsx +2 -2
  186. package/src/stock-sources/add-stock-sources/add-stock-sources.test.tsx +2 -2
  187. package/src/stock-sources/edit-stock-source/edit-stock-source.component.tsx +1 -1
  188. package/src/stock-sources/stock-sources-items-table.resource.ts +1 -1
  189. package/src/stock-sources/stock-sources.resource.ts +3 -3
  190. package/src/stock-user-role-scopes/add-stock-user-scope/add-stock-user-role-scope.component.tsx +7 -7
  191. package/src/stock-user-role-scopes/edit-stock-user-scope/edit-stock-user-scope-action-menu.component.tsx +1 -1
  192. package/src/stock-user-role-scopes/stock-user-role-scopes-items-table.resource.ts +1 -1
  193. package/src/stock-user-role-scopes/stock-user-role-scopes.resource.ts +3 -3
  194. package/dist/600.js +0 -1
  195. package/dist/600.js.map +0 -1
  196. package/dist/880.js.map +0 -1
@@ -27,7 +27,7 @@ import { useTranslation } from 'react-i18next';
27
27
  import { ResourceRepresentation } from '../core/api/api';
28
28
  import AddStockItemActionButton from './add-stock-item/add-stock-action-button.component';
29
29
  import FilterStockItems from './components/filter-stock-items/filter-stock-items.component';
30
- import { launchAddOrEditDialog } from './stock-item.utils';
30
+ import { launchAddOrStockItemWorkspace } from './stock-item.utils';
31
31
  import { useStockItemsPages } from './stock-items-table.resource';
32
32
  import styles from './stock-items-table.scss';
33
33
  import AddStockItemsBulktImportActionButton from './add-bulk-stock-item/add-stock-items-bulk-import-action-button.component';
@@ -144,7 +144,7 @@ const StockItemsTableComponent: React.FC<StockItemsTableProps> = () => {
144
144
  size="md"
145
145
  onClick={() => {
146
146
  stockItem.isDrug = !!stockItem.drugUuid;
147
- launchAddOrEditDialog(t, stockItem, true);
147
+ launchAddOrStockItemWorkspace(t, stockItem);
148
148
  }}
149
149
  iconDescription={t('editStockItem', 'Edit Stock Item')}
150
150
  renderIcon={(props) => <Edit size={16} {...props} />}
@@ -1,4 +1,4 @@
1
- import { StockItemFilter, useStockItems } from './stock-items.resource';
1
+ import { type StockItemFilter, useStockItems } from './stock-items.resource';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { ResourceRepresentation } from '../core/api/api';
@@ -4,7 +4,7 @@ import userEvent from '@testing-library/user-event';
4
4
  import StockItemsTableComponent from './stock-items-table.component';
5
5
  import { useStockItemsPages } from './stock-items-table.resource';
6
6
  import { handleMutate } from '../utils';
7
- import { launchAddOrEditDialog } from './stock-item.utils';
7
+ import { launchAddOrStockItemWorkspace } from './stock-item.utils';
8
8
 
9
9
  jest.mock('./stock-items-table.resource', () => ({
10
10
  useStockItemsPages: jest.fn(),
@@ -15,7 +15,7 @@ jest.mock('../utils', () => ({
15
15
  }));
16
16
 
17
17
  jest.mock('./stock-item.utils', () => ({
18
- launchAddOrEditDialog: jest.fn(),
18
+ launchAddOrStockItemWorkspace: jest.fn(),
19
19
  }));
20
20
 
21
21
  jest.mock('react-i18next', () => ({
@@ -27,16 +27,18 @@ jest.mock('react-i18next', () => ({
27
27
  describe('StockItemsTableComponent', () => {
28
28
  const mockUseStockItemsPages = {
29
29
  isLoading: false,
30
- items: Array(25).fill(null).map((_, index) => ({
31
- uuid: `item-${index}`,
32
- commonName: `Test Item ${index}`,
33
- drugUuid: index % 2 === 0 ? `drug-${index}` : null,
34
- conceptName: `Concept ${index}`,
35
- dispensingUnitName: `Unit ${index}`,
36
- defaultStockOperationsUoMName: `UoM ${index}`,
37
- reorderLevel: index * 10,
38
- reorderLevelUoMName: 'Units',
39
- })),
30
+ items: Array(25)
31
+ .fill(null)
32
+ .map((_, index) => ({
33
+ uuid: `item-${index}`,
34
+ commonName: `Test Item ${index}`,
35
+ drugUuid: index % 2 === 0 ? `drug-${index}` : null,
36
+ conceptName: `Concept ${index}`,
37
+ dispensingUnitName: `Unit ${index}`,
38
+ defaultStockOperationsUoMName: `UoM ${index}`,
39
+ reorderLevel: index * 10,
40
+ reorderLevelUoMName: 'Units',
41
+ })),
40
42
  totalCount: 25,
41
43
  currentPageSize: 10,
42
44
  setPageSize: jest.fn(),
@@ -57,13 +59,13 @@ describe('StockItemsTableComponent', () => {
57
59
  render(<StockItemsTableComponent />);
58
60
  expect(screen.getByText('panelDescription')).toBeInTheDocument();
59
61
  expect(screen.getByRole('searchbox')).toBeInTheDocument();
60
-
62
+
61
63
  const user = userEvent.setup();
62
64
  const menuButton = screen.getByTestId('stock-items-menu');
63
65
  await user.click(menuButton);
64
-
66
+
65
67
  await screen.findByText('Refresh');
66
-
68
+
67
69
  expect(screen.getByText('type')).toBeInTheDocument();
68
70
  expect(screen.getByText('genericName')).toBeInTheDocument();
69
71
  expect(screen.getByText('commonName')).toBeInTheDocument();
@@ -87,9 +89,12 @@ describe('StockItemsTableComponent', () => {
87
89
  const user = userEvent.setup();
88
90
  const searchInput = screen.getByRole('searchbox');
89
91
  await user.type(searchInput, 'test search');
90
- await waitFor(() => {
91
- expect(mockUseStockItemsPages.setSearchString).toHaveBeenCalledWith('test search');
92
- }, { timeout: 2000 });
92
+ await waitFor(
93
+ () => {
94
+ expect(mockUseStockItemsPages.setSearchString).toHaveBeenCalledWith('test search');
95
+ },
96
+ { timeout: 2000 },
97
+ );
93
98
  });
94
99
 
95
100
  it('updates pagination when page or page size changes', async () => {
@@ -106,12 +111,12 @@ describe('StockItemsTableComponent', () => {
106
111
 
107
112
  it('triggers handleRefresh when refresh button is clicked', async () => {
108
113
  render(<StockItemsTableComponent />);
109
-
114
+
110
115
  const user = userEvent.setup();
111
116
  const menuButton = screen.getByTestId('stock-items-menu');
112
117
  expect(menuButton).toBeInTheDocument();
113
118
  await user.click(menuButton);
114
-
119
+
115
120
  const refreshButton = await screen.findByText('Refresh');
116
121
  expect(refreshButton).toBeInTheDocument();
117
122
  await user.click(refreshButton);
@@ -125,10 +130,10 @@ describe('StockItemsTableComponent', () => {
125
130
  const user = userEvent.setup();
126
131
  const editButtons = screen.getAllByLabelText('Edit Stock Item');
127
132
  await user.click(editButtons[0]);
128
- expect(launchAddOrEditDialog).toHaveBeenCalledWith(
133
+
134
+ expect(launchAddOrStockItemWorkspace).toHaveBeenCalledWith(
129
135
  expect.any(Function),
130
136
  expect.objectContaining({ uuid: 'item-0' }),
131
- true
132
137
  );
133
138
  });
134
- });
139
+ });
@@ -1,15 +1,17 @@
1
1
  import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
2
2
  import useSWR from 'swr';
3
- import { ResourceFilterCriteria, toQueryParams } from '../core/api/api';
4
- import { PageableResult } from '../core/api/types/PageableResult';
5
- import { StockBatchDTO } from '../core/api/types/stockItem/StockBatchDTO';
6
- import { InventoryGroupBy, StockItemDTO } from '../core/api/types/stockItem/StockItem';
7
- import { StockItemInventory } from '../core/api/types/stockItem/StockItemInventory';
8
- import { StockItemPackagingUOMDTO } from '../core/api/types/stockItem/StockItemPackagingUOM';
9
- import { StockItemReference, StockItemReferenceDTO } from '../core/api/types/stockItem/StockItemReference';
10
- import { StockItemTransactionDTO } from '../core/api/types/stockItem/StockItemTransaction';
11
- import { StockRule } from '../core/api/types/stockItem/StockRule';
12
- import { StockOperationItemCost } from '../core/api/types/stockOperation/StockOperationItemCost';
3
+ import { type ResourceFilterCriteria, toQueryParams } from '../core/api/api';
4
+ import { type PageableResult } from '../core/api/types/PageableResult';
5
+ import { type StockBatchDTO } from '../core/api/types/stockItem/StockBatchDTO';
6
+ import { type InventoryGroupBy, type StockItemDTO } from '../core/api/types/stockItem/StockItem';
7
+ import { type StockItemInventory } from '../core/api/types/stockItem/StockItemInventory';
8
+ import { type StockItemPackagingUOMDTO } from '../core/api/types/stockItem/StockItemPackagingUOM';
9
+ import { type StockItemReference, type StockItemReferenceDTO } from '../core/api/types/stockItem/StockItemReference';
10
+ import { type StockItemTransactionDTO } from '../core/api/types/stockItem/StockItemTransaction';
11
+ import { type StockRule } from '../core/api/types/stockItem/StockRule';
12
+ import { type StockOperationItemCost } from '../core/api/types/stockOperation/StockOperationItemCost';
13
+ import { z } from 'zod';
14
+ import { stockItemDetailsSchema, type StockItemFormData } from './validationSchema';
13
15
 
14
16
  export interface StockItemFilter extends ResourceFilterCriteria {
15
17
  isDrug?: string | null | undefined;
@@ -227,11 +229,11 @@ export function deleteStockItemPackagingUnit(id: string) {
227
229
  }
228
230
 
229
231
  // createStockItem
230
- export function createStockItem(item: StockItemDTO) {
232
+ export function createStockItem(item: StockItemFormData) {
231
233
  const apiUrl = `${restBaseUrl}/stockmanagement/stockitem`;
232
234
  const abortController = new AbortController();
233
235
  delete item.isDrug;
234
- return openmrsFetch(apiUrl, {
236
+ return openmrsFetch<StockItemDTO>(apiUrl, {
235
237
  method: 'POST',
236
238
  headers: {
237
239
  'Content-Type': 'application/json',
@@ -242,12 +244,12 @@ export function createStockItem(item: StockItemDTO) {
242
244
  }
243
245
 
244
246
  // updateStockItem
245
- export function updateStockItem(item: StockItemDTO) {
246
- const apiUrl = `${restBaseUrl}/stockmanagement/stockitem/${item.uuid}`;
247
+ export function updateStockItem(stockItemUuid: string, item: StockItemFormData) {
248
+ const apiUrl = `${restBaseUrl}/stockmanagement/stockitem/${stockItemUuid}`;
247
249
  const abortController = new AbortController();
248
250
  delete item.isDrug;
249
251
  delete item.dateCreated;
250
- return openmrsFetch(apiUrl, {
252
+ return openmrsFetch<StockItemDTO>(apiUrl, {
251
253
  method: 'POST',
252
254
  headers: {
253
255
  'Content-Type': 'application/json',
@@ -1,6 +1,6 @@
1
- import { StockItemDTO } from '../core/api/types/stockItem/StockItem';
2
- import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
3
- import { KeyedMutator } from 'swr';
1
+ import { type StockItemDTO } from '../core/api/types/stockItem/StockItem';
2
+ import { type StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
3
+ import { type KeyedMutator } from 'swr';
4
4
 
5
5
  export type SaveStockItem = (item: StockItemDTO) => Promise<void>;
6
6
  export type SaveStockOperation = (item: StockOperationDTO) => Promise<void>;
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { showSnackbar } from '@openmrs/esm-framework';
4
4
  import { saveLocation } from './stock-locations-table.resource';
5
- import { locationData, LocationMutator } from '../stock-items/types';
5
+ import { type locationData, type LocationMutator } from '../stock-items/types';
6
6
  import LocationAdministrationForm from './location-admin-form.component';
7
7
  import { extractErrorMessagesFromResponse } from '../constants';
8
8
 
@@ -15,7 +15,7 @@ import {
15
15
  FilterableMultiSelect,
16
16
  } from '@carbon/react';
17
17
  import { useTranslation } from 'react-i18next';
18
- import { locationData } from '../stock-items/types';
18
+ import { type locationData } from '../stock-items/types';
19
19
  import styles from './stock-locations-table.scss';
20
20
  import { useLocationTags } from './stock-locations-table.resource';
21
21
 
@@ -1,8 +1,8 @@
1
1
  import { useMemo, useState } from 'react';
2
2
  import useSWR from 'swr';
3
- import { FetchResponse, openmrsFetch, restBaseUrl, usePagination } from '@openmrs/esm-framework';
3
+ import { type FetchResponse, openmrsFetch, restBaseUrl, usePagination } from '@openmrs/esm-framework';
4
4
  import { useTranslation } from 'react-i18next';
5
- import { StockOperationFilter } from '../stock-operations/stock-operations.resource';
5
+ import { type StockOperationFilter } from '../stock-operations/stock-operations.resource';
6
6
  import { useStockTagLocations } from '../stock-lookups/stock-lookups.resource';
7
7
 
8
8
  export function useStockLocationPages(filter: StockOperationFilter) {
@@ -1,25 +1,25 @@
1
1
  import {
2
- FetchResponse,
3
- OpenmrsResource,
2
+ type FetchResponse,
3
+ type OpenmrsResource,
4
4
  fhirBaseUrl,
5
5
  openmrsFetch,
6
6
  useSession,
7
7
  restBaseUrl,
8
8
  } from '@openmrs/esm-framework';
9
- import { ResourceFilterCriteria, toQueryParams } from '../core/api/api';
10
- import { PageableResult } from '../core/api/types/PageableResult';
11
- import { OpenMRSLocation, OpenMRSLocationTag } from '../core/api/types/Location';
9
+ import { type ResourceFilterCriteria, toQueryParams } from '../core/api/api';
10
+ import { type PageableResult } from '../core/api/types/PageableResult';
11
+ import { type OpenMRSLocation, type OpenMRSLocationTag } from '../core/api/types/Location';
12
12
  import useSWR from 'swr';
13
- import { Role } from '../core/api/types/identity/Role';
14
- import { User } from '../core/api/types/identity/User';
15
- import { StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
16
- import { Concept } from '../core/api/types/concept/Concept';
17
- import { Party } from '../core/api/types/Party';
18
- import { Drug } from '../core/api/types/concept/Drug';
19
- import { Patient } from '../core/api/types/identity/Patient';
13
+ import { type Role } from '../core/api/types/identity/Role';
14
+ import { type User } from '../core/api/types/identity/User';
15
+ import { type StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
16
+ import { type Concept } from '../core/api/types/concept/Concept';
17
+ import { type Party } from '../core/api/types/Party';
18
+ import { type Drug } from '../core/api/types/concept/Drug';
19
+ import { type Patient } from '../core/api/types/identity/Patient';
20
20
  import { useMemo } from 'react';
21
21
  import { uniqBy } from 'lodash-es';
22
- import { UserRoleScope } from '../core/api/types/identity/UserRoleScope';
22
+ import { type UserRoleScope } from '../core/api/types/identity/UserRoleScope';
23
23
 
24
24
  export type PatientFilterCriteria = ResourceFilterCriteria;
25
25
 
@@ -13,7 +13,7 @@ import {
13
13
  import { formatDate, parseDate, usePagination } from '@openmrs/esm-framework';
14
14
  import React, { useMemo, useState } from 'react';
15
15
  import { useTranslation } from 'react-i18next';
16
- import { StockOperationItemDTO } from '../../../core/api/types/stockOperation/StockOperationItemDTO';
16
+ import { type StockOperationItemDTO } from '../../../core/api/types/stockOperation/StockOperationItemDTO';
17
17
  import styles from './stock-items-table.scss';
18
18
 
19
19
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { InlineLoading, Layer, Row } from '@carbon/react';
2
2
  import React, { useMemo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { StockOperationDTO } from '../../../core/api/types/stockOperation/StockOperationDTO';
4
+ import { type StockOperationDTO } from '../../../core/api/types/stockOperation/StockOperationDTO';
5
5
  import { useStockOperationTypes } from '../../../stock-lookups/stock-lookups.resource';
6
6
  import StockoperationActions from '../../stock-operation-actions.component';
7
7
  import StockOperationLinks from '../../stock-operation-links.component';
@@ -3,7 +3,7 @@ import { Edit } from '@carbon/react/icons';
3
3
  import { showSnackbar } from '@openmrs/esm-framework';
4
4
  import React, { useCallback, useEffect, useMemo } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
6
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
7
  import { launchStockoperationAddOrEditWorkSpace } from '../stock-operation.utils';
8
8
  import useFilteredOperationTypesByRoles from '../stock-operations-forms/hooks/useFilteredOperationTypesByRoles';
9
9
  import { useStockOperationAndItems } from '../stock-operations.resource';
@@ -1,9 +1,9 @@
1
1
  import React, { useMemo } from 'react';
2
- import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
2
+ import { type StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
3
3
  import {
4
4
  operationFromString,
5
5
  OperationType,
6
- StockOperationType,
6
+ type StockOperationType,
7
7
  StockOperationTypeHasPrint,
8
8
  } from '../core/api/types/stockOperation/StockOperationType';
9
9
  import StockOperationApprovalButton from './stock-operations-dialog/stock-operations-approve-button.component';
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo } from 'react';
2
- import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
3
- import { OperationType, StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
2
+ import { type StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
3
+ import { OperationType, type StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
4
4
  import useStockOperationLinks from './stock-operations-forms/hooks/useStockOperationLinks';
5
5
  import styles from './stock-operations-table.scss';
6
6
  import StockOperationRelatedLink from './stock-operations-forms/stock-operation-related-link.component';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
2
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
3
3
  import styles from './stock-operation-status.scss';
4
4
  import StockOpertationStatus from './stock-operation-status';
5
5
  import { useTranslation } from 'react-i18next';
@@ -3,7 +3,7 @@ import { OverflowMenuVertical } from '@carbon/react/icons';
3
3
  import { showSnackbar } from '@openmrs/esm-framework';
4
4
  import React, { useCallback, useEffect } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { OperationType, StockOperationType } from '../../core/api/types/stockOperation/StockOperationType';
6
+ import { OperationType, type StockOperationType } from '../../core/api/types/stockOperation/StockOperationType';
7
7
  import { launchStockoperationAddOrEditWorkSpace } from '../stock-operation.utils';
8
8
  import useFilteredOperationTypesByRoles from '../stock-operations-forms/hooks/useFilteredOperationTypesByRoles';
9
9
 
@@ -1,8 +1,8 @@
1
1
  import { launchWorkspace, showModal } from '@openmrs/esm-framework';
2
- import { TFunction } from 'react-i18next';
2
+ import { type TFunction } from 'react-i18next';
3
3
  import { useLocation } from 'react-router-dom';
4
- import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
5
- import { StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
4
+ import { type StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
5
+ import { type StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
6
6
 
7
7
  export const launchStockoperationAddOrEditWorkSpace = (
8
8
  t: TFunction,
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { CheckmarkOutline } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationApprovalButtonProps {
10
10
  operation: StockOperationDTO;
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { Departure } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationApproveDispatchButtonProps {
10
10
  operation: StockOperationDTO;
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { Error } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationCancelButtonProps {
10
10
  operation: StockOperationDTO;
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { CheckmarkOutline } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationCompleteButtonProps {
10
10
  operation: StockOperationDTO;
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { Arrival } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationCompleteDispatchButtonProps {
10
10
  operation: StockOperationDTO;
@@ -1,9 +1,12 @@
1
1
  import React, { useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
3
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
4
4
  import { Button, Form, ModalBody, ModalFooter, ModalHeader, TextArea, InlineLoading } from '@carbon/react';
5
5
  import styles from './stock-operations-dialog.scss';
6
- import { StopOperationAction, StopOperationActionType } from '../../core/api/types/stockOperation/StockOperationAction';
6
+ import {
7
+ type StopOperationAction,
8
+ type StopOperationActionType,
9
+ } from '../../core/api/types/stockOperation/StockOperationAction';
7
10
  import { executeStockOperationAction } from '../stock-operations.resource';
8
11
  import { restBaseUrl, showSnackbar } from '@openmrs/esm-framework';
9
12
  import { closeOverlay } from '../../core/components/overlay/hook';
@@ -3,7 +3,7 @@ import React, { useEffect, useMemo } from 'react';
3
3
  import { Button, InlineLoading } from '@carbon/react';
4
4
  import { DeliveryTruck } from '@carbon/react/icons';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
6
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
7
  import { OperationType } from '../../core/api/types/stockOperation/StockOperationType';
8
8
  import { useStockOperationTypes } from '../../stock-lookups/stock-lookups.resource';
9
9
  import { launchStockoperationAddOrEditWorkSpace } from '../stock-operation.utils';
@@ -1,18 +1,17 @@
1
1
  import React, { useState } from 'react';
2
2
 
3
- import { Button } from '@carbon/react';
3
+ import { Button, InlineLoading } from '@carbon/react';
4
4
  import { Printer } from '@carbon/react/icons';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { StockItemInventory } from '../../core/api/types/stockItem/StockItemInventory';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
- import { StockOperationItemCost } from '../../core/api/types/stockOperation/StockOperationItemCost';
6
+ import { type StockItemInventory } from '../../core/api/types/stockItem/StockItemInventory';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
+ import { type StockOperationItemCost } from '../../core/api/types/stockOperation/StockOperationItemCost';
9
9
 
10
- import { InlineLoading } from '@carbon/react';
11
10
  import { showSnackbar } from '@openmrs/esm-framework';
12
11
  import { extractErrorMessagesFromResponse } from '../../constants';
13
12
  import { ResourceRepresentation } from '../../core/api/api';
14
13
  import { OperationType } from '../../core/api/types/stockOperation/StockOperationType';
15
- import { StockItemInventoryFilter } from '../../stock-items/stock-items.resource';
14
+ import { type StockItemInventoryFilter } from '../../stock-items/stock-items.resource';
16
15
  import {
17
16
  getStockItemInventory,
18
17
  getStockOperation,
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { Repeat } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationRejectButtonProps {
10
10
  operation: StockOperationDTO;
@@ -4,7 +4,7 @@ import { Button } from '@carbon/react';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { CloseOutline } from '@carbon/react/icons';
7
- import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
7
+ import { type StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
8
8
 
9
9
  interface StockOperationReturnButtonProps {
10
10
  operation: StockOperationDTO;
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { StockItemFilter, useStockItems as useStockItemsData } from '../../../stock-items/stock-items.resource';
3
- import { UserFilterCriteria } from '../../../stock-lookups/stock-lookups.resource';
2
+ import { type StockItemFilter, useStockItems as useStockItemsData } from '../../../stock-items/stock-items.resource';
3
+ import { type UserFilterCriteria } from '../../../stock-lookups/stock-lookups.resource';
4
4
  import { ResourceRepresentation } from '../../../core/api/api';
5
5
 
6
6
  export function useFilterableStockItems(filter?: StockItemFilter) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  operationFromString,
3
- StockOperationType,
3
+ type StockOperationType,
4
4
  StockOperationTypeCanCapturePurchasePrice,
5
5
  StockOperationTypeHasPrint,
6
6
  StockOperationTypeIsNegativeQtyAllowed,
@@ -1,9 +1,9 @@
1
- import { FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
1
+ import { type FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
2
2
  import React, { useCallback, useMemo } from 'react';
3
3
  import useSWR from 'swr';
4
- import { Party } from '../../../core/api/types/Party';
4
+ import { type Party } from '../../../core/api/types/Party';
5
5
  import { LocationTypeLocation, LocationTypeOther } from '../../../core/api/types/stockOperation/LocationType';
6
- import { StockOperationType } from '../../../core/api/types/stockOperation/StockOperationType';
6
+ import { type StockOperationType } from '../../../core/api/types/stockOperation/StockOperationType';
7
7
 
8
8
  const useParties = (stockOperationType: StockOperationType) => {
9
9
  const apiUrl = `${restBaseUrl}/stockmanagement/party?v=default`;
@@ -1,5 +1,9 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { ConceptFilterCriteria, UserFilterCriteria, useUsers } from '../../../stock-lookups/stock-lookups.resource';
2
+ import {
3
+ type ConceptFilterCriteria,
4
+ type UserFilterCriteria,
5
+ useUsers,
6
+ } from '../../../stock-lookups/stock-lookups.resource';
3
7
  import { ResourceRepresentation } from '../../../core/api/api';
4
8
 
5
9
  const useSearchUser = (filter?: ConceptFilterCriteria) => {
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { ResourceRepresentation } from '../../../core/api/api';
3
- import { StockBatchFilter, useStockBatches } from '../../../stock-items/stock-items.resource';
3
+ import { type StockBatchFilter, useStockBatches } from '../../../stock-items/stock-items.resource';
4
4
 
5
5
  export function useStockItemBatchNumbers(stockItemUuid: string) {
6
6
  const [conceptFilter, setConceptFilter] = useState<StockBatchFilter>({
@@ -1,6 +1,6 @@
1
- import { FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
1
+ import { type FetchResponse, openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
2
2
  import useSWR from 'swr';
3
- import { StockOperationLinkDTO } from '../../../core/api/types/stockOperation/StockOperationLinkDTO';
3
+ import { type StockOperationLinkDTO } from '../../../core/api/types/stockOperation/StockOperationLinkDTO';
4
4
 
5
5
  const useStockOperationLinks = (stockOperationUuid?: string) => {
6
6
  const apiUrl = `${restBaseUrl}/stockmanagement/stockoperationlink?v=default&q=${stockOperationUuid}`;
@@ -1,7 +1,7 @@
1
1
  import { ComboBox, SelectSkeleton } from '@carbon/react';
2
2
  import React, { useEffect, useMemo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { StockBatchDTO } from '../../../core/api/types/stockItem/StockBatchDTO';
4
+ import { type StockBatchDTO } from '../../../core/api/types/stockItem/StockBatchDTO';
5
5
  import { useStockItemBatchInformationHook } from '../../../stock-items/add-stock-item/batch-information/batch-information.resource';
6
6
  import { useStockItemBatchNumbers } from '../hooks/useStockItemBatchNumbers';
7
7
  import { formatForDatePicker } from '../../../constants';
@@ -1,7 +1,7 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import userEvent from '@testing-library/user-event';
3
3
  import React from 'react';
4
- import { StockItemInventory } from '../../../core/api/types/stockItem/StockItemInventory';
4
+ import { type StockItemInventory } from '../../../core/api/types/stockItem/StockItemInventory';
5
5
  import { useStockItemBatchInformationHook } from '../../../stock-items/add-stock-item/batch-information/batch-information.resource';
6
6
  import { useStockItemBatchNumbers } from '../hooks/useStockItemBatchNumbers';
7
7
  import BatchNoSelector from './batch-no-selector.component';
@@ -1,7 +1,7 @@
1
1
  import { ComboBox, InlineNotification, SkeletonText } from '@carbon/react';
2
2
  import React, { useMemo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
4
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
5
5
  import { useStockItem } from '../../../stock-items/stock-items.resource';
6
6
 
7
7
  interface QtyUomSelectorProps {
@@ -2,10 +2,10 @@ import { ClickableTile, Search } from '@carbon/react';
2
2
  import { useConfig, useDebounce } from '@openmrs/esm-framework';
3
3
  import React, { useCallback, useEffect, useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
- import { StockItemDTO } from '../../../core/api/types/stockItem/StockItem';
5
+ import { type StockItemDTO } from '../../../core/api/types/stockItem/StockItem';
6
6
  import { useFilterableStockItems } from '../hooks/useFilterableStockItems';
7
7
  import styles from './input-components-styles.scss';
8
- import { ConfigObject } from '../../../config-schema';
8
+ import { type ConfigObject } from '../../../config-schema';
9
9
 
10
10
  type StockItemSearchProps = {
11
11
  onSelectedItem?: (stockItem: StockItemDTO) => void;
@@ -3,8 +3,8 @@ import { useConfig } from '@openmrs/esm-framework';
3
3
  import React from 'react';
4
4
  import { Controller, useFormContext } from 'react-hook-form';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { ConfigObject } from '../../../config-schema';
7
- import { Concept } from '../../../core/api/types/concept/Concept';
6
+ import { type ConfigObject } from '../../../config-schema';
7
+ import { type Concept } from '../../../core/api/types/concept/Concept';
8
8
  import { useConcept } from '../../../stock-lookups/stock-lookups.resource';
9
9
 
10
10
  const StockOperationReasonSelector = () => {