@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
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
3
  import userEvent from '@testing-library/user-event';
4
4
  import AddEditStockItem from './add-stock-item.component';
5
- import { StockItemDTO } from '../../core/api/types/stockItem/StockItem';
5
+ import { type StockItemDTO } from '../../core/api/types/stockItem/StockItem';
6
6
 
7
7
  // Mock components
8
8
  jest.mock('react-i18next', () => ({
@@ -22,8 +22,8 @@ jest.mock('@carbon/react/icons', () => ({
22
22
  Save: () => <div>Save Icon</div>,
23
23
  }));
24
24
 
25
- jest.mock('./stock-item-details/stock-item-details.component', () => ({ model }) => (
26
- <div data-testid="stock-item-details">Stock Item Details: {model.uuid}</div>
25
+ jest.mock('./stock-item-details/stock-item-details.component', () => ({ stockItem }) => (
26
+ <div data-testid="stock-item-details">Stock Item Details: {stockItem?.uuid}</div>
27
27
  ));
28
28
 
29
29
  jest.mock('./packaging-units/packaging-units.component', () => ({ stockItemUuid }) => (
@@ -120,14 +120,14 @@ describe('AddEditStockItem', () => {
120
120
  };
121
121
 
122
122
  it('renders correctly with initial state and default selected tab', () => {
123
- render(<AddEditStockItem model={mockModel} />);
123
+ render(<AddEditStockItem stockItem={mockModel} />);
124
124
  expect(screen.getByTestId('stock-item-details')).toBeInTheDocument();
125
125
  expect(screen.getByText('Stock Item Details: test-uuid-123')).toBeInTheDocument();
126
126
  });
127
127
 
128
128
  it('changes selected tab when clicking on different tabs', async () => {
129
129
  const user = userEvent.setup();
130
- render(<AddEditStockItem model={mockModel} isEditing={true} />);
130
+ render(<AddEditStockItem stockItem={mockModel} />);
131
131
 
132
132
  await user.click(screen.getByText('packagingUnits'));
133
133
  expect(screen.getByTestId('packaging-units')).toBeInTheDocument();
@@ -139,7 +139,7 @@ describe('AddEditStockItem', () => {
139
139
  });
140
140
 
141
141
  it('disables tabs when isEditing is false', () => {
142
- render(<AddEditStockItem model={mockModel} isEditing={false} />);
142
+ render(<AddEditStockItem />);
143
143
 
144
144
  const disabledTabs = [
145
145
  'packagingUnits',
@@ -150,13 +150,13 @@ describe('AddEditStockItem', () => {
150
150
  'references',
151
151
  ];
152
152
  disabledTabs.forEach((tabName) => {
153
- const tab = screen.getByRole('tab', { name: tabName });
153
+ const tab = screen.getByRole('button', { name: tabName });
154
154
  expect(tab).toHaveAttribute('aria-disabled', 'true');
155
155
  });
156
156
  });
157
157
 
158
158
  it('enables tabs when isEditing is true', () => {
159
- render(<AddEditStockItem model={mockModel} isEditing={true} />);
159
+ render(<AddEditStockItem stockItem={mockModel} />);
160
160
 
161
161
  const enabledTabs = [
162
162
  'packagingUnits',
@@ -167,14 +167,14 @@ describe('AddEditStockItem', () => {
167
167
  'references',
168
168
  ];
169
169
  enabledTabs.forEach((tabName) => {
170
- const tab = screen.getByRole('tab', { name: tabName });
171
- expect(tab).not.toHaveAttribute('aria-disabled', 'true');
170
+ const tab = screen.getByRole('button', { name: tabName });
171
+ expect(tab).toHaveAttribute('aria-disabled', 'false');
172
172
  });
173
173
  });
174
174
 
175
175
  it('renders correct components based on model prop', async () => {
176
176
  const user = userEvent.setup();
177
- render(<AddEditStockItem model={mockModel} isEditing={true} />);
177
+ render(<AddEditStockItem stockItem={mockModel} />);
178
178
 
179
179
  expect(screen.getByText('Stock Item Details: test-uuid-123')).toBeInTheDocument();
180
180
 
@@ -198,7 +198,7 @@ describe('AddEditStockItem', () => {
198
198
  });
199
199
 
200
200
  it('translates tab names correctly', () => {
201
- render(<AddEditStockItem model={mockModel} />);
201
+ render(<AddEditStockItem stockItem={mockModel} />);
202
202
 
203
203
  const tabNames = [
204
204
  'stockItemDetails',
@@ -1,6 +1,6 @@
1
- import React, { ReactNode } from 'react';
1
+ import React, { type ReactNode } from 'react';
2
2
  import { ComboBox } from '@carbon/react';
3
- import { Control, Controller, FieldValues } from 'react-hook-form';
3
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { useStockTagLocations } from '../../../../stock-lookups/stock-lookups.resource';
6
6
 
@@ -7,7 +7,7 @@ import styles from '../../stock-items-table.scss';
7
7
  import { useStockItemBatchInformationHook } from './batch-information.resource';
8
8
  import BatchInformationLocationsFilter from './batch-information-locations/batch-information-locations-filter.component';
9
9
  import { useForm } from 'react-hook-form';
10
- import { StockItemInventoryFilter } from '../../stock-items.resource';
10
+ import { type StockItemInventoryFilter } from '../../stock-items.resource';
11
11
 
12
12
  interface BatchInformationProps {
13
13
  onSubmit?: () => void;
@@ -1,6 +1,6 @@
1
1
  import { ResourceRepresentation } from '../../../core/api/api';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
- import { StockItemInventoryFilter, useStockItemInventory } from '../../stock-items.resource';
3
+ import { type StockItemInventoryFilter, useStockItemInventory } from '../../stock-items.resource';
4
4
 
5
5
  export function useStockItemBatchInformationHook(filter?: StockItemInventoryFilter) {
6
6
  const [stockItemFilter, setStockItemFilter] = useState<StockItemInventoryFilter>({
@@ -1,6 +1,6 @@
1
- import React, { ReactNode, useMemo, useState } from 'react';
2
- import { Concept } from '../../../core/api/types/concept/Concept';
3
- import { Control, Controller, FieldValues } from 'react-hook-form';
1
+ import React, { type ReactNode, useMemo, useState } from 'react';
2
+ import { type Concept } from '../../../core/api/types/concept/Concept';
3
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
4
4
  import { useConcepts } from '../../../stock-lookups/stock-lookups.resource';
5
5
  import { ComboBox, TextInputSkeleton } from '@carbon/react';
6
6
 
@@ -1,6 +1,6 @@
1
- import React, { ReactNode, useMemo, useState } from 'react';
2
- import { Control, Controller, FieldValues } from 'react-hook-form';
3
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
1
+ import React, { type ReactNode, useMemo, useState } from 'react';
2
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
3
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
4
4
  import { ComboBox, SelectSkeleton } from '@carbon/react';
5
5
 
6
6
  interface DispensingPackageMeasurementProps<T> {
@@ -1,8 +1,8 @@
1
- import React, { ReactNode } from 'react';
1
+ import React, { type ReactNode } from 'react';
2
2
  import { ComboBox, TextInputSkeleton } from '@carbon/react';
3
3
  import { useConcept } from '../../../stock-lookups/stock-lookups.resource';
4
- import { Concept } from '../../../core/api/types/concept/Concept';
5
- import { Control, Controller, FieldValues } from 'react-hook-form';
4
+ import { type Concept } from '../../../core/api/types/concept/Concept';
5
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
6
6
  import { type ConfigObject } from '../../../config-schema';
7
7
  import { useConfig } from '@openmrs/esm-framework';
8
8
 
@@ -1,8 +1,8 @@
1
- import React, { ReactNode, useState } from 'react';
1
+ import React, { type ReactNode, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { ComboBox, InlineLoading } from '@carbon/react';
4
- import { Drug } from '../../../core/api/types/concept/Drug';
5
- import { Control, Controller, FieldValues } from 'react-hook-form';
4
+ import { type Drug } from '../../../core/api/types/concept/Drug';
5
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
6
6
  import { useDrugsHook } from './drug-selector.resource';
7
7
  import { fetchStockItem } from '../../stock-items.resource';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { ResourceRepresentation } from '../../../core/api/api';
2
- import { DrugFilterCriteria, useDrugs } from '../../../stock-lookups/stock-lookups.resource';
2
+ import { type DrugFilterCriteria, useDrugs } from '../../../stock-lookups/stock-lookups.resource';
3
3
 
4
4
  export function useDrugsHook(searchTerm?: string, filter?: DrugFilterCriteria) {
5
5
  const defaultFilters: DrugFilterCriteria = {
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
2
2
  import { Button } from '@carbon/react';
3
3
  import { TrashCan } from '@carbon/react/icons';
4
4
  import { showModal } from '@openmrs/esm-framework';
5
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
5
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
6
6
 
7
7
  interface DeleteModalButtonProps {
8
8
  row?: StockItemPackagingUOMDTO;
@@ -4,7 +4,7 @@ import { Button, ModalHeader, ModalBody, ModalFooter, TextArea } from '@carbon/r
4
4
  import { deleteStockItemPackagingUnit } from '../../stock-items.resource';
5
5
  import { useStockItemPackageUnitsHook } from './packaging-units.resource';
6
6
  import { useTranslation } from 'react-i18next';
7
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
7
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
8
8
 
9
9
  import styles from '../packaging-units/packaging-units.scss';
10
10
 
@@ -1,7 +1,3 @@
1
- import React, { useEffect, useMemo, useState } from 'react';
2
- import { showSnackbar, restBaseUrl } from '@openmrs/esm-framework';
3
- import { useTranslation } from 'react-i18next';
4
- import { useStockItemPackageUnitsHook } from './packaging-units.resource';
5
1
  import {
6
2
  Button,
7
3
  DataTable,
@@ -14,19 +10,22 @@ import {
14
10
  TableHeader,
15
11
  TableRow,
16
12
  } from '@carbon/react';
17
- import PackagingUnitsConceptSelector from '../packaging-units-concept-selector/packaging-units-concept-selector.component';
18
- import ControlledNumberInput from '../../../core/components/carbon/controlled-number-input/controlled-number-input.component';
19
13
  import { Save } from '@carbon/react/icons';
20
- import { FormProvider, useForm, useFormContext } from 'react-hook-form';
21
14
  import { zodResolver } from '@hookform/resolvers/zod';
22
- import { PackageUnitFormData, packageUnitSchema } from './validationSchema';
23
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
15
+ import { restBaseUrl, showSnackbar } from '@openmrs/esm-framework';
16
+ import React, { useEffect, useMemo, useState } from 'react';
17
+ import { FormProvider, useForm, useFormContext } from 'react-hook-form';
18
+ import { useTranslation } from 'react-i18next';
19
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
20
+ import ControlledNumberInput from '../../../core/components/carbon/controlled-number-input/controlled-number-input.component';
21
+ import { handleMutate } from '../../../utils';
24
22
  import { createStockItemPackagingUnit, updateStockItemPackagingUnit } from '../../stock-items.resource';
23
+ import PackagingUnitsConceptSelector from '../packaging-units-concept-selector/packaging-units-concept-selector.component';
25
24
  import DeleteModalButton from './packaging-units-delete-modal-button.component';
26
- import { handleMutate } from '../../../utils';
25
+ import { useStockItemPackageUnitsHook } from './packaging-units.resource';
26
+ import { type PackageUnitFormData, packageUnitSchema } from './validationSchema';
27
27
 
28
28
  import styles from './packaging-units.scss';
29
- import { closeOverlay } from '../../../core/components/overlay/hook';
30
29
 
31
30
  interface PackagingUnitsProps {
32
31
  isEditing?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { ResourceRepresentation } from '../../../core/api/api';
2
2
  import { useEffect, useState } from 'react';
3
- import { StockItemInventoryFilter, useStockItemPackagingUOMs } from '../../stock-items.resource';
3
+ import { type StockItemInventoryFilter, useStockItemPackagingUOMs } from '../../stock-items.resource';
4
4
 
5
5
  export function useStockItemPackageUnitsHook(v?: ResourceRepresentation) {
6
6
  const [stockItemFilter, setStockItemFilter] = useState<StockItemInventoryFilter>({
@@ -24,7 +24,7 @@ export function useStockItemPackageUnitsHook(v?: ResourceRepresentation) {
24
24
  const { items, isLoading, error, mutate } = useStockItemPackagingUOMs(stockItemFilter);
25
25
 
26
26
  return {
27
- items: items.results,
27
+ items: items.results ?? [],
28
28
  totalCount: items.totalCount,
29
29
  isLoading,
30
30
  error,
@@ -1,9 +1,9 @@
1
- import React, { ReactNode } from 'react';
2
- import { Concept } from '../../../core/api/types/concept/Concept';
3
- import { Control, Controller, FieldValues } from 'react-hook-form';
1
+ import React, { type ReactNode } from 'react';
2
+ import { type Concept } from '../../../core/api/types/concept/Concept';
3
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
4
4
  import { useConcept } from '../../../stock-lookups/stock-lookups.resource';
5
5
  import { ComboBox, TextInputSkeleton } from '@carbon/react';
6
- import { StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
6
+ import { type StockItemPackagingUOMDTO } from '../../../core/api/types/stockItem/StockItemPackagingUOM';
7
7
  import { useConfig } from '@openmrs/esm-framework';
8
8
  import { type ConfigObject } from '../../../config-schema';
9
9
 
@@ -1,10 +1,10 @@
1
- import React, { ReactNode } from 'react';
2
- import { Concept } from '../../../core/api/types/concept/Concept';
3
- import { Control, Controller, FieldValues } from 'react-hook-form';
1
+ import React, { type ReactNode } from 'react';
2
+ import { type Concept } from '../../../core/api/types/concept/Concept';
3
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
4
4
  import { ComboBox, TextInputSkeleton } from '@carbon/react';
5
5
  import { useStockSources } from '../../../stock-sources/stock-sources.resource';
6
6
  import { ResourceRepresentation } from '../../../core/api/api';
7
- import { StockSource } from '../../../core/api/types/stockOperation/StockSource';
7
+ import { type StockSource } from '../../../core/api/types/stockOperation/StockSource';
8
8
 
9
9
  interface PreferredVendorSelectorProps<T> {
10
10
  preferredVendorUuid?: string;
@@ -1,6 +1,6 @@
1
1
  import { ResourceRepresentation } from '../../../core/api/api';
2
2
  import { useEffect, useState } from 'react';
3
- import { StockItemInventoryFilter, useStockItemInventory } from '../../stock-items.resource';
3
+ import { type StockItemInventoryFilter, useStockItemInventory } from '../../stock-items.resource';
4
4
 
5
5
  export function useStockItemQuantitiesHook(v?: ResourceRepresentation) {
6
6
  const [stockItemFilter, setStockItemFilter] = useState<StockItemInventoryFilter>({
@@ -1,6 +1,6 @@
1
- import React, { ReactNode } from 'react';
2
- import { Control, Controller, FieldValues } from 'react-hook-form';
3
- import { Concept } from '../../../core/api/types/concept/Concept';
1
+ import React, { type ReactNode } from 'react';
2
+ import { type Control, Controller, type FieldValues } from 'react-hook-form';
3
+ import { type Concept } from '../../../core/api/types/concept/Concept';
4
4
  import { ComboBox, TextInputSkeleton } from '@carbon/react';
5
5
  import { useConcept } from '../../../stock-lookups/stock-lookups.resource';
6
6
  import { type ConfigObject } from '../../../config-schema';